Innehållsförteckning:
- Steg 1: Första sakerna först
- Steg 2: Mata in
- Steg 3: Utmatning
- Steg 4: Nu lite ljud
- Steg 5: Andra typer av spänningskällor, andra typer av ljud
- Steg 6: Klockor, trummor, cymbaler, plockade strängar
- Steg 7: Sätta ihop allt
- Steg 8: Exponentiell ramp
- Steg 9: Exponentiell ramp tillämpas på en sinusvåg
- Steg 10: Förslag
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Som ljudet från de gamla analoga synthesizerna? Vill du spela med en på din egen tid, på din egen plats, så länge du vill, GRATIS? Här går dina vildaste Moog -drömmar i uppfyllelse. Du kan bli en elektronisk inspelningsartist eller bara göra några coola, trippiga ljud att lyssna på på din mp3 -spelare. Allt du behöver är en dator! Allt sker genom magin i en gratis kretssimulator som heter LTSpice. Nu vet jag att du förmodligen säger "Gee willikers, Tyler, jag vet ingenting om att köra en kretssimulator- det låter HÅRDT!". Oroa dig inte, Bunky! Det är enkelt och jag kommer att ge dig några mallar att börja med och ändra för att göra vilka konstiga ljud du vill. Inte säker på att det är värt ansträngningen? Här är en länk till en ljudfil som är redo att spela (den är gjord av "composition_1.asc" i steg 7 i denna 'ible') som du kan prova. Jag konverterade den från.wav till mp3 för att minska nedladdningstiden. https://www.rehorst.com/mrehorst/instructables/composition_1.mp3Det finns lite låg bas i ljudet så lyssna med hörlurar eller bra högtalare. Om du gillar det du ser, rösta på mig! Obs! Jag har bifogat schematiska filer för LTSpice som du kan köra på din dator, men av någon anledning när du försöker ladda ner dem ändras namn och tillägg. Innehållet i filerna ser OK ut, så efter att du har laddat ner filerna ändrar du bara namn och tillägg så ska de fungera. Rätt namn och tillägg visas på ikonerna du klickar på för att ladda ner.
Steg 1: Första sakerna först
LTSpice är ett Windows -program, men låt dig inte bli besviken. Det går bra under Wine i Linux. Jag misstänker att det inte finns några problem med att köra den i VMWare -klient, VirtualBox eller andra virtualiseringsverktyg under Linux och sannolikt också på Mac -datorer. Ladda ner en kopia av LTSpice för Windows (ugh!) Här: https://www.linear.com/ designtools/software/ltspice.jspInstallera det. Vad är LTSpice? Det är en kretssimulator för tidsdomän som varje elektronikhobbyist borde veta hur man använder. Jag kommer inte att ge en detaljerad handledning om hur det fungerar här, men jag kommer att förklara några saker du behöver veta när vi går. Ett ord av varning- det är lätt möjligt att producera för låga frekvenser eller för hög för att höra. Om du gör det och driver dina dyra högtalare med en kraftfull förstärkare kan du bara blåsa dina högtalare/förstärkare i bitar. Titta ALLTID på vågformerna innan du spelar upp dem och var noga med att begränsa volymen när du spelar upp en fil för första gången bara för att vara säker. Det är alltid en bra idé att spela upp filerna via billiga hörlurar med låg volym innan du provar högtalare.
Steg 2: Mata in
Inmatning till simulatorn sker i form av ett schematiskt diagram. Du väljer komponenter, placerar dem på schemat och kopplar sedan ihop dem. När din krets är klar berättar du för simulatorn hur du vill att den ska simulera kretsen och vilken typ av utgång du vill ha. Ta en titt på schemat som kallas resistors.asc. Du ser att det finns en krets som innehåller en spänningskälla, ett par motstånd, en märkt utgångsnod, en jord och en textkommandorad. Låt oss titta på var och en. Nu är en bra tid att öppna kretsfilen som är länkad nedan. Grund: Detta är den MEST KRITISKA komponenten i schemat. Du MÅSTE ha en jord ansluten till minst en punkt på din krets eller så får du väldigt konstiga resultat från dina simuleringar. Spänningskällan: Om du sätter en spänning i en krets måste du berätta om det är AC eller DC (eller något mer komplext), vad spänningen är, källans "interna motstånd" etc. Du kan ange dessa parametrar genom att högerklicka med pekaren på källan. Allt du verkligen behöver är motståndet för enkla simuleringar. Resistorer: Motstånden är ganska lätta att förstå. Högerklicka bara för att ställa in värdet på motstånd. Ignorera alla andra parametrar som kan gömma sig där. Märkta in- och utgångsnoder: Bara namn på noder i kretsen som är användarvänliga.- använd namn som "output", "input", etc. Simuleringsdirektivet:.tran-satsen berättar för simulatorn hur du vill att kretsen ska simuleras. Detta är en tidsdomän-simulator som betyder att den analyserar kretsen vid olika tidpunkter. Du måste berätta vad det maximala tidssteget ska vara och hur länge simuleringen ska köras i "kretstid", inte i realtid. Om du säger till simulatorn att köra i 10 sekunder av kretstid och du ställer in det maximala tidsteget till 0,001 sekunder, kommer den att analysera kretsen minst 10 000 gånger (10 sek/0,001 sek) och stoppa sedan., spänningen vid varje nod i kretsen och strömmarna in och ut från varje nod kommer att beräknas och sparas vid varje tidssteg. All den informationen kommer att finnas tillgänglig för att plotta på en skärm som en oscilloskopskärm (den horisontella axelns tid, spänning eller ström på den vertikala axeln. Alternativt kan du också skicka utmatningen till en.wav -ljudfil som du kan spela på en dator, bränna till en CD eller konvertera till mp3 för att spela på din mp3 -spelare. Mer om det senare …
Steg 3: Utmatning
Utmatning kan vara en grafisk diagram över spänning vs tid, spänning vs spänning, etc., eller en textfil som består av ett gäng spänningar eller strömmar vid varje steg, eller en.wav -ljudfil som vi kommer att använda mycket i det här instruerbara. Hämta och öppna filen "resistors.asc". Klicka på den lilla springande man -symbolen (övre vänstra delen av skärmen) och kretsen ska köras. Klicka nu på "OUT" -etiketten i kretsen. Du ser spänningen märkt "utgång" på den grafiska utgången längs en horisontell axel som representerar tid. Det är spänningen som mäts i förhållande till marken (det är därför du behöver minst en jord i varje krets!). Det är grunderna. Prova att ändra ett av motståndsvärdena eller spänningen och kör sedan om simuleringen och se vad som händer med utspänningen. Nu vet du hur du kör en kretssimulator. Lätt var det inte?
Steg 4: Nu lite ljud
Öppna kretsen kallad "dizzy.asc". Den här är en konstig brusmakare som använder en modulator och ett par spänningskällor för att producera en CD -ljud (16 bitar, 44,1 ksps, 2 kanaler) ljudfil som du kan spela med. Modulatorkomponenten är faktiskt en oscillator. Frekvens och amplitud är båda justerbara som en VCO och VCA i en riktig analog synthesizer. Vågformen är alltid sinusformad, men det finns sätt att ändra den- mer om det senare. Frekvensgränserna ställs in med mark- och rymdparametrarna. Mark är frekvensen när FM -ingångsspänningen är 1V och mellanslag är frekvensen när FM -ingångsspänningen är 0V. Utgångsfrekvensen är en linjär funktion av FM -ingångsspänningen, så frekvensen kommer att vara halvvägs mellan märket och rymdfrekvenserna när FM -ingångsspänningen är 0,5V och kommer att vara 2x märkfrekvensen när FM -ingångsspänningen är 2V. modulator kan också amplitudmoduleras via AM -ingångsstiftet. Modulatorns (oscillator) utmatningsamplitud kommer att matcha spänningen som appliceras på AM -spänningsingången. Om du använder en likströmskälla med en spänning på 1 kommer utmatningsamplituden att vara 1V (det betyder att den kommer att svänga mellan -1 och +1 V). Modulatoren har två utgångar- sinus och cosinus. Vågformerna är exakt desamma förutom att de är 90 grader ur fas. Detta kan vara roligt för stereoljudsapplikationer. Det finns ett.tran -uttalande som berättar för simulatorn det maximala tidssteget och simuleringens varaktighet. I detta fall är kretstid (total simuleringstid) = ljudfilstid. Det betyder att om du kör simuleringen i 10 sekunder får du en ljudfil som är 10 sekunder lång.. Save -satsen används för att minimera mängden data som simulatorn sparar när den kör simuleringen. Normalt sparar det spänningarna vid varje nod och strömmarna in och ut ur varje komponent. Det kan lägga till MASSOR av data om din krets blir komplicerad eller om du kör en lång simulering. När du kör simuleringen, välj bara en spänning eller ström från listan i dialogrutan och datafilen (.raw) blir liten, och simuleringen körs med maximal hastighet. Slutligen säger.wave -satsen till simulatorn att skapa en stereoljudfil med CD -kvalitet (16 bitar per prov, 44,1 ksps, två kanaler) som sätter spänningen på "OUTL" i den vänstra kanalen och spänningen vid "OUTR" i den högra kanalen.. Wav -filen består av 16 bitars samplingar. Fullskalig utmatning i.wav -filen (alla 16 bitar i ett prov aktiverat) uppstår när spänningen som matas ut är exakt +1 Volt eller -1 Volt. Din synthesizer -krets bör ställas in för att generera spänningar högst +/- 1V ut till varje kanal, annars kommer utmatningen i.wav -filen att "klippas" när spänningen överstiger +1 eller -1 V. Eftersom vi gör en ljudfil som samplas med 44,1 ksp, behöver vi simulatorn för att simulera kretsen minst 44, 100 gånger per sekund, så vi ställer in det maximala tidsteget till 1/44, 100 sekunder eller cirka 20 mikrosekunder (oss).
Steg 5: Andra typer av spänningskällor, andra typer av ljud
En analog synthesizer behöver en källa till slumpmässigt brus. Du kan generera brus med hjälp av en "beteendemässig spänningskälla" (bv) och du kan slå på och av den med en "spänningsstyrd omkopplare" (sw). Att använda bv -komponenten för att generera brus innebär att definiera spänningen utifrån en formel. Formeln för att generera brus ser ut så här: V = vit (tid*X)*Y Den vita funktionen skapar en slumpmässig spänning mellan -0,5 och +0,5 V med det aktuella tidsvärdet som ett utsäde. Inställning Y till 2 ger en +/- 1V svängning. Inställning X mellan 1 000 (1e3) och 100 000 (1e5) påverkar brusets spektrum och ändrar ljudet. Den spänningsstyrda omkopplaren behöver också några parametrar för att ställas in i ett.modelluttalande. Du kan använda flera spänningsstyrda omkopplare och flera modelluttalanden för att få var och en att bete sig annorlunda om du vill. Du måste berätta för simulatorn om "på" och "av" motstånd och tröskelspänningen som den växlar på. Vh är "hysterespänning". Ställ in det på något positivt värde som 0,4V och det kommer inga klickljud när omkopplaren öppnas och stängs. >>> Uppdatering: här är ett ännu enklare sätt att skapa en gated bruskälla- multiplicera bara brusspänningen med en pulsad källa- se easy_gated_noise.asc, nedan.
Steg 6: Klockor, trummor, cymbaler, plockade strängar
Klockor, trummor, cymbaler och plockade strängar är alla slagkraftiga. De har en relativt snabb stigningstid och en exponentiell sönderfallstid. De är lätta att skapa med sinus- och beteendemässiga spänningskällor i kombination med några enkla kretsar. Titta på den schematiska "bell_drum_cymbal_string.asc". De pulsade spänningskällorna med motståndet, kondensatorn och dioden skapar de snabba uppgången och långsamma exponentiella sönderfallsvågformarna som behövs. Dessa utspänningar modulerar utgångarna från beteendekällor som ställs in som slumpmässiga brus- eller sinusvågskällor. När den pulserade källspänningen stiger laddar den snabbt kondensatorn. Kondensatorn urladdas sedan genom motståndet. Dioden hindrar spänningskällan från att ladda ur kondensatorn när källspänningen är noll. Större motståndsvärden ökar urladdningstiden. Du kan ange stigningstiden för den pulserade källan - cymbalen är en bra källa med en mycket snabb stigningstid. Trumman är också en bruskälla som arbetar med lägre frekvens och har en långsammare stigningstid. Klockan och strängen använder sinusvågskällor som också moduleras av pulserade källor. Klockan fungerar med högre frekvens och har en snabbare stigningstid än strängen. Kör simuleringen och lyssna på resultatet. Observera att trumman visas i båda kanalerna medan alla andra ljud är antingen höger eller vänster kanal. De två motstånden vid trummautgången är ansvariga för att sätta in ljudet i båda kanalerna.
Steg 7: Sätta ihop allt
OK, nu har du sett hur man gör några ljud och hur man formar kuverten och frekvensmodulerar dem. Nu är det dags att sätta ihop några olika källor i en enda schematisk och skapa något intressant att lyssna på. Hur får du den bruskällan att komma in i kompositionen efter 33 sekunder? Hur slår du på den klingande klockan efter 16 sekunder, stänger du sedan av den och slår på den igen efter 42 sekunder? Ett sätt är att använda en beteendemässig spänningskälla för att göra det önskade ljudet och sedan slå på och av det genom att multiplicera ljudgenereringsspänningen med en annan spänning som slår på och av ljudet, vilket gjordes i bell_drum_cymbal_string.asc. Du kan göra samma sak för att tona in och ut ljud. Tanken här är att ställa in upprepande ljud och sedan använda ytterligare källor för att lägga till dessa ljud till din komposition vid önskade tidpunkter genom att multiplicera deras spänningar med ljudspänningarna. Du kan inkludera så många spänningar i den slutliga ljudutmatningen som du vill, bara multiplicera dem (samma som logiska "och") tillsammans. Genom att starta upp ljuden på en gång kommer de att förbli i perfekt synkronisering genom hela kompositionen så att de aldrig kommer att vara tidiga eller sena i musiktiden. Titta på komposition_1.asc. Det finns två klockor, en i varje kanal. Pulssignalerna fungerar under hela simuleringen, men ljuden visas bara i utgången när V (bell_r) och V (bell_l) inte är lika med 0.
Steg 8: Exponentiell ramp
Uppdatera 7/10- bläddra till botten Här är en krets som genererar en exponentiell ramp som appliceras på ett par bruskällor. V1 och V2 genererar linjära ramper som börjar vid 0 och stiger till X volt (vänster kanal) och Y volt (höger kanal) i perioder prd_l och prd_r. B1 och B3 använder en formel för att konvertera de linjära ramperna till exponentiella ramper med maximala amplituder på 1V. B2 och B4 genererar slumpmässigt brus som amplitudmoduleras av de exponentiella ramperna och parametrarna amp_l och amp_r (enkla nivåkontroller). Jag har bifogat en mp3 -fil genererad av denna krets så att du kan höra hur det låter. Du måste förmodligen byta namn på filen för att få den att spela. X och Y ställer in spänningsgränserna för de linjära ramperna. Så småningom skalas båda kanalens ramper till 1V, men genom att ställa in X och Y kan du styra den exponentiella rampens branthet. Ett litet tal som 1 ger en nästan linjär ramp, och ett stort antal som 10 ger en mycket brant exponentiell ramp. Rampperioderna ställs in med parametrarna prd_l och prd_r. Den linjära ramphöjningstiden är inställd på värdet prd_l eller prd_r minus 5 ms, och falltiden är inställd på 5 ms. Den långa falltiden förhindrar att klicka i slutet av varje ramp när amplituden sjunker tillbaka till noll. Out_l och out_r är produkterna från de tidsbaserade slumpmässiga brusspänningarna, de exponentiella rampspänningarna och parametrarna amp_l och amp_r. Observera att det högra slumpmässiga brusvärdet använder ett annat "seed" än den vänstra kanalen. Det håller bruset i varje kanal slumpmässigt och skiljer sig från den motsatta kanalen. Om du använder samma seed får du samtidigt samma värde samtidigt som slumpmässigt värde och ljudet hamnar i mitten istället för att uppfattas som två olika källor, en i varje kanal. Detta kan vara en intressant effekt att spela med … Uppdatering: märk att vågformen går från 0V till något positivt värde. Det är bättre för spänningen att svänga mellan lika positiva och negativa värden. Jag omarbetade schemat för att göra just det men det ökade komplexiteten i ekvationen som definierar vågformen lite. Ladda ner exponential_ramp_noise.asc (kom ihåg att Instructables -servern kommer att ändra namn och tillägg när du sparar det).
Steg 9: Exponentiell ramp tillämpas på en sinusvåg
Denna sida visar hur man använder den exponentiella rampen från föregående steg för att modulera en sinuskälla (faktiskt sinus och cosinus). Den beteendemässiga spänningskällan används för att förvandla en linjär ramp till en exponentiell ramp som driver FM -ingången på en modul modul2. Amplituden moduleras av både en snabb exponentiell ramp och en långsam sinusvåg. Lyssna på exempelfilen- det låter ganska konstigt.
Steg 10: Förslag
1) Du kan variera den totala simuleringstiden - håll den kort medan du spelar med komponenter och när du får det ljud du gillar, ställ sedan in simulatorn för att köra i 30 minuter (1800 sekunder) eller hur länge du vill. Du kan kopiera kretsar från en sida till en annan och du kan skapa underkretsar så att du bara kan ansluta små kretsmoduler ihop som att använda ett patchkort på en riktig synthesizer.2) En CD -samplingshastighet är 44,1 ksps. Om du håller maxsteget nere till 20 oss får du en "ren" utgång eftersom simulatorn kommer att ha data tillgänglig för varje nytt prov. Om du använder ett mindre tidssteg kommer simuleringen att vara långsam och förmodligen inte ha någon effekt på ljudet. Om du använder ett längre tidssteg kan du höra en del alias som du kanske eller inte gillar. 3) använda dialogrutan.save i schemat och när du kör simuleringen och väljer bara en av spänningarna eller strömmarna för att behålla storleken på the.raw -filen liten. Om du inte gör ett val sparas ALLA spänningar och strömmar och.raw -filen blir MYCKET stor. 4) försök att använda mycket låga frekvenser för att modulera högre frekvenser5) försök att använda högre frekvenser för att modulera lägre frekvenser.6) kombinera utgångar från några lågfrekventa källor med några högfrekventa källor för att göra saker intressanta. 7) använd en pulsad spänningskälla för att modulera en sinus eller annan källa för att ge rytm. 8) använd analoga kretsar för att forma spänningspulser till något du vill ha.9) använd matematiska uttryck för att definiera utsignalen från en beteendespänningskälla Ha kul!