INHOUDSOPGAWE:

Analoog klanksintese op u rekenaar: 10 stappe (met foto's)
Analoog klanksintese op u rekenaar: 10 stappe (met foto's)

Video: Analoog klanksintese op u rekenaar: 10 stappe (met foto's)

Video: Analoog klanksintese op u rekenaar: 10 stappe (met foto's)
Video: Fun with Music and Programming by Connor Harris and Stephen Krewson 2024, November
Anonim
Analoog klanksintese op u rekenaar
Analoog klanksintese op u rekenaar

Soos die geluid van die ou analoog sintetiseerders? Wil u gratis speel op u eie tyd, op u eie plek, solank as wat u wil? Dit is waar u wildste Moog -drome waar word. U kan 'n elektroniese opnamekunstenaar word of net 'n paar wonderlike geluide maak om na te luister op u mp3 -speler. Al wat u nodig het, is 'n rekenaar! Dit word alles gedoen deur die magie van 'n gratis kring -simulator genaamd LTSpice. Nou weet ek dat jy waarskynlik sê: "Gee willikers, Tyler, ek weet niks van die bestuur van 'n kringsimulator nie- dit klink swaar!". Moenie bekommerd wees nie, Bunky! Dit is maklik, en ek sal u 'n paar sjablone gee om mee te begin en aan te pas om die vreemde geluide te maak wat u wil. Hier is 'n skakel na 'n klanklêer wat gereed is om te speel (dit is gemaak van "composition_1.asc" in stap 7 van hierdie artikel) wat u kan probeer. Ek het dit van.wav na mp3 omgeskakel om die aflaaityd te verminder. https://www.rehorst.com/mrehorst/instructables/composition_1.mp3 Daar is 'n lae bas daarin, so luister met 'n koptelefoon of goeie luidsprekers. As jy hou van wat jy sien, stem vir my! Opmerking: ek het skematiese lêers vir LTSpice aangeheg wat u op u rekenaar kan laat loop, maar as u dit probeer aflaai, word die name en uitbreidings verander. Die inhoud van die lêers lyk goed, dus verander die name en uitbreidings nadat u die lêers afgelaai het, en dit behoort te werk. Die regte name en uitbreidings word op die ikone waarop u klik om af te laai, getoon.

Stap 1: Eerste dinge eerste

LTSpice is 'n Windows -program, maar moenie dat dit jou onderkry nie. Dit werk goed onder Wine in Linux. Ek vermoed daar is geen probleme om dit te bestuur in VMWare -kliënt, VirtualBox of ander virtualisasiehulpmiddels onder Linux nie, en waarskynlik ook op Mac's. Laai 'n afskrif van LTSpice vir Windows (ugh!) Hier af: https://www.linear.com/ designtools/software/ltspice.jsp Installeer dit. Wat is LTSpice? Dit is 'n tydsirkulasiesimulator wat elke elektroniese stokperdjie moet weet hoe om dit te gebruik. Ek gaan nie 'n gedetailleerde handleiding gee oor hoe dit hier werk nie, maar ek sal 'n paar dinge verduidelik wat u moet weet terwyl ons gaan. Een woord van waarskuwing- dit is maklik om frekwensies te laag te produseer of te hoog om te hoor. As u dit doen en u duur luidsprekers met 'n sterk versterker dryf, kan u u luidsprekers/amp net stukkend slaan. Kyk ALTYD na die golfvorms voordat u dit afspeel, en wees versigtig om die volume te beperk as u 'n lêer vir die eerste keer speel, net om dit veilig te maak. Dit is altyd 'n goeie idee om die lêers met 'n goedkoop koptelefoon teen 'n lae volume af te speel voordat u luidsprekers probeer.

Stap 2: Invoer

Invoer
Invoer

Die invoer van die simulator is in die vorm van 'n skematiese diagram. U kies komponente, plaas dit op die skema en dra dit dan saam. Sodra u stroombaan voltooi is, vertel u die simulator hoe u die kring wil simuleer en watter uitset u wil hê. Kyk na die skematiese weerstand.asc. U sal sien dat daar 'n stroombaan is wat 'n spanningsbron, 'n paar weerstande, 'n benoemde uitgangsknooppunt, 'n grond en 'n teksopdragreël bevat. Kom ons kyk na elkeen. Dit is 'n goeie tyd om die kringlêer wat hieronder gekoppel is, oop te maak. U moet 'n grond hê wat aan ten minste een punt op u stroombaan gekoppel is, anders kry u baie vreemde resultate uit u simulasies. (of iets meer kompleks), wat die spanning is, die 'interne weerstand' van die bron, ens. U kan die parameters invoer deur met die rechtermuisknop op die bron te klik. Al wat u regtig nodig het, is die weerstand vir eenvoudige simulasies. Weerstande: Die weerstande is redelik maklik om te verstaan. Klik met die rechtermuisknop om die waarde van weerstand in te stel. Ignoreer enige ander parameters wat daar kan skuil. Gemerkte invoer- en afvoerknooppunte: Net name vir knope in die stroombaan wat gebruikersvriendelik is.- gebruik name soos "uitvoer", "invoer", ens. Die simulasie-opdrag: die.tran-verklaring vertel die simulator hoe u wil hê dat die kring gesimuleer moet word. Dit is 'n tyddomeinsimulator wat beteken dat dit die stroombaan op verskillende tydstye ontleed. U moet dit vertel wat die maksimum tydstap moet wees en hoe lank die simulasie in 'kringtyd' moet duur, nie in reële tyd nie. As u die simulator sê om 10 sekondes kringtyd te laat loop en die maksimum tydstap op 0,001 sekondes stel, ontleed dit die kring ten minste 10 000 keer (10 sek./0,001 sek.) En stop dan., sal die spanning by elke node in die stroombaan en die strome in en uit elke node bereken en gestoor word by elke tydstap. Al die inligting sal beskikbaar wees om op 'n skerm te teken, soos 'n ossilloskoopskerm (tyd van die horisontale as, spanning of stroom op die vertikale as. U kan ook die uitvoer na 'n.wav -klanklêer stuur wat u op 'n rekenaar, brand na 'n CD, of skakel oor na mp3 om op u mp3 -speler te speel. Meer hieroor later …

Stap 3: Uitset

Uitset
Uitset

Uitset kan 'n grafiese grafiek wees van spanning vs tyd, spanning vs spanning, ens., Of 'n tekslêer wat bestaan uit 'n klomp spannings of strome by elke tydstap, of 'n.wav -klanklêer waarin ons baie gaan gebruik hierdie instructable. Download en maak die lêer "resistors.asc" oop. Klik op die klein lopende man -simbool (linker boonste gedeelte van die skerm) en die kring moet loop. Klik nou op die etiket "OUT" in die kring. U sal die spanning gemerk "uitset" op die grafiese uitset langs 'n horisontale as wat tyd aandui, sien. Dit is die spanning wat gemeet word relatief tot die grond (daarom benodig u ten minste een grond in elke stroombaan!). Dit is die basiese beginsels. Probeer om een van die weerstandswaardes of die spanning te verander, herhaal dan die simulasie en kyk wat met die uitsetspanning gebeur. Nou weet u hoe u 'n kring -simulator moet bestuur. Maklik was dit nie?

Stap 4: Nou 'n bietjie geluid

Nou 'n bietjie geluid!
Nou 'n bietjie geluid!

Maak die kring oop met die naam "dizzy.asc". Hierdie een is 'n vreemde geraasmaker wat 'n modulator en 'n paar spanningsbronne gebruik om 'n CD -kwaliteit (16 bisse, 44,1 ksps, 2 kanale) klanklêer te vervaardig waarmee u kan speel. Die modulatorkomponent is eintlik 'n ossillator. Die frekwensie en amplitude is beide verstelbaar soos 'n VCO en VCA in 'n regte analoog sintetiseerder. Die golfvorm is altyd sinusvormig, maar daar is maniere om dit later te verander. Die frekwensiegrense word bepaal deur die merk- en ruimteparameters. Merk is die frekwensie wanneer die FM -insetspanning 1V is en die ruimte die frekwensie wanneer die FM -insetspanning 0V is. Die uitsetfrekwensie is 'n lineêre funksie van die FM -insetspanning, dus die frekwensie is halfpad tussen die merk- en ruimtefrekwensies wanneer die FM -insetspanning 0.5V is en 2x die merkfrekwensie as die FM -insetspanning 2V is. modulator kan ook amplitude gemoduleer word via die AM -invoerpen. Die uitsetamplitude van die modulator (ossillator) sal ooreenstem met die spanning wat op die AM -spanninginvoer toegepas word. As u 'n GS -bron met 'n spanning van 1 gebruik, is die uitsetamplitude 1V (dit beteken dat dit tussen -1 en +1 V sal swaai). Die modulator het twee uitsette- sinus en cosinus. Die golfvorme is presies dieselfde, behalwe dat dit 90 grade buite fase is. Dit kan pret wees vir stereo -klank -toepassings. Daar is 'n.tran -verklaring wat die simulator die maksimum tydstap en die duur van die simulasie vertel. In hierdie geval is kringtyd (totale simulasietyd) = klanklêertyd. Dit beteken dat as u die simulasie vir 10 sekondes uitvoer, u 'n oudiolêer van 10 sekondes sal kry. Normaalweg bespaar dit die spannings by elke knoop en die strome in en uit elke komponent. Dit kan baie data oplewer as u kring ingewikkeld raak of as u 'n lang simulasie uitvoer. As u die simulasie uitvoer, kies slegs een spanning of stroom uit die lys in die dialoogkassie en die datalêer (.raw) sal klein wees, en die simulasie sal op maksimum spoed loop. Uiteindelik sê die.wave -verklaring die simulator om skep 'n stereo -klanklêer van CD -kwaliteit (16 bisse per monster, 44,1 ksps, twee kanale) en plaas die spanning op "OUTL" in die linkerkanaal en die spanning op "OUTR" in die regterkanaal. Die.wav -lêer bestaan uit 16 bis -monsters. Volskaalse uitset in die.wav -lêer (al 16 bisse in 'n monster wat aangeskakel is) vind plaas wanneer die spanning wat uitgevoer word, presies +1 Volt of -1 Volt is. U sintetiseererkring moet ingestel word om spanning van nie meer as +/- 1V na elke kanaal te genereer nie, anders word die uitset in die.wav -lêer "geknip" wanneer die spanning +1 of -1 V. oorskry. 'n klanklêer wat met 'n bemonstering van 44,1 ksps geneem is, benodig ons die simulator om die kring ten minste 44, 100 keer per sekonde te simuleer, sodat ons die maksimum tydstap op 1/44, 100 sek of ongeveer 20 mikrosekondes (ons) stel.

Stap 5: Ander soorte spanningsbronne, ander soorte klanke

Ander soorte spanningsbronne, ander soorte klanke
Ander soorte spanningsbronne, ander soorte klanke
Ander soorte spanningsbronne, ander soorte klanke
Ander soorte spanningsbronne, ander soorte klanke

'N Analoog sintetiseerder benodig 'n bron van ewekansige geraas. U kan geraas genereer met behulp van 'n "gedragsspanningsbron" (bv) en u kan dit aan- en uitskakel met 'n "spanningsbeheerde skakelaar" (sw). Die gebruik van die bv -komponent om geraas te genereer, behels die definisie van die spanning op grond van 'n formule. Die formule vir die opwekking van geraas lyk soos volg: V = wit (tyd*X)*Y Die wit funksie skep 'n ewekansige spanning tussen -0,5 en +0,5 V deur die huidige tydwaarde as 'n saad te gebruik. Deur Y op 2 te stel, gee 'n +/- 1V swaai. Deur X tussen 1, 000 (1e3) en 100, 000 (1e5) te stel, beïnvloed die spektrum van die geraas en verander die klank. Die spanningsbeheerde skakelaar benodig ook 'n paar parameters om in 'n. U kan veelvuldige spanningsbeheerde skakelaars en veelvuldige modelverklarings gebruik om elkeen anders te laat optree as u wil. U moet die simulator vertel van die "aan" en "af" weerstande en die drempelspanning waarmee dit skakel. Vh is 'histerese spanning'. Stel dit op 'n positiewe waarde soos 0.4V, en daar sal geen klikgeluide wees as die skakelaar oop en toe gaan nie. bron- sien easy_gated_noise.asc, hieronder.

Stap 6: Klokke, tromme, simbale, gesteelde snare

Klokke, tromme, simbale, geplukte snare
Klokke, tromme, simbale, geplukte snare

Klokke, tromme, simbale en geplukte snare is almal perkussief. Hulle het 'n relatief vinnige stygingstyd en 'n eksponensiële vervalstyd. Dit is maklik om dit te skep met behulp van sinus- en gedragsspanningsbronne gekombineer met 'n paar eenvoudige kringe. Kyk na die skematiese "bell_drum_cymbal_string.asc". Die gepulseerde spanningsbronne met die weerstand, kapasitor en diode sorg vir die vinnige styging en stadige eksponensiële vervalgolfvorms. Daardie uitgangsspannings moduleer die uitsette van gedragsbronne wat as willekeurige geraas of sinusbronne opgestel is. As die gepulserde bronspanning styg, laai die kondensator vinnig. Die kondensator ontlaai dan deur die weerstand. Die diode verhoed dat die spanningsbron die kondensator ontlaai wanneer die bronspanning op nul is. Groter weerstandswaardes verhoog die afvoertyd. U kan die stygtyd van die gepulseerde bron spesifiseer - die simbaal is 'n goeie bron met 'n baie vinnige stygtyd. Die trommel is ook 'n geraasbron wat teen 'n laer frekwensie werk en 'n stadiger stygingstyd het. Die klok en tou gebruik sinusgolfbronne wat ook deur gepulseerde bronne gemoduleer word. Die klok werk met 'n hoër frekwensie en het 'n vinniger stygingstyd as die string. Run die simulasie en luister na die resultaat. Let daarop dat die trommel in beide kanale verskyn, terwyl al die ander klanke regs of links is. Die twee weerstande by die tromuitset is verantwoordelik vir die klank in beide kanale.

Stap 7: Alles saamvoeg

Om alles bymekaar te sit
Om alles bymekaar te sit

OK, nou het u gesien hoe u 'n paar geluide kan maak en hoe u die koeverte moet vorm en frekwensie -moduleer. Dit is nou tyd om 'n paar verskillende bronne in 'n enkele skema saam te stel en iets interessants te genereer om na te luister. Hoe kry u die geluidsbron binne 33 sekondes in die komposisie? Hoe skakel u die klokkie op 16 sekondes aan, skakel dit dan uit en skakel dit dan weer aan na 42 sekondes? Een manier is om 'n gedragsspanningsbron te gebruik om die gewenste geluid te maak, en dan aan en af te skakel deur die opwekking van die klankspanning te vermenigvuldig met 'n ander spanning wat die klank aan- en uitskakel, soos gedoen is in bell_drum_cymbal_string.asc. U kan dieselfde doen om klanke in en uit te vervaag. Die idee hier is om herhalende klanke op te stel, en dan addisionele bronne te gebruik om die klanke op die gewenste tye by u komposisie te voeg deur hul spannings te vermenigvuldig met die klankspannings. U kan soveel spanning in die finale klankuitset insluit as wat u wil, maar vermenigvuldig dit (dieselfde as logies "en") saam. Deur die klanke gelyktydig op te stel, bly dit in perfekte sinchronisasie deur die hele komposisie, sodat hulle nooit vroeg of laat in die tyd van die musiek sal wees nie. Kyk na compos_1. Daar is twee klokke, een in elke kanaal. Die pols_belspannings werk gedurende die hele simulasie, maar die klanke verskyn slegs in die uitset wanneer V (bell_r) en V (bell_l) nie gelyk is aan 0 nie.

Stap 8: Eksponensiële oprit

Eksponensiële helling
Eksponensiële helling
Eksponensiële oprit
Eksponensiële oprit

Update 7/10- blaai na onder Hier is 'n stroombaan wat 'n eksponensiële oprit genereer wat op 'n paar geraasbronne toegepas word. V1 en V2 genereer lineêre opritte wat begin by 0 en styg tot X volt (linker kanaal) en Y volt (regter kanaal) in periodes prd_l en prd_r. B1 en B3 gebruik 'n formule om die lineêre opritte om te skakel na eksponensiële opritte met 'n maksimum amplitude van 1V. B2 en B4 genereer ewekansige geraas wat amplitude gemoduleer word deur die eksponensiële opritte en deur parameters amp_l en amp_r (eenvoudige vlakkontroles). Ek het 'n mp3 -lêer aangeheg wat deur hierdie stroombaan gegenereer is, sodat u kan hoor hoe dit klink. U sal waarskynlik die lêer moet hernoem om dit te laat speel. X en Y stel die spanningslimiete van die lineêre opritte. Uiteindelik word die oprit van beide kanale tot 1V afgeskaal, maar deur X en Y in te stel, kan u die steilte van die eksponensiële oprit beheer. 'N Klein getal soos 1 gee 'n byna lineêre oprit, en 'n groot getal soos 10 gee 'n baie steil eksponensiële oprit. Die opritperiodes word bepaal met behulp van parameters prd_l en prd_r. Die lineêre opritstyd van die oprit is ingestel op die waarde prd_l of prd_r minus 5 ms, en die val tyd is ingestel op 5 ms. Die lang herleeftyd voorkom dat daar aan die einde van elke oprit geklik word, aangesien die amplitude terugsak na zero.out_l en out_r is die produkte van die tydgebaseerde ewekansige geraasspannings, die eksponensiële hellingspannings en die parameters amp_l en amp_r. Let op die regte kanaal willekeurige geraas waarde gebruik 'n ander "saad" as die linker kanaal. Dit hou die geraas in elke kanaal ewekansig en anders as die teenoorgestelde kanaal. As u dieselfde saad gebruik, kry u dieselfde waarde op dieselfde tyd, en die klank beland in die middel in plaas van om as twee verskillende bronne beskou te word, een in elke kanaal. Dit kan 'n interessante effek wees om mee te speel … Update: let op dat die golfvorm van 0V na 'n positiewe waarde gaan. Dit is beter dat die spanning tussen gelyke positiewe en negatiewe waardes swaai. Ek het die skema herwerk om dit net te doen, maar dit het die kompleksiteit van die vergelyking wat die golfvorm definieer 'n bietjie verhoog. Laai die exponential_ramp_noise.asc af (onthou dat die Instructables -bediener die naam en uitbreiding sal verander wanneer u dit stoor).

Stap 9: Eksponensiële helling toegepas op 'n sinusgolf

Eksponensiële helling toegepas op 'n sinusgolf
Eksponensiële helling toegepas op 'n sinusgolf

Hierdie bladsy wys hoe u die eksponensiële oprit van die vorige stap kan gebruik om 'n sinusbron (eintlik sinus en cosinus) te moduleer. Die gedragsspanningsbron word gebruik om 'n lineêre oprit in 'n eksponensiële oprit te verander wat die FM -inset op 'n modulasie -2 -komponent dryf. Die amplitude word gemoduleer deur 'n vinnige eksponensiële oprit en 'n stadige sinusgolf. Luister na die voorbeeldlêer- dit klink nogal vreemd.

Stap 10: Voorstelle

1) U kan die totale simulasietyd verander - hou dit kort terwyl u met komponente speel, en as u die geluid kry wat u wil, stel dan die simulator in vir 30 minute (1800 sekondes) of hoe lank u wil. U kan stroombane van die een bladsy na die ander kopieer, en u kan subkringe maak, sodat u net klein kringmodules kan verbind, soos die gebruik van 'n plakbord op 'n werklike sintetiseerder. As u die maksimum tydstap tot 20 ons verlaag, kry u 'n "skoon" uitset, omdat die simulator data vir elke nuwe monster beskikbaar het. As u 'n kleiner tydstap gebruik, sal die simulasie stadig wees en waarskynlik geen invloed op die klank hê nie. As u 'n langer tydstap gebruik, kan u 'n paar aliasing hoor, wat u wel en nie mag hou. grootte van die.raw lêer klein. As u nie 'n keuse maak nie, sal AL die spannings en strome gestoor word en die.raw -lêer sal BAIE groot word. 4) probeer om baie lae frekwensies te gebruik om hoër frekwensies te moduleer5) probeer om hoër frekwensies te gebruik om laer frekwensies te moduleer. kombineer die uitsette van 'n paar lae frekwensie bronne met 'n paar hoë frekwensie bronne om dinge interessant te maak.) gebruik wiskundige uitdrukkings om die uitset van 'n gedragsspanningsbron te definieer.

Aanbeveel: