Lagring af audio !?

Hej !

Jeg kunne godt tænke mig at bygge en enhed der kan gemme et lyd signal dette er via en multiplexor enten to LINE kanaler eller en enkelt MIC kanal.

tanken var at køre dette ind i en 2MSPS ADC gemme det på en harddisk eller CF kort og have mulighed for afspilning via en DAC.

Fil formater o.l. er uden betydning da der her kun er tale om at lagre rå data fra ADC'en og gengive dem igen.

Det specielle er at jeg har et ude frakommende synkroniserings signal (TTL niveau) som toggler med et par Hz. dette signal skal lagres sammen med lyden men ikke oveni lyden.

Det skal være muligt at afspille lyden via en DAC og få mit synkroniserings signal ud på en transistor udgang.

For at gøre det "nemt" for mig selv tænkte jeg på at smide LSB fra min ADC væk og istedet indsætte mit sync signal her. og ved afspilning kobler jeg bare min DAC's LSB permanent til stel. og sætter LSB fra mit lagringsmedie til at toggle transistor outputtet.

Så langt så godt.

Problemet opstår i at jeg vil optage 16 bit stereo 44.1KHz (selvfølgelig vil kun 15 bit være realiseret da jeg smider LSB væk) men dette giver stadigvæk en data rate på 172KB/ps.

Min ADC har kun 1 kanal så der skal anvendes 2 af dem. Derfor skal jeg så skiftevis læse 16 bit data ud fra med 88.2KHz for at opnå

44.1KHz lyd.

Jeg syntes at der er tale om en voldsom data mængde og det skal jo gå hamrende hurtigt og jeg er temmelig sikker på at en lille ATMEL ATm128 ved

16MHz aldrig vil kunne klare de data mængder for ikke nok med at den skal læse 32bit data ud hvert 44.1KHz den skal jo også styre en harddisk's ATA interface og gemme det igen.

Så er det nok her folk vil begynde at omtale MP3 enkodere/dekodere m.v. men projektet er lidt specielt for jeg skal have mulighed for at flytte rundt på lyden i blokke hvis vi forstiller os lyden i den ene kanal set her:

LSB MSB

1010101010101010 1010101010101010 1010101010101010 1010101010101010 1010101010101010 1010101010101010 1010101010101010 0010101010101010 0010101010101010 0010101010101010 0010101010101010 0010101010101010 0010101010101010 0010101010101010

Husk på SYNC signalet ligger på LSB så her ser vi faktisk et toggle på SYNC signalet ovenfor !

det er så sådan en blok altså hele perioden hvor SYNC er aktivt jeg vil kunne gå ind og flytte et andet sted hen på mit lager medie for så at samle det med noget andet lyd.

Derfor vil jeg mene at jeg ikke kan anvende en MP3 enhed da jeg så mister begrebet om hvor SYNC er i verden og jeg skal til at bryde min hjerne om hvordan formatet virker !?

Ideen er at jeg skal kunne søge på den stigende flanke af SYNC i mit lyd. Finde feks lyden der starter ved SYNC puls nr 30 og kopiere lyden her fra og

40 pulser frem til et andet sted på mit lager medie.

Jeg kan sagtens se det for mig i software hvordan det skal gøres mit problem er at jeg ikke kan håndtere de vilde data mængder så jeg ville gerne have nogle bud på hvad jeg kan gøre ?

Umildbart tænkte jeg på at anvende et audio CODEC her kunne man med fordel finde noget der havde LINE+MIC input, ADC samt DAC indebygget men sådan et har I2S output og jeg aner ikke hvordan jeg skal lagre det på en HDD/CF kort eller igen få mit SYNC med ind i lyden.

Det er udelukket af modulere SYNC ind i lyden da der er tale om audio og mine egne kundskaber tillader desværre ikke DSP'ere.

Men ARM, AVR o.l. samt alverdens perifere kredse (codecs m.v) og ideer modtages med kyshånd !

Er der nogen der har nogle inputs for jeg er helt blank. :/

M.v.h. Lasse Madsen

Reply to
Lasse Madsen
Loading thread data ...

Så kig på noget ARM/STrongARM. ARM2 kan gøre det, men jeg ved ikke om den stadig kan købes.

--
Med venlig hilsen/best regards
Jesper G. Poulsen

http://www.netmeister.org/news/learn2quote2.html
Reply to
Jesper G. Poulsen

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.