Obsah:

Syntéza analógového zvuku vo vašom počítači: 10 krokov (s obrázkami)
Syntéza analógového zvuku vo vašom počítači: 10 krokov (s obrázkami)

Video: Syntéza analógového zvuku vo vašom počítači: 10 krokov (s obrázkami)

Video: Syntéza analógového zvuku vo vašom počítači: 10 krokov (s obrázkami)
Video: «Развлечение с музыкой и программированием», Коннор Харрис и Стивен Крюсон 2024, November
Anonim
Analógová zvuková syntéza vo vašom počítači
Analógová zvuková syntéza vo vašom počítači

Páči sa vám zvuk týchto starých analógových syntetizátorov? Chcete sa s jedným hrať vo svojom vlastnom čase, na svojom mieste, tak dlho, ako chcete, ZADARMO? Tu sa splnia vaše najdivokejšie sny o Moogovi. Môžete sa stať umelcom elektronickej nahrávky alebo si jednoducho vypočuť chladné, trúfalé zvuky vo svojom prehrávači mp3. Všetko, čo potrebujete, je počítač! Všetko sa deje pomocou kúzla simulátora voľného obvodu s názvom LTSpice. Teraz viem, že pravdepodobne hovoríte „Gee willikers, Tyler, neviem nič o spustení simulátora obvodu- to znie TVRDO!“. Neboj sa, Bunky! Je to jednoduché a dám vám niekoľko šablón, s ktorými môžete začať a upravovať ich tak, aby vydávali akékoľvek divné zvuky. Nie ste si istí, či to stojí za námahu? Tu je odkaz na zvukový súbor pripravený na prehrávanie (je vytvorený z súboru „position_1.asc “v kroku 7 tohto článku), ktorý môžete vyskúšať. Previedol som ho z.wav do mp3, aby som skrátil dobu sťahovania. https://www.rehorst.com/mrehorst/instructables/composition_1.mp3 Zvuk má nízke tóny, takže ho počúvajte so slúchadlami alebo dobrými reproduktormi. Ak sa vám páči to, čo vidíte, hlasujte za mňa! Poznámka: Pripojil som schematické súbory pre LTSpice, ktoré môžete spustiť na počítači, ale z nejakého dôvodu sa pri pokuse o ich stiahnutie zmenia názvy a rozšírenia. Obsah súborov vyzerá v poriadku, takže po stiahnutí súborov stačí zmeniť názvy a prípony a mali by fungovať. Správne názvy a rozšírenia sú uvedené na ikonách, na ktoré kliknutím kliknete.

Krok 1: Najskôr najskôr

LTSpice je program pre Windows, ale nenechajte sa tým sklamať. Pod Wine v Linuxe funguje dobre. Mám podozrenie, že nie sú žiadne problémy so spustením v klientovi VMWare, VirtualBox alebo iných virtualizačných nástrojoch pod Linuxom a pravdepodobne aj v počítačoch Mac. Kópiu LTSpice pre Windows (ugh!) Si stiahnite tu: https://www.linear.com/ designtools/software/ltspice.jspNainštalujte ho. Čo je to LTSpice? Je to simulátor obvodu v časovej oblasti, ktorý by mal každý fanúšik elektroniky vedieť používať. Nebudem tu poskytovať podrobný návod, ako to funguje, ale vysvetlím niekoľko vecí, ktoré budete potrebovať, keď ideme ďalej. Jedno slovo varovania- je ľahké vytvárať príliš nízke frekvencie. alebo príliš vysoko na to, aby ste to počuli. Ak to urobíte a budete poháňať svoje drahé reproduktory vysoko výkonným zosilňovačom, môžete reproduktory/zosilňovač jednoducho rozbiť na kusy. VŽDY sa pozerajte na priebehy pred ich prehrávaním a dávajte pozor, aby ste pre istotu obmedzili hlasitosť pri prvom prehrávaní súboru. Pred vyskúšaním reproduktorov je vždy dobré prehrať súbory cez lacné slúchadlá pri nízkej hlasitosti.

Krok 2: Vstup

Vstup
Vstup

