Sinteza analoge e zërit në kompjuterin tuaj: 10 hapa (me fotografi)
Sinteza analoge e zërit në kompjuterin tuaj: 10 hapa (me fotografi)
Anonim

Ashtu si tingulli i atyre sintetizuesve të vjetër analogë? Dëshironi të luani me një në kohën tuaj, në vendin tuaj, për aq kohë sa dëshironi, FALAS? Këtu janë realizuar ëndrrat tuaja më të egra Moog. Ju mund të bëheni një artist i regjistrimit elektronik ose thjesht të bëni disa tinguj të lezetshëm dhe tronditës për t'i dëgjuar në mp3 player tuaj. Gjithçka që ju nevojitet është një kompjuter! E gjitha bëhet përmes magjisë së një imituesi të qarkut të lirë të quajtur LTSpice. Tani e di që ju me siguri po thoni "Gee willikers, Tyler, nuk di asgjë për drejtimin e një imituesi të qarkut- kjo tingëllon VARDSHTIR!". Mos u shqetëso, Bunky! Easyshtë e lehtë dhe unë do t'ju jap disa shabllone për të filluar dhe modifikuar për të bërë çfarëdo zhurme të çuditshme që dëshironi. Nuk jeni i sigurt se ia vlen përpjekja? Këtu keni një lidhje me një skedar tingulli të gatshëm për të luajtur (është bërë nga "përbërja_1.asc" në hapin 7 të këtij 'ible) që mund të provoni. E konvertova nga.wav në mp3 për të zvogëluar kohën e shkarkimit. https://www.rehorst.com/mrehorst/instructables/composition_1.mp3Ka një tingull të ulët basi në të, kështu që dëgjoni me kufje ose altoparlantë të mirë. Nëse ju pëlqen ajo që shihni, votoni për mua! Shënim: Unë kam bashkangjitur skedarë skematikë për LTSpice që mund t'i përdorni në kompjuterin tuaj, por për ndonjë arsye kur përpiqeni t'i shkarkoni emrat dhe shtesat ndryshojnë. Përmbajtja e skedarëve duket në rregull, kështu që pas shkarkimit të skedarëve thjesht ndryshoni emrat dhe shtesat dhe ato duhet të funksionojnë. Emrat dhe shtesat e sakta shfaqen në ikonat që klikoni për të shkarkuar.

Hapi 1: Gjërat e para Së pari

LTSpice është një program i Windows, por mos lejoni që kjo t'ju zhgënjejë. Shkon mirë nën Wine në linux. Unë dyshoj se nuk ka probleme që ta ekzekutoni atë në klientin VMWare, VirtualBox, ose mjete të tjera të virtualizimit nën linux, dhe probabaly në Mac gjithashtu. Shkarkoni një kopje të LTSpice për Windows (ugh!) Këtu: https://www.linear.com/ designtools/software/ltspice.jsp Instalojeni atë. Çfarë është LTSpice? Shtë një imitues i qarkut të fushës kohore që çdo hobiist elektronik duhet të dijë ta përdorë. Unë nuk do të jap një tutorial të detajuar se si funksionon këtu, por unë do të shpjegoj disa gjëra që ju duhet të dini kur ecim përpara. Një fjalë paralajmërimi- është lehtësisht e mundur të prodhohen frekuenca që janë shumë të ulëta ose shumë e lartë për të dëgjuar. Nëse e bëni këtë dhe drejtoni altoparlantët tuaj të shtrenjtë me një përforcues të fuqisë së lartë, ju thjesht mund t'i fryni ato në copa. GJITHMON shikoni format e valëve para se t'i riprodhoni dhe kini kujdes të kufizoni volumin kur luani një skedar për herë të parë vetëm për të qenë të sigurt. Alwaysshtë gjithmonë një ide e mirë të luani skedarët përmes kufjeve të lira me volum të ulët para se të provoni altoparlantët.

Hapi 2: Hyrja

Hyrja në imitues është në formën e një diagrami skematik. Ju zgjidhni komponentët, i vendosni ato në skemë, pastaj i lidhni ato së bashku. Pasi qarku juaj të jetë i plotë, ju i tregoni imituesit se si dëshironi që ai të simulojë qarkun dhe çfarë lloj daljeje dëshironi. Hidhini një sy skemës së quajtur rezistorë.asc. Do të shihni se ekziston një qark që përfshin një burim tensioni, një palë rezistencë, një nyje dalëse të etiketuar, një bazë dhe një linjë komande teksti. Le të shikojmë secilën prej tyre. Tani është një kohë e mirë për të hapur skedarin e qarkut të lidhur më poshtë. Toka: Ky është komponenti MOST KRITIK në skemën tuaj. DUHET të keni një tokë të lidhur me të paktën një pikë në qarkun tuaj ose do të merrni rezultate shumë të çuditshme nga simulimet tuaja. Burimi i tensionit: Nëse po vendosni një tension në një qark, duhet t'i tregoni nëse është AC ose DC (ose diçka më komplekse), cili është tensioni, "rezistenca e brendshme" e burimit, etj. Ju mund t'i futni ato parametra duke klikuar me të djathtën me treguesin në burim. E tëra që ju nevojitet vërtet është rezistenca për simulime të thjeshta. Rezistentët: Rezistorët janë goxha të lehtë për tu kuptuar. Thjesht klikoni me të djathtën për të vendosur vlerën e rezistencës. Injoroni çdo parametër tjetër që mund të fshihet atje. Nyjet e etiketuara të hyrjes dhe daljes: Vetëm emra për nyjet në qark që janë miqësore për përdoruesit.- përdorni emra si "dalje", "hyrje", etj. Direktiva e simulimit: deklarata.tran i tregon imituesit se si dëshironi të simulohet qarku. Ky është një imitues i fushës kohore që do të thotë se analizon qarkun në pika të ndryshme në kohë. Ju duhet t'i tregoni se cili duhet të jetë hapi maksimal i kohës dhe sa kohë duhet të zgjasë simulimi në "kohën e qarkut", jo në kohë reale. Nëse i thoni imituesit të funksionojë për 10 sekonda të kohës së qarkut dhe e vendosni hapin maksimal të kohës në 0.001 sekonda, ai do të analizojë qarkun të paktën 10, 000 herë (10 sek/0.001 sek) dhe më pas ndalet. Kur simulimi të funksionojë, tensioni në çdo nyje në qark dhe rrymat brenda dhe jashtë çdo nyje do të llogariten dhe ruhen në çdo hap kohor. I gjithë ai informacion do të jetë i disponueshëm për tu vizatuar në një ekran si një ekran oshiloskopi (koha e boshtit horizontal, tensioni ose rryma në boshtin vertikal. Përndryshe, ju gjithashtu mund të dërgoni daljen në një skedar audio.wav që mund të luani në një kompjuter, djeg në CD ose konverto në mp3 për të luajtur në mp3 player. Më shumë për këtë më vonë…

Hapi 3: Dalja

Dalja mund të jetë një komplot grafik i tensionit kundrejt kohës, tensionit kundër tensionit, etj., Ose një skedar teksti i përbërë nga një bandë tensionesh ose rrymash në çdo hap kohor, ose një skedar audio.wav që ne do të përdorim shumë në kjo e udhëzueshme. Shkarkoni dhe hapni skedarin "resistors.asc". Klikoni simbolin e njeriut të vogël që vrapon (pjesa e sipërme e majtë e ekranit) dhe qarku duhet të funksionojë. Tani klikoni në etiketën "OUT" në qark. Ju do të shihni tensionin e etiketuar "dalje" e shfaqur në daljen grafike përgjatë një aksi horizontal që përfaqëson kohën. Ky është tensioni i matur në raport me tokën (kjo është arsyeja pse keni nevojë për të paktën një tokë në çdo qark!). Këto janë bazat. Provoni të ndryshoni një nga vlerat e rezistencës ose tensionin, pastaj përsëritni simulimin dhe shihni se çfarë ndodh me tensionin dalës. Tani ju e dini se si të drejtoni një imitues qark. E lehtë nuk ishte?

Hapi 4: Tani disa zëra

Hapni qarkun e quajtur "dizzy.asc". Ky është një krijues i çuditshëm i zhurmës që përdor një modulator dhe disa burime të tensionit për të prodhuar një skedar audio cilësor CD (16 bit, 44.1 ksps, 2 kanale) me të cilin mund të luani. Komponenti modulator është në të vërtetë një oshilator. Frekuenca dhe amplituda janë të dyja të rregullueshme si një VCO dhe VCA në një sintetizues analog të vërtetë. Forma e valës është gjithmonë sinusoidale, por ka mënyra për ta ndryshuar atë- më shumë për këtë më vonë. Kufijtë e frekuencës përcaktohen nga parametrat e shenjës dhe hapësirës. Shënimi është frekuenca kur voltazhi i hyrjes FM është 1V dhe hapësira është frekuenca kur voltazhi i hyrjes FM është 0V. Frekuenca e daljes është një funksion linear i tensionit të hyrjes FM, kështu që frekuenca do të jetë në gjysmën e rrugës midis frekuencave të shenjës dhe hapësirës kur tensioni i hyrjes FM është 0.5V dhe do të jetë 2x frekuenca e shënuar kur tensioni i hyrjes FM është 2V. moduluesi gjithashtu mund të modulohet me amplituda përmes pinit të hyrjes AM. Amplituda e moduluesit (oshilator) e daljes do të përputhet me tensionin e aplikuar në hyrjen e tensionit AM. Nëse përdorni një burim DC me një tension 1, amplituda e daljes do të jetë 1V (që do të thotë se do të lëkundet midis -1 dhe +1 V). Modulatori ka dy dalje- sinusin dhe kosinusin. Format e valëve janë saktësisht të njëjta përveçse janë 90 gradë jashtë fazës. Kjo mund të jetë argëtuese për aplikacionet stereo audio. Ekziston një deklaratë.tran që i tregon imituesit hapin maksimal të kohës dhe kohëzgjatjen e simulimit. Në këtë rast, koha e qarkut (koha totale e simulimit) = koha e skedarit audio. Kjo do të thotë nëse e drejtoni simulimin për 10 sekonda do të merrni një skedar audio që është i gjatë 10 sekonda. Deklarata.save përdoret për të minimizuar sasinë e të dhënave që imituesi do të kursejë ndërsa drejton simulimin. Normalisht kursen tensionet në çdo nyje dhe rrymat brenda dhe jashtë çdo komponenti. Kjo mund të shtojë shumë të dhëna nëse qarku juaj ndërlikohet ose drejtoni një simulim të gjatë. Kur drejtoni simulimin, thjesht zgjidhni një tension ose rrymë nga lista në kutinë e dialogut dhe skedari i të dhënave (.raw) do të jetë i vogël dhe simulimi do të funksionojë me shpejtësinë maksimale. Së fundi, deklarata.wave i thotë simuluesit të krijoni një skedar audio stereo me cilësi CD (16 bit për mostër, 44.1 ksps, dy kanale) duke vendosur tensionin në "OUTL" në kanalin e majtë dhe tensionin në "OUTR" në kanalin e djathtë. Skedari.wav përbëhet nga mostra 16 bit. Dalja në shkallë të plotë në skedarin.wav (të 16 bitët në një mostër të ndezur) ndodh kur voltazhi që del është saktësisht +1 Volt ose -1 Volt. Qarku juaj sintetizues duhet të vendoset për të gjeneruar tensione jo më shumë se +/- 1V në secilin kanal, përndryshe dalja në skedarin.wav do të "shkurtohet" sa herë që tensioni tejkalon +1 ose -1 V. një skedar audio që është marrë me 44.1 ksps, ne kemi nevojë për imituesin për të simuluar qarkun të paktën 44, 100 herë në sekondë, kështu që ne vendosim hapin maksimal të kohës në 1/44, 100 sekonda ose rreth 20 mikrosekonda (ne).

Hapi 5: Llojet e tjera të burimeve të tensionit, llojet e tjera të tingujve

Një sintetizues analog ka nevojë për një burim zhurme të rastësishme. Ju mund të gjeneroni zhurmë duke përdorur një "burim tensioni të sjelljes" (bv) dhe mund ta ndizni dhe fikni duke përdorur një "ndërprerës të kontrolluar të tensionit" (sw). Përdorimi i komponentit bv për të gjeneruar zhurmë përfshin përcaktimin e tensionit bazuar në një formulë. Formula për gjenerimin e zhurmës duket kështu: V = e bardhë (koha*X)*Y Funksioni i bardhë krijon një tension të rastësishëm midis -0.5 dhe +0.5 V duke përdorur vlerën aktuale të kohës si farë. Vendosja e Y në 2 jep një lëvizje +/- 1V. Vendosja X midis 1, 000 (1e3) dhe 100, 000 (1e5) ndikon në spektrin e zhurmës dhe ndryshon tingullin. Ndërprerësi i kontrolluar nga tensioni gjithashtu ka nevojë për disa parametra që të vendosen në një deklaratë.model. Ju mund të përdorni çelsin e shumëfishtë të kontrolluar nga tensioni dhe deklarata të shumta të modelit për t'i bërë secilën prej tyre të sillet ndryshe nëse dëshironi. Ju duhet t'i tregoni imituesit rezistencat "ndezur" dhe "fikur" dhe tensionin e pragut në të cilin kalon. Vh është "tension hysteresis". Vendoseni atë në një vlerë pozitive si 0.4V dhe nuk do të ketë tinguj klikues kur çelësi hapet dhe mbyllet. >>> Përditëso: këtu është një mënyrë edhe më e lehtë për të bërë një burim zhurme të mbyllur- thjesht shumëzoni tensionin e zhurmës me një pulsim burim- shih easy_gated_noise.asc, më poshtë.

Hapi 6: Këmbanat, Daullet, Cembale, Tela të Shkulur

Këmbanat, daullet, cembale dhe telat e këputur janë të gjitha goditëse. Ata kanë një kohë relativisht të shpejtë të rritjes dhe një kohë të kalbjes eksponenciale. Ato janë të lehta për t'u krijuar duke përdorur burime të tensionit sinus dhe të sjelljes të kombinuara me disa qarqe të thjeshta. Shikoni skematikën "bell_drum_cymbal_string.asc". Burimet e tensionit të pulsuar me rezistencën, kondensatorin dhe diodën krijojnë ngritje të shpejtë dhe forma të valëve të prishjes eksponenciale të nevojshme. Ato tensione dalëse modulojnë daljet e burimeve të sjelljes të krijuara si burime të rastësishme të zhurmës ose valës sinus. Kur rritet tensioni i burimit të pulsuar ngarkon shpejt kondensatorin. Kondensatori pastaj shkarkohet përmes rezistencës. Dioda mban burimin e tensionit nga shkarkimi i kondensatorit kur tensioni i burimit është në zero. Vlerat më të mëdha të rezistencës rrisin kohën e shkarkimit. Ju mund të specifikoni kohën e ngritjes së burimit të pulsuar - cimbali është një burim nise me një kohë ngritjeje shumë të shpejtë. Daulle është gjithashtu një burim zhurme që funksionon me frekuencë më të ulët dhe ka një kohë ngritjeje më të ngadaltë. Zilja dhe vargu përdorin burime të valës sinusale që modulohen gjithashtu nga burime pulsuese. Zilja funksionon me frekuencë më të lartë dhe ka një kohë ngritjeje më të shpejtë se vargu. Drejtoni simulimin dhe dëgjoni rezultatin. Vini re se daulle shfaqet në të dy kanalet ndërsa të gjithë tingujt e tjerë janë ose të djathtë ose të majtë. Dy rezistorët në daljen e daulles janë përgjegjës për futjen e zërit në të dy kanalet.

Hapi 7: Vendosja e të gjitha së bashku

OK, tani keni parë se si të bëni disa tinguj dhe si të formoni zarfet dhe frekuenca t'i modulojë ato. Tani është koha për të bashkuar disa burime të ndryshme në një skemë të vetme dhe për të gjeneruar diçka interesante për të dëgjuar. Si arrini që burimi i zhurmës të hyjë në përbërje në 33 sekonda? Si ta ndizni atë kambanën në 16 sekonda, pastaj ta fikni, pastaj ta ndizni përsëri në 42 sekonda? Një mënyrë është të përdorni një burim tensioni të sjelljes për të bërë tingullin e dëshiruar, pastaj ndizeni dhe fikni duke shumëzuar tensionin e gjenerimit të zërit me një tension tjetër që ndez dhe fik zërin, siç u bë në bell_drum_cymbal_string.asc. Ju mund të bëni të njëjtën gjë për të zbehur tingujt brenda dhe jashtë. Ideja këtu është të krijoni tinguj të përsëritur dhe më pas të përdorni burime shtesë për të shtuar ato tinguj në përbërjen tuaj në kohën e dëshiruar duke shumëzuar tensionet e tyre me tensionet e zërit. Ju mund të përfshini sa më shumë tensione në daljen përfundimtare të tingullit sa të dëshironi, thjesht vazhdoni t'i shumëzoni ato (njësoj si logjika "dhe") së bashku. Duke filluar tingujt menjëherë, ata do të mbeten në sinkron të përsosur gjatë gjithë përbërjes, kështu që ata kurrë nuk do të jenë herët ose vonë në kohën e muzikës. Shikoni përbërjen_1.asc. Ka dy kambana, një në secilin kanal. Tensionet e ziles së impulsit veprojnë gjatë gjithë simulimit, por tingujt shfaqen vetëm në dalje kur V (bell_r) dhe V (bell_l) nuk janë të barabarta me 0.

Hapi 8: Pjerrësia eksponenciale

Përditësoni 7/10- lëvizni në fund Këtu është një qark që gjeneron një devijim eksponencial të aplikuar në një palë burime zhurme. V1 dhe V2 krijojnë rampa lineare që fillojnë në 0 dhe rriten në X volt (kanali i majtë) dhe Y volt (kanali i djathtë) në periudhat prd_l dhe prd_r. B1 dhe B3 përdorin një formulë për të kthyer rampat lineare në rampa eksponenciale me amplituda maksimale 1V. B2 dhe B4 krijojnë zhurmë të rastësishme që është amplituda e moduluar nga rampat eksponenciale dhe nga parametrat amp_l dhe amp_r (kontrolle të thjeshta të nivelit). Unë kam bashkangjitur një skedar mp3 të krijuar nga ky qark, në mënyrë që të dëgjoni se si duket. Ju ndoshta do të duhet të riemërtoni skedarin për ta luajtur atë. X dhe Y vendosin kufijtë e tensionit të rampave lineare. Përfundimisht të dy rampat e kanalit shkallëzohen në 1V, por duke vendosur X dhe Y ju mund të kontrolloni pjerrësinë e devijimit eksponencial. Një numër i vogël si 1 jep një devijim gati linear, dhe një numër i madh si 10 jep një devijim eksponencial shumë të pjerrët. Periudhat e devijimit vendosen duke përdorur parametrat prd_l dhe prd_r. Koha lineare e ngritjes së devijimit vendoset në vlerën prd_l ose prd_r minus 5 ms, dhe koha e rënies vendoset në 5 ms. Koha e gjatë e rënies parandalon klikimin në fund të secilës devijim ndërsa amplituda bie përsëri në zero. Jashtë_l dhe jashtë_r janë produktet e tensioneve të rastësishme të zhurmës të bazuara në kohë, tensionet eksponenciale të devijimit dhe parametrat amp_l dhe amp_r. Vini re se vlera e zhurmës së kanalit të djathtë përdor një "farë" të ndryshme nga kanali i majtë. Kjo e mban zhurmën në secilin kanal të rastësishëm dhe të ndryshëm nga kanali i kundërt. Nëse përdorni të njëjtën farë, në të njëjtën kohë do të merrni të njëjtën vlerë të rastësishme dhe tingulli do të përfundojë në qendër në vend që të perceptohet si dy burime të ndryshme, një në secilin kanal. Ky mund të jetë një efekt interesant për të luajtur me … Përditëso: vini re se forma e valës shkon nga 0V në një vlerë pozitive. Bettershtë më mirë që tensioni të ndryshojë midis vlerave të barabarta pozitive dhe negative. Kam përpunuar skemën për të bërë pikërisht atë, por ajo rriti kompleksitetin e ekuacionit që përcakton pak formën e valës. Shkarkoni exponential_ramp_noise.asc (mbani mend se serveri Instructables do të ndryshojë emrin dhe shtesën kur ta ruani).

Hapi 9: Nyja eksponenciale e aplikuar në një valë sinusiale

Kjo faqe tregon se si të përdorni rampën eksponenciale nga hapi i mëparshëm për të moduluar një burim sinus (në fakt, sinus dhe kosinus). Burimi i tensionit të sjelljes përdoret për të kthyer një devijim linear në një devijim eksponencial që drejton hyrjen FM në një komponent modulat2. Amplituda modulohet si nga një devijim i shpejtë eksponencial ashtu edhe nga një valë sinus e ngadalshme. Dëgjoni skedarin shembull- tingëllon mjaft e çuditshme.

Hapi 10: Sugjerime

1) Mund të ndryshoni kohën totale të simulimit - mbajeni atë të shkurtër ndërsa jeni duke luajtur me komponentët dhe kur të merrni tingullin që ju pëlqen, atëherë vendoseni që imituesi të funksionojë për 30 minuta (1800 sek) ose sa kohë të dëshironi. Ju mund të kopjoni qarqet nga njëra faqe në tjetrën dhe mund të bëni nën -qarqe në mënyrë që të mund të lidhni module të vogla të qarkut së bashku, si përdorimi i një pllake patch në një sintetizues të vërtetë. 2) Shkalla e mostrës së CD është 44.1 ksps. Nëse e mbani kohën maksimale deri në 20 ne ju do të merrni një dalje "të pastër" sepse imituesi do të ketë të dhëna në dispozicion për çdo mostër të re. Nëse përdorni një hap më të vogël kohor, simulimi do të jetë i ngadalshëm dhe ndoshta nuk do të ketë ndonjë efekt në tingull. Nëse përdorni një hap më të gjatë kohor, mund të dëgjoni aliazime që mund ose nuk ju pëlqejnë. 3) përdorni deklaratën.save dialogbox në skemën tuaj dhe kur drejtoni simulimin dhe zgjidhni vetëm një nga tensionet ose rrymat për të mbajtur madhësia e skedarit.raw i vogël. Nëse nuk bëni një përzgjedhje, të gjitha tensionet dhe rrymat do të ruhen dhe skedari.raw do të bëhet SHUMY i madh. 4) provoni të përdorni frekuenca shumë të ulëta për të moduluar frekuencat më të larta 5) provoni të përdorni frekuenca më të larta për të moduluar frekuencat më të ulëta. 6) kombinoni daljet nga disa burime me frekuencë të ulët me disa burime me frekuencë të lartë për t'i bërë gjërat interesante. 7) përdorni një burim të tensionit të pulsuar për të moduluar një sinus ose një burim tjetër për të siguruar ritmin. 8) përdorni qarqe analoge për të formuar impulset e tensionit në diçka që dëshironi. 9) përdorni shprehje matematikore për të përcaktuar daljen e një burimi të tensionit të sjelljes. Argëtohuni!