Kazalo:
- 1. korak: Najprej prve stvari
- 2. korak: Vnos
- 3. korak: Izhod
- 4. korak: Zdaj nekaj zvoka
- 5. korak: Druge vrste virov napetosti, druge vrste zvokov
- 6. korak: Zvonovi, bobni, činele, oskubljene godala
- Korak 7: Vse skupaj
- 8. korak: Eksponentna rampa
- 9. korak: Eksponentna rampa, uporabljena za sinusni val
- 10. korak: Predlogi
Video: Sinteza analognega zvoka v računalniku: 10 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:09
Kot zvok tistih starih analognih sintetizatorjev? Se želite igrati z njim ob svojem času, na svojem mestu, kolikor želite, BREZPLAČNO? Tu se uresničijo vaše najbolj divje sanje o Moogu. Lahko postanete elektronski snemalnik ali preprosto oddajate kul, triple zvoke, ki jih lahko poslušate v predvajalniku mp3. Vse, kar potrebujete, je računalnik! Vse je narejeno s pomočjo čarovnije brezplačnega simulatorja vezja, imenovanega LTSpice. Zdaj vem, da verjetno govorite "Joj willikers, Tyler, ne vem nič o izvajanju simulatorja vezja- to se sliši TEŽKO!". Ne skrbi, Bunky! To je enostavno in za začetek vam bom dal nekaj predlog in jih spremenil, da boste oddajali vse čudne zvoke. Niste prepričani, da je vredno truda? Tukaj je povezava do zvočne datoteke, pripravljene za predvajanje (narejena je iz "composition_1.asc" v 7. koraku te tabele), ki jo lahko preizkusite. Pretvoril sem ga iz.wav v mp3, da skrajšam čas nalaganja. https://www.rehorst.com/mrehorst/instructables/composition_1.mp3V zvoku je nekaj nizkih nizkih tonov, zato ga poslušajte s slušalkami ali dobrimi zvočniki. Če vam je všeč tisto, kar vidite, glasujte zame! Opomba: Priložil sem shematske datoteke za LTSpice, ki jih lahko zaženete v računalniku, vendar se iz nekega razloga, ko jih poskušate prenesti, spremenijo imena in razširitve. Vsebina datotek je videti v redu, zato po prenosu datotek preprosto spremenite imena in razširitve in morale bi delovati. Pravilna imena in razširitve so prikazane na ikonah, ki jih kliknete za prenos.
1. korak: Najprej prve stvari
LTSpice je program za Windows, vendar naj vas to ne razočara. V sistemu Linux v sistemu Wine deluje dobro. Sumim, da ni težav z izvajanjem v odjemalcu VMWare, VirtualBox ali drugih orodjih za virtualizacijo v sistemu Linux in verjetno tudi v računalnikih Mac. Prenesite kopijo LTSpice za Windows (uf!) Tukaj: https://www.linear.com/ designtools/software/ltspice.jsp Namestite ga. Kaj je LTSpice? To je simulator vezja v časovni domeni, ki bi ga moral vedeti vsak ljubitelj elektronike. Ne bom podrobno opisal, kako to deluje tukaj, vendar bom razložil nekaj stvari, ki jih morate vedeti, ko gremo skupaj. Eno opozorilo- zlahka je mogoče ustvariti prenizke frekvence ali previsoko, da bi slišali. Če to storite in svoje drage zvočnike poganjate z ojačevalnikom z visoko močjo, lahko svoje zvočnike/ojačevalnik preprosto razstrelite na koščke. VEDNO si oglejte valovne oblike, preden jih predvajate, in pazite, da pri prvem predvajanju datoteke omejite glasnost, da boste varni. Preden poskusite z zvočniki, je vedno dobro predvajati datoteke prek poceni slušalk.
2. korak: Vnos
Vhod v simulator je v obliki shematskega diagrama. Izberete komponente, jih postavite na shemo in jih nato povežete. Ko je vezje končano, povejte simulatorju, kako želite, da simulira vezje in kakšen izhod želite. Oglejte si shemo, imenovano uporov.asc. Videli boste, da obstaja vezje, ki vključuje vir napetosti, par uporov, označeno izhodno vozlišče, ozemljitev in besedilno ukazno vrstico. Oglejmo si vsakega posebej. Zdaj je pravi čas, da odprete datoteko vezja, povezano spodaj. MORATE imeti ozemljitev, priključeno na vsaj eno točko v vašem vezju, ali pa boste iz simulacij dobili zelo čudne rezultate. Vir napetosti: Če napenjate napetost v vezju, morate to povedati, ali je AC ali DC (ali kaj bolj zapletenega), kakšna je napetost, "notranji upor" vira itd. Te parametre lahko vnesete tako, da z desno miškino tipko kliknete kazalec na vir. Vse, kar resnično potrebujete, je upor za preproste simulacije. Upori: Upori so precej enostavni za razumevanje. Z desno tipko miške kliknite, da nastavite vrednost upora. Prezrite vse druge parametre, ki se tam skrivajo. Označena vhodna in izhodna vozlišča: samo imena vozlišč v vezju, ki so prijazna do uporabnika.- uporabite imena, kot so "output", "input" itd. Simulacijska direktiva: stavek.tran simulatorju pove, kako želite simulirati vezje. To je simulator časovne domene, kar pomeni, da analizira vezje v različnih časovnih točkah. Morate mu povedati, kakšen najdaljši časovni korak in kako dolgo naj bi simulacija potekala v "času vezja", ne v realnem času. Če simulatorju poveste, naj teče 10 sekund časa kroga, največji časovni korak pa nastavite na 0,001 sekunde, bo vezje analiziralo vsaj 10 000-krat (10 s/0,001 s), nato pa se bo ustavilo., napetost na vsakem vozlišču v vezju in tokovi v in iz vsakega vozlišča se izračunajo in shranijo v vsakem časovnem koraku. Vse te informacije bodo na voljo za prikaz na zaslonu, kot je zaslon osciloskopa (čas vodoravne osi, napetost ali tok na navpični osi. Izhod lahko pošljete tudi v zvočno datoteko.wav, ki jo lahko predvajate na računalnik, zapišite na CD ali pretvorite v mp3 za predvajanje v predvajalniku mp3. Več o tem kasneje …
3. korak: Izhod
Izhod je lahko grafični prikaz napetosti proti času, napetosti proti napetosti itd. Ali besedilna datoteka, sestavljena iz kopice napetosti ali tokov v vsakem časovnem koraku, ali zvočna datoteka.wav, v kateri bomo veliko uporabljali ta navodila. Prenesite in odprite datoteko "uporov.asc". Kliknite na simbol malega tekača (zgornji levi del zaslona) in vezje bi moralo teči. Zdaj kliknite na oznako "OUT" v vezju. Na grafičnem izhodu bo prikazana napetost z oznako "output" vzdolž vodoravne osi, ki predstavlja čas. To je napetost, izmerjena glede na ozemljitev (zato potrebujete vsaj eno maso v vsakem vezju!). To so osnove. Poskusite spremeniti eno od vrednosti upora ali napetost, nato znova zaženite simulacijo in poglejte, kaj se zgodi z izhodno napetostjo. Zdaj veste, kako zagnati simulator vezja. Lahko, kajne?
4. korak: Zdaj nekaj zvoka
Odprite vezje, imenovano "dizzy.asc". Ta je čuden ustvarjalec hrupa, ki uporablja modulator in nekaj napetostnih virov za izdelavo zvočne datoteke kakovosti CD (16 bitov, 44,1 ks / s, 2 kanala), s katero se lahko predvajate. Komponenta modulatorja je pravzaprav oscilator. Frekvenca in amplituda sta nastavljiva kot VCO in VCA v pravem analognem sintetizatorju. Oblika valov je vedno sinusna, vendar obstajajo načini, kako to spremeniti kasneje. Mejne frekvence določajo parametri oznake in prostora. Oznaka je frekvenca, ko je vhodna napetost FM 1V, prostor pa frekvenca, ko je vhodna napetost FM 0V. Izhodna frekvenca je linearna funkcija vhodne napetosti FM, zato bo frekvenca na polovici poti med oznako in prostorsko frekvenco, ko je vhodna napetost FM 0,5 V, in bo 2x frekvenca oznake, ko je vhodna napetost FM 2 V. modulator je mogoče amplitudno modulirati tudi preko AM vhodnega zatiča. Izhodna amplituda modulatorja (oscilatorja) se bo ujemala z napetostjo, ki se nanaša na vhod AM napetosti. Če uporabljate enosmerni vir z napetostjo 1, bo izhodna amplituda 1V (to pomeni, da se bo gibala med -1 in +1 V). Modulator ima dva izhoda- sinus in kosinus. Valovne oblike so popolnoma enake, le da so za 90 stopinj izven faze. To je lahko zabavno za stereo zvočne aplikacije. Obstaja izjava.tran, ki simulatorju pove največji časovni korak in trajanje simulacije. V tem primeru je čas vezja (skupni čas simulacije) = čas zvočne datoteke. To pomeni, da če simulacijo zaženete 10 sekund, boste dobili zvočno datoteko, ki je dolga 10 sekund. Stavek.save se uporablja za zmanjšanje količine podatkov, ki jih bo simulator shranil med izvajanjem simulacije. Običajno shrani napetosti na vsakem vozlišču in tokove v in iz vsake komponente. To se lahko poveča na veliko podatkov, če se vaše vezje zaplete ali izvedete dolgo simulacijo. Ko zaženete simulacijo, samo izberite eno napetost ali tok s seznama v pogovornem oknu in podatkovna datoteka (.raw) bo majhna, simulacija pa bo delovala z največjo hitrostjo. Končno izjava.wave pove simulatorju, naj ustvarite stereo zvočno datoteko kakovosti CD (16 bitov na vzorec, 44,1 ks / s, dva kanala), pri čemer napetost postavite na "OUTL" v levem kanalu in napetost na "OUTR" v desnem kanalu. Datoteka.wav je sestavljena iz 16 -bitnih vzorcev. Celoten izhod v datoteki.wav (vseh 16 bitov v vzorcu je vklopljenih) se pojavi, ko je izhodna napetost natančno +1 volt ali -1 volt. Vaše vezje sintetizatorja mora biti nastavljeno za ustvarjanje napetosti največ +/- 1 V do vsakega kanala, sicer bo izhod v datoteki.wav "odrezan", kadar napetost preseže +1 ali -1 V. Ker ustvarjamo zvočno datoteko, ki je vzorčena pri 44,1 ks/s, potrebujemo simulator, da simulira vezje vsaj 44, 100 -krat na sekundo, zato nastavimo največji časovni korak na 1/44, 100 s ali približno 20 mikrosekund (us).
5. korak: Druge vrste virov napetosti, druge vrste zvokov
Analogni sintetizator potrebuje vir naključnega hrupa. Hrup lahko ustvarite z "vedenjskim virom napetosti" (bv), ki ga lahko vklopite in izklopite s "napetostno krmiljenim stikalom" (sw). Uporaba komponente bv za ustvarjanje hrupa vključuje določanje napetosti na podlagi formule. Formula za ustvarjanje hrupa je videti tako: V = bela (čas*X)*Y Bela funkcija ustvari naključno napetost med -0,5 in +0,5 V z uporabo trenutne časovne vrednosti kot semena. Če nastavite Y na 2, dobite zamah +/- 1V. Nastavitev X med 1 000 (1e3) in 100 000 (1e5) vpliva na spekter hrupa in spreminja zvok. Napetostno krmiljeno stikalo potrebuje tudi nekatere parametre, ki jih je treba nastaviti v izjavi.model. Uporabite lahko več stikal, ki jih krmili napetost, in več izjav modela, da se vsako od njih obnaša drugače, če želite. Simulatorju morate povedati upor "vklop" in "izklop" ter napetost praga, pri kateri se preklopi. Vh je "histerezna napetost". Nastavite ga na neko pozitivno vrednost, na primer 0,4 V, in ko se stikalo odpre in zapre, ne bo nobenega klika. >>> Posodobitev: tukaj je še enostavnejši način za ustvarjanje zaprtega vira hrupa- samo pomnožite napetost hrupa z impulznim vir- glej easy_gated_noise.asc, spodaj.
6. korak: Zvonovi, bobni, činele, oskubljene godala
Zvonovi, bobni, činele in oskubljene godala so udarni. Imajo relativno hiter čas vzpona in čas eksponentnega upadanja. Te je enostavno ustvariti z uporabo sinusnih in vedenjskih napetostnih virov v kombinaciji z nekaj preprostimi vezji. Poglejte shemo "bell_drum_cymbal_string.asc". Viri impulzne napetosti z uporom, kondenzatorjem in diodo ustvarjajo potrebne naraščajoče in počasne eksponentne razpadne valovne oblike. Te izhodne napetosti modulirajo izhode vedenjskih virov, ki so nastavljeni kot naključni viri hrupa ali sinusnih valov. Ko napetost impulznega vira naraste, hitro napolni kondenzator. Kondenzator se nato izprazni skozi upor. Dioda preprečuje, da bi vir napetosti izpraznil kondenzator, ko je napetost vira na nič. Večje vrednosti upora povečajo čas praznjenja. Določite lahko čas vzpona impulznega vira - činela je vir nisa z zelo hitrim časom vzpona. Boben je tudi vir hrupa, ki deluje pri nižjih frekvencah in ima počasnejši čas vzpona. Zvonec in niz uporabljajo vire sinusnih valov, ki jih modulirajo tudi impulzni viri. Zvonec deluje na višji frekvenci in ima hitrejši čas vzpona kot niz. Zaženite simulacijo in poslušajte rezultat. Upoštevajte, da se boben pojavlja v obeh kanalih, medtem ko so vsi drugi zvoki desni ali levi kanal. Dva upora na izhodu bobna sta odgovorna za prenos zvoka v oba kanala.
Korak 7: Vse skupaj
V redu, zdaj ste videli, kako oddajati nekaj zvokov in kako oblikovati ovojnice ter jih frekvenčno modulirati. Zdaj je čas, da združimo nekaj različnih virov v eno shemo in ustvarimo nekaj zanimivega za poslušanje. Kako dosežete, da ta vir hrupa pride v kompozicijo pri 33 sekundah? Kako vklopite zvonjenje pri 16 sekundah, ga nato izklopite in nato pri 42 sekundah znova vklopite? Eden od načinov je, da z virom vedenjske napetosti ustvarite želeni zvok, ga nato vklopite in izklopite tako, da napetost, ki ustvarja zvok, pomnožite z drugo napetostjo, ki vklopi in izklopi zvok, kot je bilo storjeno v bell_drum_cymbal_string.asc. Enako lahko storite, če želite zvoke pomanjšati. Zamisel je, da nastavite ponavljajoče se zvoke, nato pa uporabite dodatne vire, da te zvoke dodate v svojo kompozicijo v želenem času, tako da njihove napetosti pomnožite z zvočnimi napetostmi. V končni zvočni izhod lahko vključite toliko napetosti, kolikor želite, le pomnožite jih (enako kot logični "in") skupaj. Če začnete zvoke naenkrat, bodo v celotni skladbi ostali v popolni sinhronizaciji, tako da nikoli ne bodo zgodaj ali pozno v času glasbe. Obstajata dva zvončka, v vsakem kanalu po en. Napetost pulse_bell deluje v celotni simulaciji, vendar se zvoki pojavijo le, če V (bell_r) in V (bell_l) nista enaka 0.
8. korak: Eksponentna rampa
Posodobitev 7/10- pomaknite se do dna Tukaj je vezje, ki ustvarja eksponentno rampo, ki se uporablja za par virov hrupa. V1 in V2 ustvarita linearne rampe, ki se začnejo pri 0 in naraščajo na X voltov (levi kanal) in Y voltov (desni kanal) v obdobjih prd_l in prd_r. B1 in B3 uporabljata formulo za pretvorbo linearnih klančin v eksponentne rampe z največjimi amplitudami 1V. B2 in B4 ustvarjata naključni hrup, ki je amplitudno moduliran z eksponentnimi rampami in parametri amp_l in amp_r (enostavne kontrole nivoja). Priložil sem datoteko mp3, ki jo ustvari to vezje, tako da lahko slišite, kako zveni. Verjetno boste morali datoteko preimenovati, če jo želite predvajati. X in Y nastavite omejitve napetosti linearnih ramp. Sčasoma se rampe obeh kanalov povečata na 1V, vendar z nastavitvami X in Y lahko nadzirate strmino eksponentne rampe. Majhno število, kot je 1, daje skoraj linearno rampo, veliko število, kot je 10, pa zelo strmo eksponentno rampo. Obdobja rampe so nastavljena s parametri prd_l in prd_r. Čas linearnega dviga rampe je nastavljen na vrednost prd_l ali prd_r minus 5 ms, čas padca pa na 5 ms. Dolg čas padca preprečuje klikanje na koncu vsake rampe, ko amplituda pade nazaj na nič. Out_l in out_r sta produkta časovnih naključnih napetosti hrupa, eksponentne napetosti rampe in parametrov amp_l in amp_r. Upoštevajte, da vrednost naključnega hrupa desnega kanala uporablja drugačno "seme" kot levi kanal. Tako ostane hrup v vsakem kanalu naključen in drugačen od nasprotnega kanala. Če uporabljate isto seme, boste ob isti vrednosti dobili isto naključno vrednost in zvok bo končal v središču, namesto da bi ga dojemali kot dva različna vira, po enega v vsakem kanalu. To bi lahko bil zanimiv učinek, s katerim bi se lahko igrali … Posodobitev: opazite, da se valovna oblika giblje od 0V do neke pozitivne vrednosti. Bolje je, da napetost niha med enakimi pozitivnimi in negativnimi vrednostmi. Shemo sem predelal, da bi naredil prav to, vendar je to povečalo kompleksnost enačbe, ki nekoliko definira obliko vala. Prenesite exponential_ramp_noise.asc (ne pozabite, da bo strežnik Instructables spremenil ime in razširitev, ko ga shranite).
9. korak: Eksponentna rampa, uporabljena za sinusni val
Na tej strani je prikazano, kako z eksponentno rampo iz prejšnjega koraka modulirati vir sinusov (dejansko sinus in kosinus). Vedenjski vir napetosti se uporablja za pretvorbo linearne rampe v eksponentno rampo, ki poganja vhod FM na komponenti modulirane 2. Amplitudo modulirata tako hitra eksponentna rampa kot počasen sinusni val. Poslušajte vzorčno datoteko- sliši se precej čudno.
10. korak: Predlogi
1) Lahko spremenite skupni čas simulacije - naj bo kratek med igranjem s komponentami in ko dobite želeni zvok, nato nastavite simulator, da deluje 30 minut (1800 sekund) ali kolikor želite. Lahko kopirate vezja z ene strani na drugo in naredite podvezja, tako da lahko preprosto povežete majhne module vezja, na primer z uporabo patch board -a na pravem sintetizatorju.2) Hitrost vzorčenja CD -ja je 44,1 ks / s. Če omejite največji časovni korak na 20, boste dobili "čist" izhod, ker bodo simulatorju na voljo podatki za vsak nov vzorec. Če uporabite manjši časovni korak, bo simulacija počasna in verjetno ne bo vplivala na zvok. Če uporabljate daljši časovni korak, boste morda slišali nekaj vzdevkov, ki so vam morda všeč ali pa tudi ne. 3) uporabite stavek.save dialogbox na svoji shemi in ko zaženete simulacijo ter izberete samo eno od napetosti ali tokov, velikost datoteke.raw majhna. Če ne izberete, bodo VSE napetosti in tokovi shranjeni, datoteka.raw pa bo ZELO velika. 4) Poskusite uporabiti zelo nizke frekvence za moduliranje višjih frekvenc. 5) Poskusite uporabiti višje frekvence za moduliranje nižjih frekvenc. 6) združite izhode iz nekaterih nizkofrekvenčnih virov z nekaterimi visokofrekvenčnimi viri, da naredite stvari zanimive. 7) uporabite impulzni vir napetosti, da modulirate sinus ali drug vir, da zagotovite ritem. 8) uporabite analogna vezja za oblikovanje napetostnih impulzov v nekaj, kar želite.) z matematičnimi izrazi določite izhod vedenjskega vira napetosti. Zabavajte se!
Priporočena:
Indikator ravni zvoka/zvoka: 10 korakov
Indikator ravni zvoka/zvoka: V tem projektu vam bom pokazal, kako z uporabo operacijskih ojačevalnikov sestaviti preprost indikator ravni zvoka. Opomba: Če želite zastaviti vprašanja, obiščite mojo spletno stran na naslovu Vprašajte strokovnjaka. Koristni dodatni videoposnetki: Simulirano vezje, nastavljeno na plošči za kruh (proto
Vadnica za vzorčenje analognega signala - MATLAB: 8 korakov
Vadnica za vzorčenje analognega signala | MATLAB: V tej vadnici prikazujemo, kaj je vzorčenje? in Kako vzorčiti analogni signal s programsko opremo MATLAB
Retro sinteza govora. Del: 12 IoT, Domača avtomatizacija: 12 korakov (s slikami)
Retro sinteza govora. Del: 12 IoT, Domača avtomatizacija: Ta članek je 12. v nizu o navodilih za avtomatizacijo doma, ki dokumentirajo, kako ustvariti in vključiti napravo za sintezo govora IoT Retro Speech Synthesis v obstoječi sistem avtomatizacije doma, vključno z vso potrebno programsko opremo, ki omogoča
Dodajanje analognega miliampera za vaš laserski rezalnik: 8 korakov (s slikami)
Dodajanje analognega miliampa za vaš laserski rezalnik: To je za vsakogar, ki ima laserski rezalnik K40 ali K50 in višjo kakovost, in ste naveličani izgubljati denar na ceveh, za katere se zdi, da umirajo hitreje, kot bi morale. To je tudi za zmagovalca laserskega tekmovanja Epilog. Upam, da vam bo to pomagalo na vaši poti
(Preprost) enostaven način za pridobivanje analognega/pwm zvoka iz Raspberry PI Zero in tudi povezavo s televizijo Crt: 4 koraki
(Preprost) enostaven način za pridobitev analognega/pwm zvoka iz Raspberry PI Zero in tudi povezavo s televizijo Crt: tukaj sem uporabil najpreprostejšo metodo za prenos zvoka na televizijo skupaj s kompim video posnetki