distorsion finns överallt i musik, särskilt när elgitarrer är inblandade. Det är det krispiga, fuzzy ljudet som gör att rockmusiken låter stenig. Det uppstod av misstag när för mycket signal matades in i Analoga komponenter och människor insåg att det gjorde ett intressant ljud.
en av anledningarna till att det låter så coolt är att det bevarar frekvensen för noten som spelas, medan du lägger till andra frekvenser ovanpå. Med analoga komponenter fungerar detta (slags) genom att klippa signalen som används för att generera ljudet. Slutresultatet beror på de kretsar och komponenter som används, så det finns mycket variation. Rätt distorsion kan lägga till tecken till något ljud.
i den digitala världen skapas distorsion vanligen med hjälp av en teknik som kallas vågformning, vilket är ett coolt koncept som jag tyckte förtjänade ett blogginlägg. Du kan använda vågformning för att skapa en enkel klippförvrängning, men det kan också göra några fler saker.
allt under denna punkt behöver javascript aktiverat för att köra, källkoden är här om du inte litar på mig. Jag använder några ljuddemos baserade på rena sinusvågor som låter helt hemskt, men graferna är så mycket vackrare. Jag har sett till att saker inte är för höga men se till att din volym inte är superhög. Ljuden blir bättre i slutet.
jag vet att några av er kommer att titta på detta på en telefon. Lycka till, tekniskt sett borde det fungera.
Master volume control
Använd detta för att ändra volymen för varje ljud på den här sidan. Klicka på varje diagram för att spela sitt ljud och klicka igen för att stoppa.
ren sinusvåg
Detta är en grundläggande sinusvåg som spelar på 440Hz (en a-anteckning) med klippning, du kan blekna mellan de klippta och inte klippta vågorna och justera klippnivån med skjutreglagen nedan.
Cross fade mellan ren sinusvåg och klippt:
ändra mängden klippning:
när klippvärdet ligger utanför vågens vanliga värde låter den klippta sinusvågen exakt samma som den rena sinusvågen. Jag sa ju att de låter hemskt…
trevligare ljud
grupper av sinusvågor låter något mindre dåligt än enstaka vågor, matematiker där ute vet att du kan bilda något ljud med en kombination av sinusvågor, men jag går inte så långt.
jag tillämpar samma klippning på en grupp med sju sinusvågor som har frekvenser nära, men inte exakt samma. Detta gör att de stör varandra på ett sätt som orsakar en slående effekt (det låter fortfarande inte så trevligt).
en quirk av klippning är att tystare ljud inte kommer att träffa tröskeln, så bara de högre ljuden ändras. Så här får du” overdrive ” – effekter på höga ljud.
en annan bieffekt av klippning är att den begränsar volymen, så förvrängningen är ofta kopplad till en ökning till amplituden.
vågformen här (och ovan) dras ungefär 100x långsammare än ljudet du kan höra:
den här reglaget ändrar distorsionsmängden, längre till höger är mer klippning i kombination med en högre boost:
Vågformning
Under huven använder jag en teknik som kallas vågformning för att skapa de klippta signalerna. Det används ofta för att emulera mer klassiska distorsionsljud som är lite mer involverade än klippning. Och det kan göra ganska mycket mer.
det fungerar genom att använda en överföringsfunktion, som kartlägger varje ingångsvärde (mellan -1 och 1) till ett utgångsvärde också mellan -1 och 1.
här är några exempel på överföringsfunktioner, axlarna i diagrammet går båda från -1 till 1. Markörpositionen visar exempelvärden för funktionen:
ingång: 0
Utgång: 0
nedan visas resultatet av att överföringsfunktionen appliceras på en sinusvåg. Klicka på grafen för att spela upp ljudet, du kan ändra funktionen genom att klicka på knapparna medan den spelas för att höra skillnaden.
lite info om de olika funktionerna (titta på den här sidans källa och Sök ”Hej!”för att se funktionerna själva):
- klippt – exakt samma som det första exemplet, med klippvärdet 0,5
- klipp/Boost – klipp till 0.5 och fördubblar amplituden för att hålla volymen densamma
- exponentiell – rundar kanterna lite, emulerar ett överdriven analogt system
- kvadratisk – fördubblar frekvensen
- Noisy – lägger till lite slumpmässigt brus på toppen
- Very Noisy – ersätter signalen med slumpmässigt brus, men du kan fortfarande höra den ursprungliga tonen (jag tror att detta beror på aliasing)
- linear – lämnar ingången oförändrad och återger det ursprungliga ljudet
- Wave fold och Wave Wrap – emulera analoga kretsar som använder komparatorer
dessa låter så mycket bättre med riktiga ljud
varför slösade jag så mycket tid på sinusvågorna? 1359>
här är några ljudinspelningar som kommer att köras genom överföringsfunktionen, jag har kopierat de olika distorsionsknapparna nedan så att du kan röra om med ljudet medan det spelas (kom ihåg att linear kommer att spela ljudet oförändrat). Ha så kul!
gitarr med Reverb
dessa kanske inte fungerar i vissa webbläsare, försök spela en av sinusvågorna ovan först och maila mig sedan
några sista Quirks
den kvadratiska låter så udda. Det beror på att det är en jämn funktion medan de flesta andra är… udda. Dessa är biverkningar av funktionens symmetri, de förändrar övertonerna som produceras av förvrängningen.
skillnaden mellan klipp/boost och exponentiell är subtil – det här är de typer av skillnader som blir mycket viktiga för high end ljudutrustning. Människor kommer att spendera mycket tid och pengar på att leta efter exakt rätt ljud.
slutet
jag hoppas att du hittade det coolt, jag vet att det är ett slumpmässigt ämne. Jag bygger en synthesizer i javascript just nu, därav det konstiga ämnet. Håll dig uppdaterad eller kontakta dig om du är intresserad.