Lagring af audio !?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Danish to

Threaded View
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




Re: Lagring af audio !?
tech.dk says...
Quoted text here. Click to load it

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

We've slightly trimmed the long signature. Click to see the full one.

Site Timeline