Vstup do simulátora je vo forme schematického diagramu. Vyberiete komponenty, umiestnite ich na schému a potom ich spojíte dohromady. Akonáhle je váš obvod dokončený, povedzte simulátoru, ako chcete, aby simuloval obvod a aký druh výstupu chcete. Pozrite sa na schému nazývanú odpory.asc. Uvidíte obvod, ktorý obsahuje zdroj napätia, dvojicu rezistorov, označený výstupný uzol, uzemnenie a textový príkazový riadok. Pozrime sa na každú z nich. Teraz je vhodný čas na otvorenie nižšie uvedeného súboru obvodu. Uzemnenie: Toto je NAJKRITÁLNEJŠIA súčasť vašej schémy. MUSÍTE mať uzemnenie pripojené aspoň k jednému bodu vo svojom obvode, alebo zo svojich simulácií získate veľmi podivné výsledky. Zdroj napätia: Ak do obvodu vkladáte napätie, musíte mu povedať, či je to striedavé alebo jednosmerné napätie. (alebo niečo zložitejšie), aké je napätie, „vnútorný odpor“zdroja atď. Tieto parametre môžete zadať kliknutím pravým tlačidlom myši na zdroj. Všetko, čo skutočne potrebujete, je odpor pre jednoduché simulácie. Rezistory: Rezistory sú celkom ľahko pochopiteľné. Hodnotu odporu nastavíte kliknutím pravým tlačidlom myši. Ignorujte akékoľvek ďalšie parametre, ktoré sa tam môžu skrývať. Označené vstupné a výstupné uzly: Len názvy uzlov v okruhu, ktoré sú užívateľsky prívetivé.- Používajte názvy ako „výstup“, „vstup“atď. Simulačná smernica: príkaz.tran hovorí simulátoru, ako chcete, aby bol obvod simulovaný. Toto je simulátor časovej domény, čo znamená, že analyzuje obvod v rôznych časových bodoch. Musíte mu povedať, aký by mal byť maximálny časový krok a ako dlho by mala simulácia prebiehať v „obvodovom čase“, nie v reálnom čase. Ak poviete simulátoru, aby bežal 10 sekúnd v obvode, a nastavíte maximálny časový krok na 0,001 sekundy, analyzoval obvod najmenej 10 000 krát (10 s/0,001 s) a potom sa zastavil. Keď simulácia beží, napätie v každom uzle v obvode a prúdy do a z každého uzla sa vypočítajú a uložia v každom časovom kroku. Všetky tieto informácie budú k dispozícii na vykreslenie na displeji, ako je obrazovka osciloskopu (čas horizontálnej osi, napätie alebo prúd na vertikálnej osi. Prípadne môžete výstup odoslať aj do zvukového súboru.wav, ktorý môžete prehrať na počítač, napáliť na disk CD alebo konvertovať na mp3 a prehrať v prehrávači mp3. Viac o tom neskôr …

Krok 3: Výstup

Výkon
Výkon

Výstupom môže byť grafický diagram napätia proti času, napätia proti napätiu atď. Alebo textový súbor pozostávajúci zo zväzku napätí alebo prúdov v každom časovom kroku alebo zvukový súbor.wav, v ktorom budeme veľa používať. tento pokyn. Stiahnite a otvorte súbor "rezistors.asc". Kliknite na symbol malého behajúceho muža (ľavá horná časť obrazovky) a okruh by mal bežať. Teraz kliknite na štítok „OUT“v obvode. Napätie označené ako „výstup“sa zobrazí na grafickom výstupe pozdĺž horizontálnej osi, ktorá predstavuje čas. To je napätie merané vzhľadom na zem (preto potrebujete v každom obvode aspoň jednu zem!). To sú základy. Skúste zmeniť jednu z hodnôt odporu alebo napätia, potom spustite simuláciu a zistite, čo sa stane s výstupným napätím. Teraz viete, ako spustiť simulátor obvodu. Jednoduché nie?

Krok 4: Teraz nejaký zvuk

Teraz nejaký zvuk!
Teraz nejaký zvuk!

Otvorte okruh s názvom „dizzy.asc“. Toto je podivný tvorca šumu, ktorý používa modulátor a niekoľko zdrojov napätia na výrobu zvukového súboru v kvalite CD (16 bitov, 44,1 kbps, 2 kanály), s ktorým môžete hrať. Komponent modulátora je v skutočnosti oscilátor. Frekvencia a amplitúda sú nastaviteľné ako VCO a VCA v skutočnom analógovom syntetizátore. Vlnová forma je vždy sínusová, ale existujú spôsoby, ako ju zmeniť- o tom neskôr. Frekvenčné limity sú stanovené značkou a parametrami priestoru. Značka je frekvencia, keď je vstupné napätie FM 1 V a medzera je frekvencia, keď je vstupné napätie FM 0 V. Výstupná frekvencia je lineárnou funkciou vstupného napätia FM, takže frekvencia bude polovičná medzi značkovými a priestorovými frekvenciami, keď je vstupné napätie FM 0,5 V a bude dvojnásobkom frekvencie značky, keď je vstupné napätie FM 2 V. modulátor môže byť tiež amplitúdovo modulovaný prostredníctvom vstupného pinu AM. Výstupná amplitúda modulátora (oscilátora) bude zodpovedať napätiu aplikovanému na napäťový vstup AM. Ak použijete zdroj jednosmerného prúdu s napätím 1, výstupná amplitúda bude 1V (to znamená, že sa bude pohybovať medzi -1 a +1 V). Modulátor má dva výstupy- sínusový a kosínusový. Krivky sú úplne rovnaké, ibaže sú 90 stupňov mimo fázy. Pre stereo zvukové aplikácie to môže byť zábavné. Existuje príkaz.tran, ktorý simulátoru hovorí o maximálnom časovom kroku a trvaní simulácie. V tomto prípade obvodový čas (celkový čas simulácie) = čas zvukového súboru. To znamená, že ak simuláciu spustíte na 10 sekúnd, získate zvukový súbor s dĺžkou 10 sekúnd. Príkaz.save sa používa na minimalizáciu množstva údajov, ktoré simulátor pri spustení simulácie uloží. Normálne ukladá napätie v každom uzle a prúdy do a z každého komponentu. To môže priniesť veľa údajov, ak sa váš obvod skomplikuje alebo spustíte dlhú simuláciu. Keď spustíte simuláciu, v zozname v dialógovom okne vyberte jedno napätie alebo prúd a dátový súbor (.raw) bude malý a simulácia pobeží maximálnou rýchlosťou. Nakoniec príkaz.wave hovorí simulátoru, aby vytvorte stereofónny zvukový súbor v kvalite CD (16 bitov na vzorku, 44,1 ks / s, dva kanály), pričom do ľavého kanála vložte napätie „OUTL“a do pravého kanála napätie „OUTR“. Súbor.wav pozostáva zo 16 bitových vzoriek. Výstup v plnom rozsahu v súbore.wav (všetkých 16 bitov vo vzorke zapnutých) nastane, keď je výstupné napätie presne +1 volt alebo -1 volt. Váš syntetizátorový obvod by mal byť nastavený tak, aby generoval napätie nie viac ako +/- 1 V pre každý kanál, inak bude výstup v súbore.wav „orezaný“vždy, keď napätie prekročí +1 alebo -1 V. Keďže vyrábame zvukový súbor, ktorý je vzorkovaný pri 44,1 ks/s, potrebujeme, aby simulátor simuloval obvod najmenej 44, 100 krát za sekundu, takže maximálny časový krok nastavíme na 1/44, 100 s alebo asi 20 mikrosekúnd (nás).

Krok 5: Iné typy zdrojov napätia, iné typy zvukov

Iné typy zdrojov napätia, iné typy zvukov
Iné typy zdrojov napätia, iné typy zvukov
Iné typy zdrojov napätia, iné typy zvukov
Iné typy zdrojov napätia, iné typy zvukov

Analógový syntetizátor potrebuje zdroj náhodného šumu. Hluk môžete generovať pomocou „zdroja behaviorálneho napätia“(bv) a môžete ho zapínať a vypínať pomocou „prepínača riadeného napätím“(sw). Použitie komponentu bv na generovanie šumu zahŕňa definovanie napätia na základe vzorca. Vzorec na generovanie šumu vyzerá takto: V = biela (čas*X)*Y Biela funkcia vytvára náhodné napätie medzi -0,5 a +0,5 V pomocou aktuálnej hodnoty času ako zárodku. Nastavením Y na 2 dosiahnete kolísanie +/- 1 V. Nastavenie X medzi 1 000 (1e3) a 100 000 (1e5) ovplyvňuje spektrum šumu a mení zvuk. Prepínač riadený napätím tiež potrebuje, aby boli niektoré parametre nastavené v príkaze.model. Môžete použiť viacero prepínačov ovládaných napätím a viacero modelových vyhlásení, aby sa každý z vás správal inak, ak chcete. Simulátoru musíte oznámiť odpory „zapnuté“a „vypnuté“a prahové napätie, pri ktorom sa prepína. Vh je „hysterézne napätie“. Nastavte ho na pozitívnu hodnotu, napríklad 0,4 V, a pri otváraní a zatváraní spínača nebudú počuť žiadne kliknutia. >>> Aktualizácia: tu je ešte jednoduchší spôsob, ako vytvoriť uzavretý zdroj hluku- stačí znásobiť napätie šumu impulzom source- pozri easy_gated_noise.asc, nižšie.

Krok 6: Zvony, bubny, činely, trhané struny

Zvony, bubny, činely, trhané struny
Zvony, bubny, činely, trhané struny

Zvony, bubny, činely a strhané struny sú perkusívne. Majú relatívne rýchly čas nábehu a exponenciálny čas rozpadu. Tie je ľahké vytvoriť pomocou sínusových a behaviorálnych zdrojov napätia v kombinácii s jednoduchými obvodmi. Pozrite sa na schematický „bell_drum_cymbal_string.asc“. Impulzné zdroje napätia s odporom, kondenzátorom a diódou vytvárajú rýchly vzostup a pomalé exponenciálne priebehy rozpadu. Tieto výstupné napätia modulujú výstupy behaviorálnych zdrojov nastavených ako zdroje náhodného šumu alebo sínusových vĺn. Keď napätie impulzného zdroja stúpne, rýchlo nabije kondenzátor. Kondenzátor sa potom vybíja cez odpor. Dióda bráni zdroju napätia vybíjať kondenzátor, keď je napätie zdroja na nule. Väčšie hodnoty odporu predlžujú dobu vybíjania. Môžete určiť čas nábehu impulzného zdroja - činel je zdroj nise s veľmi rýchlym časom nábehu. Bubon je tiež zdrojom hluku, ktorý pracuje s nižšou frekvenciou a má pomalší čas nábehu. Zvon a struna používajú zdroje sínusovej vlny, ktoré sú tiež modulované impulznými zdrojmi. Zvonček pracuje na vyššej frekvencii a má rýchlejší nábeh ako struna. Spustite simuláciu a počúvajte výsledok. Všimnite si toho, že bubon sa zobrazuje v oboch kanáloch, zatiaľ čo všetky ostatné zvuky sú buď v pravom alebo v ľavom kanáli. Dva odpory na výstupe bubna sú zodpovedné za prenos zvuku do oboch kanálov.

Krok 7: Dajte to všetko dohromady

Dávať to všetko dokopy
Dávať to všetko dokopy

Dobre, teraz ste videli, ako vydávať niektoré zvuky a ako tvarovať obálky a frekvenčne ich modulovať. Teraz je načase spojiť niekoľko rôznych zdrojov do jednej schémy a vygenerovať niečo zaujímavé na počúvanie. Ako zaistíte, aby sa zdroj hluku dostal do kompozície v 33 sekundách? Ako zapnete zvonček v 16 sekundách, potom ho vypnete a potom v 42 sekundách znova zapnete? Jedným zo spôsobov je použiť zdroj behaviorálneho napätia na vytvorenie požadovaného zvuku a potom ho zapnúť a vypnúť vynásobením napätia generujúceho zvuk iným napätím, ktoré zvuk zapína a vypína, ako sa to robilo v bell_drum_cymbal_string.asc. Môžete robiť to isté, aby ste stlmili zvuky dovnútra aj von. Cieľom je nastaviť opakujúce sa zvuky a potom použiť ďalší zdroj (zdroje) na pridanie týchto zvukov do vašej skladby v požadovaných časoch vynásobením ich napätí zvukovým napätím. Do konečného zvukového výstupu môžete zahrnúť ľubovoľný počet napätí, len ich stále znásobujte (rovnaké ako logické „a“). Spustením zvukov naraz zostanú v celej skladbe perfektne synchronizované, takže v čase hudby nikdy nebudú priskoro alebo neskoro. Pozrite sa na composition_1.asc. Sú tu dva zvony, v každom kanáli jeden. Napätie pulzného zvončeka funguje počas celej simulácie, ale zvuky sa na výstupe zobrazujú iba vtedy, ak V (bell_r) a V (bell_l) nie sú rovné 0.

Krok 8: Exponenciálna rampa

Exponenciálna rampa
Exponenciálna rampa
Exponenciálna rampa
Exponenciálna rampa

Aktualizácia 7/10- posuňte sa nadol Tu je obvod, ktorý generuje exponenciálnu rampu aplikovanú na dvojicu zdrojov hluku. V1 a V2 generujú lineárne rampy, ktoré začínajú na 0 a stúpajú na X voltov (ľavý kanál) a Y voltov (pravý kanál) v obdobiach prd_l a prd_r. B1 a B3 používajú vzorec na konverziu lineárnych ramp na exponenciálne rampy s maximálnymi amplitúdami 1V. B2 a B4 generujú náhodný šum, ktorý je amplitúdovo modulovaný exponenciálnymi rampami a parametrami amp_l a amp_r (jednoduché ovládanie úrovní). Pripojil som súbor mp3 generovaný týmto obvodom, aby ste počuli, ako to znie. Pravdepodobne budete musieť súbor premenovať, aby sa dal hrať. X a Y nastavujú limity napätia lineárnych ramp. Nakoniec sa rampy oboch kanálov zmenia na 1 V, ale nastavením X a Y môžete ovládať strmosť exponenciálnej rampy. Malé číslo ako 1 dáva takmer lineárnu rampu a veľké číslo ako 10 dáva veľmi strmú exponenciálnu rampu. Doby rampy sa nastavujú pomocou parametrov prd_l a prd_r. Čas nábehu lineárnej rampy je nastavený na hodnotu prd_l alebo prd_r mínus 5 ms a čas pádu je nastavený na 5 ms. Dlhší čas pádu zabraňuje klikaniu na konci každej rampy, pretože amplitúda klesá späť na nulu. Out_l a out_r sú súčinom náhodných šumových napätí založených na čase, napätí exponenciálnej rampy a parametrov amp_l a amp_r. Všimnite si toho, že hodnota náhodného šumu pravého kanála používa iné „semeno“ako ľavý kanál. Vďaka tomu je šum v každom kanáli náhodný a odlišný od kanála opačného. Ak použijete rovnaké osivo, v rovnakom čase získate rovnakú náhodnú hodnotu a zvuk skončí v strede, namiesto toho, aby bol vnímaný ako dva rôzne zdroje, jeden v každom kanáli. To by mohol byť zaujímavý efekt na hranie… Aktualizácia: všimnite si, že priebeh vlny sa pohybuje od 0 V do pozitívnej hodnoty. Je lepšie, aby sa napätie pohybovalo medzi rovnakými kladnými a zápornými hodnotami. Prepracoval som schému tak, aby to urobila, ale trochu to zvýšilo zložitosť rovnice, ktorá definuje priebeh. Stiahnite si exponential_ramp_noise.asc (pamätajte na to, že server Instructables po uložení zmení názov a príponu).

Krok 9: Exponenciálna rampa aplikovaná na sínusovú vlnu

Exponenciálna rampa aplikovaná na sínusovú vlnu
Exponenciálna rampa aplikovaná na sínusovú vlnu

Táto stránka ukazuje, ako použiť exponenciálnu rampu z predchádzajúceho kroku na moduláciu zdroja sínusov (v skutočnosti sínus a kosínus). Zdroj behaviorálneho napätia sa používa na premenu lineárnej rampy na exponenciálnu rampu, ktorá poháňa vstup FM na komponente modulate2. Amplitúda je modulovaná jednak rýchlou exponenciálnou rampou, jednak pomalou sínusovou vlnou. Vypočujte si ukážkový súbor- znie to dosť divne.

Krok 10: Návrhy

1) Celkový čas simulácie môžete meniť - skráťte ho, kým hráte s komponentmi a keď dostanete zvuk, ktorý sa vám páči, potom nastavte simulátor tak, aby bežal 30 minút (1 800 s) alebo akokoľvek dlho chcete. Môžete kopírovať obvody z jednej stránky na druhú a môžete vytvárať obvody, takže môžete jednoducho spájať malé obvody spolu ako pomocou prepojovacej dosky na skutočnom syntetizátore. 2) Vzorkovacia frekvencia disku CD je 44,1 ks / s. Ak dodržíte maximálny časový krok na 20 nás, získate „čistý“výstup, pretože simulátor bude mať k dispozícii údaje pre každú novú vzorku. Ak použijete menší časový krok, simulácia bude pomalá a pravdepodobne nebude mať žiadny vplyv na zvuk. Ak použijete dlhší časový krok, môžete počuť nejaké aliasy, ktoré sa vám môžu alebo nemusia páčiť. 3) Na svojej schéme použite príkaz dialógového okna.save a keď spustíte simuláciu a vyberiete iba jedno z napätí alebo prúdov, aby sa zachoval malá veľkosť súboru.raw. Ak nevyberiete, uložia sa VŠETKY napätia a prúdy a súbor.raw bude VEĽMI veľký. 4) Skúste použiť veľmi nízke frekvencie na moduláciu vyšších frekvencií. 5) Skúste použiť vyššie frekvencie na moduláciu nižších frekvencií. 6) skombinujte výstupy z niektorých nízkofrekvenčných zdrojov s niektorými vysokofrekvenčnými zdrojmi, aby boli veci zaujímavé. 7) použite zdroj impulzného napätia na moduláciu sínusového alebo iného zdroja na zaistenie rytmu. 8) pomocou analógových obvodov vytvarujte napäťové impulzy na niečo, čo chcete.9) pomocou matematických výrazov definujte výstup behaviorálneho zdroja napätia Bavte sa!

Odporúča: