Fórum témák

» Több friss téma
Fórum » Digitális hangrögzítés (delay)
Lapozás: OK   1 / 2
(#) gtk hozzászólása Júl 4, 2006 /
 
Sziasztok!
Mivel meg mindig furora varok es nem haladok az EPROMos cuccal,igy egyik regi almom felszinre kerult.
Egy delay(hangismetlo;viszhang -t szeretnek epiteni,PIC v. AVR -el.
Amit kellene tudjon:

N idotartamu hangot digitalizalni es rogziteni(mondjuk maz 10sec eleg)
A rogzitett hangbol X meretu reszt ismetelten jatszani T ideig.

Hol kezdjem?

En ugy gondoltam ,hogy kell hozza egy AD es DA atalakito(mintha az AVR -ekben lattam volna(?)) ,meg memoria,meg egy proci.De hogyan tovabb?
(#) rwtop válasza gtk hozzászólására (») Júl 4, 2006 /
 
Mibe szeretnéd felhasználni???ha nem titok.eprom jó lenne memóroának 64kb os vagy nagyobb!erre írni kell egy progit!kell egy digitális erősítő.KApcsolasi rajzom nincs de meg lehet oldani!!!A feljátszáj időtartama fog függeni a procitól és az eprom/pic kapacitásától!vagy megpróbálhatod megoldani úgy:ha van régi diktafonod azt átalakítod a lejátszás gombhoz épótesz egy megszakító áramkört!!a memóriás diktafonok jobbak´,és még tehetsz rá valami funkciót is,mert a diktafonon minimum 16mb van!!!a diktafon hoz a play funkcióhoz teszel egy időzítőt és ismétli magától a lejátszási funkciókat.555 időzítővel meg lehet oldani,vsga tranyós formában is úgy mint a led villogtásnál!!!!!az egyik oldalon marad a led a másikra pedig bekötöd a diktafon érintkezési pontjaita play gombnál!!így a legegyszerűbb!!!!
(#) gtk válasza rwtop hozzászólására (») Júl 4, 2006 /
 
Szia!

De nincs diktafonom
Ugy gondoltam hogy lenne egy 471 mikrofon erosito,aztan a hangot digitalizalna egy AD(DE MILYEN?),a digi jel menne AVR v PIC -be,onnan memoriaba ,a PIC szabna meg hogy mennyi ideig rogzit,hogy mennyit tarolok .
Visszajatszaskor meg DA alakitana vissza a rogzitett jelet, PIC vegezne mondjuk a memoria cimzest.

Meg az is kellene hogy potikkal tudjam allitani a rogzites idot,meg a rogzitett hang visszajatszast,hogy hanyszor jatsza vissza,u.hogy kozben halkul.

EPROM nem igazan jo,inkabb EE akkor is,vagy valami mas konnyen kezelheto,minel nagyobb es olcsobb

Szoval ez igy mar egy jo hangeffekt lenne
(#) rwtop válasza gtk hozzászólására (») Júl 4, 2006 /
 
Az úgy jó lenne!!de ha hangszórónak 3 sávosnak kell lennie vagy pedig 22kOhm osnak!mert a mikrofon erősítőről a kijövő jel 22k ohm!!!
vagy tégy egy ellen9alást sorba a hangszóróval!Az ötleted jó!!!!!de potival nem bizti hogy meg tudod oldani a felj .idő hoszát!!mert akkor a picet kellene átírnod!nem akarlak szomorúvá tenni de ez van.de mibe kellene????
(#) MaSTeRFoXX válasza gtk hozzászólására (») Júl 4, 2006 /
 
Én egyszer zenés ébresztőórát akartam csinálni valahogy így épült volna fel:
felvétel:
mikrofon->előerősítő>AD konverter az AVRben->memória (Atmel gyártmányú DataFlash (16mbit))
lejátszás:
AVR->DA (elenállásokból R-2R)->hangerőszabályozó->LM386 végfok

Ha megépítettem volna, akkor akár meg lehetett volna csinálni azt is hogy, minden órában elmondja szóban a pontos időt
(#) jon@ válasza MaSTeRFoXX hozzászólására (») Júl 4, 2006 /
 
Sziasztok!

Itt van egyAppNote. Ebben PWM el oldották meg a D/A átalakítást. Egy másik oldalon meg 2 ellenállás meg két kondit használtak a PWM szűrésére és úgy ment az LM386 ra a jel. Pontosan mi az összefüggés az átalakított analóg jel és a kitöltési tényező között? Ezt még nem sikerült kihámozni ezekből.
(#) MaSTeRFoXX válasza jon@ hozzászólására (») Júl 4, 2006 /
 
Igen, pont ezek alapján indultam ki, de a PWM-nél elakadtam. Ezért maradt az R2R-es DA konverter, ez átgondolható, kiszámolható, meg alig van zaja. A PWM-nél elég komoly zajszűrés van a kapcsolási rajzban
Itt van egy link, ahol ki is lehet próbálni a kapcsolókra kattintással
(#) jon@ válasza MaSTeRFoXX hozzászólására (») Júl 4, 2006 /
 
A DAC0800 típusú IC ilyen átalakító?
(#) MaSTeRFoXX válasza jon@ hozzászólására (») Júl 4, 2006 /
 
Igen valami DA átalakító, de hogy te feszültséget kapj a kimenmetén ahhoz rá kell rakni még valamit. Az adatlapja segít ebben
[link=http://www.jaycar.com.au/images_uploaded/DAC0800.PDF]http://www.jaycar.com.au/images_uploaded/DAC0800.PDF[/link]
(#) Gory válasza jon@ hozzászólására (») Júl 5, 2006 /
 
Szerintem is egy R-2R ellenáláslétrával jössz ki legegyszerűbben. Kivéve ha audió minőséget akarsz, de ahhoz elég kevés lesz egy mikrokontroller. A Chipcad honlapján találsz I2C DAC átalakítókat is meg SPI buszosat is. Ha jól emlékszem én vettem tőlük valamilyet régen.
(#) gtk válasza MaSTeRFoXX hozzászólására (») Júl 5, 2006 /
 
Ez igy audio minosigu hangot adna?
Mi az a R2R ?(ellenallasokbol?)
Az AVR-be egy AD labon megy az analog jel(hang)?
Hany bites kodolast csinal,hogy van ez?

Picit fejtsd ki legyszives.
(#) MaSTeRFoXX válasza gtk hozzászólására (») Júl 5, 2006 /
 
Hát, hogy milyen hangot adna, azt úgy tudod kideríteni, hogy mondjuk egy mp3-mat átraksz wav-ba, megnyitod hangrögzítővel, átrakod 8bitre, és mondjuk 8 kHz-re. Nem a legjobb , ilyen hangot adna az az áramkör amit jon@ linkelt be.
Ez a 8 kHz-es mintavételezési sebességet mondjuk fel lehet tornázni szerintem 16, esetleg 22KHz-re, de ebben az esetben sokkal kevesebb hang fér el a memóriában.
R2R, az egy elég primitív digitál-analóg átalakító, a (#31258) hozzászólásomban van is egy link.
Az AVR-be az egyik AD átalakító lábon menne be a jel, ott az fogadná, és mivel 10bites az átalakító, ezért le kell korlátozni 8 bitre. A 8 bitet meg be lehet írni a memóriába. Aminek a kezelését meg meg kell tanulni (idáig már nem jutottam el).
A programba persze bele kell rakni megfelelő hosszúságú késleltetést, hogy megfelelő legyen a mintavételezési sebesség.
Kiolvasásnál egyszerűen léptetni kell a memória címeket(meg persze a megfelelő parancsokat küldeni neki), és a memóriából jövö adatot egyszerűen rá kell küldeni az R2R hálózatra, ahol a kimeneten megkapod a hangot .
Nem egyszerű...
De ha működne ez az egész cucc, akkor össze lehetne kötni PC-vel is akár, oda írni egy programot ami átrakja a wav fájlt egy rakat számmá, és ezeket meg át kellene küldeni a memóiába, mondjuk soros porton .
Azért maradt abba ez a project, mert a fejlesztés közben jó ha van egy oszcilloszkóp a kéznél, hogy tudd egyáltalán hogy mit ad ki magából az áramkör, és nekem meg nincs oszcilloszkópom. (Most készül)
(#) Gory válasza MaSTeRFoXX hozzászólására (») Júl 5, 2006 /
 
Hello!

Én történetesen csináltam már ilyen hanglejátszást PIC-el meg R-2R létrával. Én úgy csináltam hogy PC-re írtam egy programot, ami a wav fájlból kinyeri nekem a bináris adatokat, ezt (egy tömörítési eljárás után) beírtam egyenesen egy I2C eepromba. A lejátszás az volt hogy a PIC elővette az emmpromból a megfelő bájtot és kitette egy 8 bites portra, amin a DAC volt. A lejátszás sebessége igazából attól függ, hogy milyen frekvencián jár a PIC és hogy hány utasításból tudod a komplett bájtot előszedni a memóriából és kitenni a portra. (Persze még ilyeneket is be lehet állítani hogy hány bájtot játsszon le stb... ezekhez még számlálókat kell beleírni) Én ha jól emlékszem 4mhz-es 16F84A-t használtam, és 64 utasítás kelett ( a kitömörítéssel együtt). Ebből ki lehet számolni hogy 1Mhz/64Hz=15,625 Khz volt a frekvencia. (A lejátszandó hangot PC-n WavLabbal alakítottam át a megfelelő mono, 8 bites 15,625Khz-es mintavételi frekvenciájúvá). A timer számlálóját használtam ehhez, és addig várt a rutin míg az 64-re váltott vagyis így volt szinkronizálva az egész, így tudtam elérni hogy pontosan tegye ki a mintákat a portra. Egyébként a beszédszintetizátor topicban van egy link valami www.romanblack.com vagy micsoda. Ott van forráskód ehhez, én azt alakítottam át, meg saját PC-s szoftvert írtam.
(#) gtk válasza MaSTeRFoXX hozzászólására (») Júl 5, 2006 /
 
Igy mar vilagosabb szamomra is.
Jol el leszek vele egy ideig, az biztos. egyelore nem fogok neki,a masik projectet kell befejezzem .
Ha valami otletetek meg tamad kerlek irjatok le.

Idézet:

..jó ha van egy oszcilloszkóp a kéznél,...

Bizony,es sajna nekem sincs
(#) gtk válasza Gory hozzászólására (») Júl 5, 2006 /
 
R-2R -re en ezt talaltam: Link
(#) jon@ válasza Gory hozzászólására (») Júl 5, 2006 /
 
Pedig én már úgy beleéltem magam hogy ez a PWM es megoldás működne, egyszerűnek tűnt. Pedig nem igazán értek az analóg dolgokhoz meg a hangtechnikához(egyszer majd beletanulok). Szóval én így okoskodtam: Ha 20 kHz es PWM et használok akkor a pl. 200 as A/D eredmény ami 0,97 V nak felel meg, ez lesz az érték ami a kitöltési tényezőt is meghatározza. Ez 20 MHz es kvarc esetén és ha a Timer2 előosztó nélkül van akkor 10 us ideig lesz a jel magasan az 50 us ból, így a jel középértéke 1 V-ra jön ki. Ha van egy 30 kOhmos ellenállásból és egy 662 pF kondiból álló aluláteresztő szűrőm akkor 5RC=99,3 us idő alatt töltődik a kondi gyakorlatilag a PWM jel középértékére. Ha 8kHz en akarom visszajátszani a hangot akkor van 125 us arra, hogy a kondi elérje a megfelelő feszültséget. Ez itt teljesül, és a 8 KHz feletti jeleket nem engedi át. Ez alapján az oldal alapján raktam össze egy kapcsolást:link
Bár a PWM re csak az RC szűrőt raktam meg az hozzá tartozó műveleti erősítőt. Más kapcsolási rajzok szerint amiket láttam ott ennyi is elég volt. A mikrofonhoz meg összeraktam az egész erősítőt ami ott van.
Szóval csak sistereg a hangszóró. Az elgondolásom Szerintetek jó? Megnéztem a Chipcad árlistáját úgyhogy azt hiszem veszek egy DAC IC t.
(#) vicsys válasza gtk hozzászólására (») Júl 5, 2006 /
 
R2R a lap közepén az ellenállás hálózat...
a képen zézd csak az ellenállások értékét...
(pl.:R=10K akkor 2R=20K...)

r2r.gif
    
(#) gtk válasza vicsys hozzászólására (») Júl 6, 2006 /
 
Ezt az ellenallas halozatot ra kell kotni a 8 bites kimenetre,vagy hogy van ez?

Gory: Hogy csinaltad PIC-el a hang digitalizalast?

nagyon rossz netem van...:rinya:
(#) Gory válasza gtk hozzászólására (») Júl 6, 2006 /
 
Sehogy, számítógéppel csináltam. Felvettem wav-ba, átalakítottam 8bit mono 15,625Khz-re. Ezután pedig a felesleges bájtok nélkül beleírtam egy eepromba 24FC256-ba. (A másik változatnál meg egy BTC tömörítést csináltam és azt írtama az eepromba, amint már írtam az előző hozzászólásomban).
(#) gtk válasza Gory hozzászólására (») Júl 7, 2006 /
 
16F84 -hez akkor AD is kell,ha azzal akarom csinalni?
(de lehet hogy AVR -el csinalom,csak ott ul az F84...)
(#) jon@ válasza gtk hozzászólására (») Júl 7, 2006 /
 
Igen kell hozzá, hogyha PIC el akarsz hangot felvenni.
(#) gtk válasza jon@ hozzászólására (») Júl 8, 2006 /
 
Arra gondoltam,hogy van nehany 486 -bol kiszedett RAMom,nem lehetne egyet 8 MB -st felhasznalni memorianak?
Bonyolult a cimzese?
(#) gtk válasza MaSTeRFoXX hozzászólására (») Júl 9, 2006 /
 
Milyen memoriat tudtok ajanlani AVR-hez?Kellene legalabb 32-64 kb.
(#) Gory válasza gtk hozzászólására (») Júl 9, 2006 /
 
Helló!
32Kbájt vagy kbit kell? Milyen sebesség? Mert pl tudsz venni 24FC256 vagy nagyobb I2C eepromot, ami a gyorsabbik változat. Vagy vehetsz valami 62256 vagy hasonló gyors SRAM-ot, csak azt bonyolultabb lesz kezelni, valami számláló kell a címzéséhez, vagy rengeteg I/O port.
(#) gtk válasza Gory hozzászólására (») Júl 9, 2006 /
 
Hello!

Kbyte kellMegnezem az altalad ajanlott ic- k adatlapjait.
En ugy szamoltam,hogy 8 bit 16 khz -es digitalizalasnal 64 kbyte memoriaban 4 sec hang ferne el.Nem tul sokMondjuk delay effektnek eleg..
(#) Gory válasza gtk hozzászólására (») Júl 9, 2006 /
 
Igazából ha a delay efektet te valós időben akarod csinálni? Tehát valami effekt processzort szeretnél? Mert egy PIC-el meg 16Khz 8 bittel nem lesz valami tuti a hangzása.
(#) gtk válasza Gory hozzászólására (») Júl 10, 2006 /
 
Igen effekt processzort szeretnek.
AVR -re gondoltam,konnyebb az AD atalakitas.Csak kellene egy memoria es egy DA atalakito ..
(#) gtk válasza gtk hozzászólására (») Júl 10, 2006 /
 
Szoval szeretnek egy picit jatszani hang AD/DA atalakitassal,es ezt egy effekt formajaban szeretnem majd 'veglegesiteni'.
(#) Gory válasza gtk hozzászólására (») Júl 10, 2006 /
 
Amúgy az ilyesmit szerintem DSP-vel szokták megoldani, mert a PIC teljesítménye elég kicsi. Vagy analóg módon, pl a gitár effekteknél.
(#) Ictboy válasza Gory hozzászólására (») Júl 10, 2006 / 4
 
Hát ja, ehhez a PIC szerintem kevés. Ha számolunk egy kicsit könnyű rájönni. Ha CD minőség kell, akkor mintavételezni minimum 44.1KHz-el kell, ami másodpercenként 86.13Kbyte adatmennyiség, ha 16 bites mintát használunk és nincs tömörítés, ehhez legalább kell egy 256 vagy 512 Kbyte memória. Célszerű a bemenetet átalakítani valamilyen digitális audióra (I2S, vagy S/P-Diff) inkább I2S, az egyszerűbb, mondjuk egy UDA1352HL- lel, aztán az érkező bistorozatot letárolni egy memóriába, majd kis idő múlva ugyanezzel az ICvel visszaalakítani az I2S-t audióra... persze még meg kell oldani a gyors adatátvitelt, meg a visszhangosítást. Mondjuk egy ARM képes erre szoftverből relaltimeban is...
Következő: »»   1 / 2
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem