Fórum témák
» Több friss téma |
Fórum » Digitális hangrögzítés (delay)
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?
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!!!!
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
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????
É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
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.
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
A DAC0800 típusú IC ilyen átalakító?
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]
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.
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.
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)
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.
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
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.
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...)
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:
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).
16F84 -hez akkor AD is kell,ha azzal akarom csinalni?
(de lehet hogy AVR -el csinalom,csak ott ul az F84...)
Igen kell hozzá, hogyha PIC el akarsz hangot felvenni.
Arra gondoltam,hogy van nehany 486 -bol kiszedett RAMom,nem lehetne egyet 8 MB -st felhasznalni memorianak?
Bonyolult a cimzese?
Milyen memoriat tudtok ajanlani AVR-hez?Kellene legalabb 32-64 kb.
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.
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..
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.
Igen effekt processzort szeretnek.
AVR -re gondoltam,konnyebb az AD atalakitas.Csak kellene egy memoria es egy DA atalakito ..
Szoval szeretnek egy picit jatszani hang AD/DA atalakitassal,es ezt egy effekt formajaban szeretnem majd 'veglegesiteni'.
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.
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...
|
Bejelentkezés
Hirdetés |