Sadržaj:

Sinteza analognog zvuka na vašem računaru: 10 koraka (sa slikama)
Sinteza analognog zvuka na vašem računaru: 10 koraka (sa slikama)

Video: Sinteza analognog zvuka na vašem računaru: 10 koraka (sa slikama)

Video: Sinteza analognog zvuka na vašem računaru: 10 koraka (sa slikama)
Video: Fun with Music and Programming by Connor Harris and Stephen Krewson 2024, Novembar
Anonim
Sinteza analognog zvuka na vašem računaru
Sinteza analognog zvuka na vašem računaru

Kao zvuk onih starih analognih sintisajzera? Želite li se igrati s jednim u svoje vrijeme, na svom mjestu, koliko god želite, BESPLATNO? Evo gdje se ostvaruju vaši najluđi Moogovi snovi. Možete postati elektronski izvođač snimanja ili jednostavno napraviti neke kul, triptične zvukove za slušanje na svom mp3 playeru. Sve što vam je potrebno je računar! Sve je to učinjeno pomoću magije simulatora slobodnog kola zvanog LTSpice. Sada znam da vjerovatno govorite "Bože, Willere, Tyler, ne znam ništa o pokretanju simulatora kruga- to zvuči TEŠKO!". Ne brini, Bunky! Lako je i dat ću vam nekoliko predložaka za početak i izmjenu kako biste ispuštali čudne zvukove koje želite. Niste sigurni da je vrijedno truda? Evo veze do zvučne datoteke spremne za reprodukciju (napravljena je od "composition_1.asc" u koraku 7 ove tabele) koju možete isprobati. Pretvorio sam ga iz.wav u mp3 kako bih skratio vrijeme preuzimanja. https://www.rehorst.com/mrehorst/instructables/composition_1.mp3Zvuk ima neki niski bas, pa ga slušajte sa slušalicama ili dobrim zvučnicima. Ako vam se sviđa ono što vidite, glasajte za mene! Napomena: Priložio sam shematske datoteke za LTSpice koje možete pokrenuti na računaru, ali iz nekog razloga kada ih pokušate preuzeti imena i nazivi se proširenja mijenjaju. Sadržaj datoteka izgleda u redu, pa nakon preuzimanja datoteka samo promijenite imena i ekstenzije i one bi trebale djelovati. Tačna imena i proširenja prikazana su na ikonama koje kliknete za preuzimanje.

Korak 1: Prvo prve stvari

LTSpice je Windows program, ali neka vas to ne razočara. Odlično radi pod Wineom u linuxu. Pretpostavljam da nema problema s pokretanjem u VMWare klijentu, VirtualBoxu ili drugim alatima za virtualizaciju pod Linuxom, a vjerovatno i na Mac računarima. Preuzmite kopiju LTSpice za Windows (uf!) Ovdje: https://www.linear.com/ designtools/software/ltspice.jspInstalirajte ga. Šta je LTSpice? To je simulator kola u vremenskom domenu koji bi svaki hobist elektronike trebao znati koristiti. Neću vam ovdje pružati detaljan vodič o tome kako to funkcionira, ali ću vam objasniti nekoliko stvari koje ćete morati znati dok idemo dalje. Jedna riječ upozorenja- lako je moguće proizvesti preniske frekvencije ili suviše visoko da biste ih čuli. Ako to učinite i vozite svoje skupe zvučnike s pojačalom velike snage, možete jednostavno raznijeti zvučnike/pojačalo na komade. UVIJEK gledajte valne oblike prije nego ih pustite i pazite da ograničite jačinu zvuka prilikom prve reprodukcije datoteke samo radi sigurnosti. Uvijek je dobra ideja reproducirati datoteke putem jeftinih slušalica na niskoj glasnoći prije isprobavanja zvučnika.

Korak 2: Unos

Ulaz
Ulaz

Ulaz u simulator je u obliku shematskog dijagrama. Odaberete komponente, postavite ih na shemu, a zatim ih spojite. Nakon što je vaše kolo završeno, kažete simulatoru kako želite da simulira krug i kakvu vrstu izlaza želite. Pogledajte shemu koja se naziva otpornici.asc. Vidjet ćete da postoji kolo koje uključuje izvor napona, par otpornika, označeni izlazni čvor, uzemljenje i tekstualnu komandnu liniju. Pogledajmo svaki od njih. Sada je dobro vrijeme da otvorite datoteku kola dole povezanu. Uzemljenje: Ovo je NAJKRITIČNIJA komponenta na vašoj shemi. MORATE imati uzemljenje spojeno na barem jednu točku u vašem krugu ili ćete iz simulacija dobiti vrlo čudne rezultate. Izvor napona: Ako u krug stavljate napon, morate mu reći je li izmjenični ili istosmjerni (ili nešto složenije), koliki je napon, "unutrašnji otpor" izvora itd. Te parametre možete unijeti desnim klikom na pokazivač na izvoru. Sve što vam zaista treba je otpor za jednostavne simulacije. Otpornici: Otpornike je prilično lako razumjeti. Samo desnom tipkom miša postavite vrijednost otpora. Zanemarite sve ostale parametre koji se tamo mogu sakriti. Označeni ulazni i izlazni čvorovi: Samo nazivi čvorova u krugu koji su prilagođeni korisniku.- koristite imena poput "izlaz", "ulaz" itd. Direktiva o simulaciji:.tran naredba govori simulatoru kako želite da se simulira kolo. Ovo je simulator u vremenskom domenu što znači da analizira kolo u različitim vremenskim tačkama. Morate mu reći koji bi maksimalni vremenski korak trebao biti i koliko dugo bi simulacija trebala trajati u "krugu-vremenu", a ne u stvarnom vremenu. Ako kažete simulatoru da radi 10 sekundi kruga i postavite maksimalni vremenski korak na 0,001 sekundu, on će analizirati krug najmanje 10 000 puta (10 sek/0,001 sek), a zatim će se zaustaviti. Kada se simulacija pokrene, napon na svakom čvoru u krugu i struje u i iz svakog čvora izračunat će se i spremiti u svakom vremenskom koraku. Sve te informacije bit će dostupne za iscrtavanje na ekranu poput ekrana osciloskopa (vrijeme horizontalne osi, napon ili struja na okomitoj osi. Alternativno, možete poslati i izlaz u.wav audio datoteku koju možete reproducirati na računaru, narežite na CD ili pretvorite u mp3 za reprodukciju na svom mp3 playeru. Više o tome kasnije …

Korak 3: Izlaz

Output
Output

Izlaz može biti grafički prikaz napona u odnosu na vrijeme, napona u odnosu na napon itd., Ili tekstualna datoteka koja se sastoji od gomile napona ili struja u svakom vremenskom koraku, ili.wav audio datoteka u kojoj ćemo mnogo koristiti ovaj instructable. Preuzmite i otvorite datoteku "otpornici.asc". Pritisnite simbol malog trkača (gornji lijevi dio ekrana) i kolo bi se trebalo pokrenuti. Sada kliknite na oznaku "OUT" u krugu. Vidjet ćete da je napon označen kao "izlaz" prikazan na grafičkom izlazu duž vodoravne osi koja predstavlja vrijeme. To je napon izmjeren u odnosu na uzemljenje (zato vam je potrebno najmanje jedno uzemljenje u svakom krugu!). To su osnove. Pokušajte promijeniti jednu od vrijednosti otpornika ili napon, a zatim ponovo pokrenite simulaciju i pogledajte što se događa s izlaznim naponom. Sada znate kako pokrenuti simulator kruga. Lako zar ne?

Korak 4: Sada malo zvuka

Sada malo zvuka!
Sada malo zvuka!

Otvorite krug pod nazivom "dizzy.asc". Ovaj je neobičan proizvođač buke koji koristi modulator i nekoliko izvora napona za proizvodnju audio datoteke kvalitete CD -a (16 bita, 44,1 ksps, 2 kanala) s kojom se možete igrati. Komponenta modulatora zapravo je oscilator. Frekvencija i amplituda su podesive kao VCO i VCA u pravom analognom sintetizatoru. Oblik vala je uvijek sinusoidan, ali postoje načini da se to kasnije promijeni. Ograničenja učestalosti postavljaju parametri oznake i prostora. Oznaka je frekvencija kada je FM ulazni napon 1V, a razmak frekvencija kada je FM ulazni napon 0V. Izlazna frekvencija je linearna funkcija FM ulaznog napona, pa će frekvencija biti na pola puta između oznake i razmaka kada je FM ulazni napon 0,5 V i bit će 2x veća od frekvencije oznake kada je ulazni napon FM 2 V. modulator se također može amplitudno modulirati putem AM ulaznog pina. Izlazna amplituda modulatora (oscilatora) odgovarat će naponu primijenjenom na ulaz AM napona. Ako koristite istosmjerni izvor s naponom 1, izlazna amplituda će biti 1V (to znači da će se kretati između -1 i +1 V). Modulator ima dva izlaza- sinus i kosinus. Talasni oblici su potpuno isti, osim što su za 90 stepeni van faze. Ovo može biti zabavno za stereo audio aplikacije. Postoji.tran izjava koja govori simulatoru maksimalni vremenski korak i trajanje simulacije. U ovom slučaju, vrijeme kruga (ukupno vrijeme simulacije) = vrijeme audio datoteke. To znači da ako pokrenete simulaciju 10 sekundi, dobit ćete audio datoteku koja je dugačka 10 sekundi. Naredba.save se koristi za smanjenje količine podataka koje će simulator spremiti dok pokreće simulaciju. Obično štedi napone na svakom čvoru i struje u i izvan svake komponente. To može dodati MNOGO podataka ako se vaš krug zakomplicira ili pokrenete dugu simulaciju. Kada pokrenete simulaciju, samo odaberite jedan napon ili struju sa popisa u dijaloškom okviru i datoteka s podacima (.raw) bit će mala, a simulacija će se izvoditi maksimalnom brzinom. Konačno.wave naredba govori simulatoru da stvorite stereo audio datoteku CD kvalitete (16 bita po uzorku, 44,1 ksps, dva kanala) stavljajući napon na "OUTL" u lijevom kanalu i napon na "OUTR" u desnom kanalu. Datoteka.wav se sastoji od 16 -bitnih uzoraka. Do punog izlaza u.wav datoteci (svih 16 bita u uzorku je uključeno) dolazi kada je izlazni napon točno +1 Volt ili -1 Volt. Vaš krug sintisajzera trebao bi biti postavljen za generiranje napona ne više od +/- 1V prema svakom kanalu, u protivnom će izlaz u.wav datoteci biti "izrezan" kad god napon pređe +1 ili -1 V. S obzirom da pravimo audio datoteka koja je uzorkovana pri 44,1 ksps, simulator nam je potreban za simulaciju kruga najmanje 44, 100 puta u sekundi, pa smo postavili maksimalni vremenski korak na 1/44, 100 sek. ili oko 20 mikrosekundi (us).

Korak 5: Druge vrste izvora napona, druge vrste zvukova

Druge vrste izvora napona, druge vrste zvukova
Druge vrste izvora napona, druge vrste zvukova
Druge vrste izvora napona, druge vrste zvukova
Druge vrste izvora napona, druge vrste zvukova

Analognom sintisajzeru je potreban izvor slučajne buke. Možete stvoriti buku pomoću "izvora napona u ponašanju" (bv), a možete je uključiti i isključiti pomoću "prekidača s naponskim upravljanjem" (sw). Korištenje bv komponente za stvaranje buke uključuje definiranje napona na temelju formule. Formula za stvaranje buke izgleda ovako: V = bijelo (vrijeme*X)*Y Bijela funkcija stvara slučajni napon između -0,5 i +0,5 V koristeći trenutnu vrijednost vremena kao sjeme. Postavljanje Y na 2 daje zamah +/- 1V. Postavljanje X između 1 000 (1e3) i 100 000 (1e5) utječe na spektar šuma i mijenja zvuk. Prekidaču s kontrolom napona također je potrebno postaviti neke parametre u izjavi.model. Možete koristiti više prekidača s naponskim upravljanjem i više izjava o modelu kako biste učinili da se svaki ponaša drugačije ako želite. Morate reći simulatoru otpor "uključeno" i "isključeno" i prag napona na kojem se uključuje. Vh je "napon histereze". Postavite ga na neku pozitivnu vrijednost poput 0,4 V i neće se čuti nikakav klik kada se prekidač otvori i zatvori. >>> Ažuriranje: evo još lakšeg načina da napravite zatvoreni izvor buke- samo pomnožite napon šuma s impulsnim izvor- vidi easy_gated_noise.asc, ispod.

Korak 6: Zvona, bubnjevi, činele, čupane žice

Zvona, bubnjevi, činele, čupane žice
Zvona, bubnjevi, činele, čupane žice

Zvona, bubnjevi, činele i svirane žice svi su udaraljkaški. Imaju relativno brzo vrijeme uspona i vrijeme eksponencijalnog opadanja. Lako ih je stvoriti pomoću sinusnih i bihevioralnih izvora napona u kombinaciji s nekim jednostavnim krugovima. Pogledajte shemu "bell_drum_cymbal_string.asc". Izvori impulsnog napona s otpornikom, kondenzatorom i diodom stvaraju potrebne brze usponske i spore eksponencijalne tvari. Ti izlazni naponi moduliraju izlaze bihevioralnih izvora postavljenih kao slučajni izvori šuma ili sinusnih valova. Kad napon impulsnog izvora naraste, brzo napuni kondenzator. Kondenzator se zatim prazni kroz otpornik. Dioda sprječava da naponski izvor isprazni kondenzator kada je napon izvora na nuli. Veće vrijednosti otpornika povećavaju vrijeme pražnjenja. Možete odrediti vrijeme porasta impulsnog izvora - činela je izvor s vrlo brzim porastom. Bubanj je također izvor buke koji radi na nižim frekvencijama i ima sporije vrijeme uspona. Zvono i žica koriste izvore sinusnih valova koji su modulirani i impulsnim izvorima. Zvono radi na većoj frekvenciji i ima brže vrijeme uspona od žice. Pokrenite simulaciju i poslušajte rezultat. Imajte na umu da se bubanj pojavljuje na oba kanala, dok su svi ostali zvuci desni ili lijevi kanal. Dva otpornika na izlazu bubnja odgovorna su za stavljanje zvuka u oba kanala.

Korak 7: Sastavite sve zajedno

Spajajući sve zajedno
Spajajući sve zajedno

U redu, sad ste vidjeli kako stvarati neke zvukove i kako oblikovati omotnice i frekvencijski ih modulirati. Sada je vrijeme da spojite nekoliko različitih izvora u jednu shemu i generirate nešto zanimljivo za slušati. Kako postići da taj izvor buke uđe u sastav nakon 33 sekunde? Kako uključiti zvono na 16 sekundi, zatim ga isključiti, a zatim ponovo uključiti na 42 sekunde? Jedan od načina je korištenje izvora napona u ponašanju za stvaranje željenog zvuka, a zatim ga uključite i isključite množenjem napona koji stvara zvuk s drugim naponom koji uključuje i isključuje zvuk, kao što je to učinjeno u bell_drum_cymbal_string.asc. Možete učiniti istu stvar za smanjivanje i isključivanje zvukova. Ideja ovdje je postaviti zvukove koji se ponavljaju, a zatim upotrijebiti dodatne izvore za dodavanje tih zvukova u vašu kompoziciju u željeno vrijeme množenjem njihovih napona sa zvučnim naponima. U konačni zvučni izlaz možete uključiti onoliko napona koliko želite, samo ih nastavite množiti (isto kao i logičko "i") zajedno. Pokretanjem zvukova odjednom, oni će ostati u savršenoj sinhronizaciji tokom cijele kompozicije, tako da nikada neće biti rani ili kasni u vrijeme muzike. Pogledajte kompoziciju_1.asc. Postoje dva zvona, po jedno u svakom kanalu. Napon puls_bell radi tokom simulacije, ali zvukovi se pojavljuju samo na izlazu kada V (zvono_r) i V (zvono_l) nisu jednaki 0.

Korak 8: Eksponencijalna rampa

Eksponencijalna rampa
Eksponencijalna rampa
Eksponencijalna rampa
Eksponencijalna rampa

Ažuriranje 7/10- pomaknite se do dna Evo kruga koji generira eksponencijalnu rampu primijenjenu na par izvora buke. V1 i V2 stvaraju linearne rampe koje počinju od 0 i rastu do X volti (lijevi kanal) i Y volti (desni kanal) u periodima prd_l i prd_r. B1 i B3 koriste formulu za pretvaranje linearnih rampi u eksponencijalne rampe s maksimalnim amplitudama od 1V. B2 i B4 stvaraju slučajni šum koji je amplitudno moduliran eksponencijalnim rampama i parametrima amp_l i amp_r (jednostavne kontrole nivoa). Priložio sam mp3 datoteku koju je generiralo ovo kolo tako da možete čuti kako zvuči. Vjerojatno ćete morati preimenovati datoteku da bi se mogla reproducirati. X i Y postaviti granice napona linearnih rampi. Na kraju se rampe oba kanala skaliraju na 1V, ali postavljanjem X i Y možete kontrolirati strminu eksponencijalne rampe. Mali broj poput 1 daje gotovo linearnu rampu, a veliki broj poput 10 daje vrlo strmu eksponencijalnu rampu. Periodi rampe se postavljaju pomoću parametara prd_l i prd_r. Vrijeme linearnog uspona rampe postavljeno je na vrijednost prd_l ili prd_r minus 5 ms, a vrijeme pada na 5 ms. Dugo vrijeme pada sprječava klik na kraju svake rampe jer se amplituda vraća na nulu. Out_l i out_r su proizvodi vremenski zasnovanih slučajnih napona šuma, eksponencijalnih napona rampe i parametara amp_l i amp_r. Imajte na umu da slučajna vrijednost šuma desnog kanala koristi drugačije "sjeme" od lijevog kanala. To održava šum u svakom kanalu nasumičnim i drugačijim od suprotnog kanala. Ako koristite isto sjeme, u isto vrijeme dobit ćete istu slučajnu vrijednost i zvuk će završiti u središtu umjesto da se percipira kao dva različita izvora, po jedan u svakom kanalu. Ovo bi mogao biti zanimljiv efekt za igru … Ažuriranje: primijetite da valni oblik ide od 0V do neke pozitivne vrijednosti. Bolje je da se napon kreće između jednakih pozitivnih i negativnih vrijednosti. Preradio sam shemu kako bih to učinio, ali je to povećalo složenost jednadžbe koja malo definira valni oblik. Preuzmite exponential_ramp_noise.asc (zapamtite da će server Instructables promijeniti ime i ekstenziju kada ih spremite).

Korak 9: Eksponencijalna rampa primijenjena na sinusni val

Eksponencijalna rampa primijenjena na sinusni val
Eksponencijalna rampa primijenjena na sinusni val

Ova stranica prikazuje kako se pomoću eksponencijalne rampe iz prethodnog koraka modulira izvor sinusa (zapravo, sinus i kosinus). Bihevioralni izvor napona koristi se za pretvaranje linearne rampe u eksponencijalnu rampu koja pokreće FM ulaz na komponentu modulate2. Amplitudu moduliraju i brza eksponencijalna rampa i spor sinusni val. Poslušajte uzorak datoteke- zvuči prilično čudno.

Korak 10: Prijedlozi

1) Možete mijenjati ukupno vrijeme simulacije - neka bude kratko dok se igrate sa komponentama i kada dobijete zvuk koji vam se sviđa, a zatim podesite simulator da radi 30 minuta (1800 sekundi) ili koliko god želite. Možete kopirati kola sa jedne stranice na drugu, a možete napraviti i podkrugove tako da jednostavno povežete male module kola poput korištenja zakrpe na pravom sintisajzeru.2) Brzina uzorkovanja CD -a je 44,1 ksps. Ako maksimalni vremenski korak smanjite na 20, dobit ćete "čisti" izlaz jer će simulator imati dostupne podatke za svaki novi uzorak. Ako koristite manji vremenski korak, simulacija će biti spora i vjerojatno neće imati utjecaja na zvuk. Ako koristite duži vremenski korak, možda ćete čuti neki pseudonim koji vam se može ili ne može svidjeti. 3) upotrijebite.save naredbu za dijaloški okvir na vašoj shemi, a kada pokrenete simulaciju i odaberete samo jedan od napona ili struja kako biste zadržali veličina.raw datoteke mala. Ako ne odaberete, SVI naponi i struje bit će spremljeni, a.raw datoteka će postati VELIKA.4) Pokušajte koristiti vrlo niske frekvencije za moduliranje viših frekvencija5) Pokušajte koristiti više frekvencije za moduliranje nižih frekvencija.6) kombinirajte izlaze iz nekih izvora niske frekvencije s nekim izvorima visoke frekvencije kako biste stvari učinili zanimljivima.7) upotrijebite izvor impulsnog napona za moduliranje sinusa ili drugog izvora za osiguravanje ritma.8) koristite analogna kola za oblikovanje naponskih impulsa u nešto što želite.9) koristite matematičke izraze za definiranje izlaza bihevioralnog izvora napona. Zabavljajte se!

Preporučuje se: