Wikipendium

Share on Twitter Create compendium Add Language
Edit History
Tools
  • Edit
  • History
  • Share on Twitter

  • Add language

  • Create new compendium
Log in
Table of Contents
  1. Online ressurs
  2. Sampling
    1. Nedsampling
    2. Bitreduksjon
  3. Panorering
    1. Lineær panorering
    2. Kvadratrotbasert panorering
    3. Delaybasert panorering
  4. Filter
    1. Filtertyper
    2. Enkle filtere
    3. FIR
    4. IIR
    5. Båndbredde
  5. Modulert delay
    1. Chorus
    2. Flanger
    3. Phaser
    4. Waveguide
  6. Modulasjonsteknikker
    1. Amplitudemodulasjon
    2. Ringmodulasjon
    3. Single Sideband-Modulasjon
    4. Frekvensmodulasjon
    5. Fasemodulasjon
    6. Adaptiv FM
    7. Asymmetrisk FM
  7. Forvrengning
    1. Klipping
    2. Likeretter
    3. Hyperbolsk tangens
      1. Modifisert hyperbolsk tangens
    4. Waveshaping
    5. Slope-basert delay
    6. Compression
  8. Reverb
    1. Refleksjoner
    2. Kamfilter
    3. Allpassfilter
    4. Gardner reverb
    5. Freeverb
    6. Feedback Delay Network
    7. Convolution reverb
  9. Prosessering i frekvensdomenet
    1. Fourier Transform
    2. Anvendelser
  10. Granulær lydsyntese
    1. Grunnleggende parametere
    2. Overgang mellom pitch og rytme
  11. Konvolusjon
    1. Optimalisering
‹

MUST3053: Gehørbasert digital signalprosessering

Tags:
  • gdsp
+

Online ressurs

http://gdsp.hf.ntnu.no

Sampling

Høyeste frekvens som kan representeres med samplerate $x$ er $x/2$. Denne frekvensen kalles nyquistfrekvensen.

Nedsampling

Naiv nedsampling ("sample and hold") gir artifacts i lyden (kan høres "metallisk" ut). Noen ganger kan dette være ønskelig som lydeffekt (eksempel), mens andre ganger vil man ikke at det skal høres. I sistnevnte tilfelle bør man bruke en mer ordentlig metode som er basert på zero padding og lavpassfilter.

Noen samplingsrater:

Lydopptak i studio 48 kHz, 96 kHz, 192 kHz
CD-kvalitet 44.1 kHz
Gamle dataspill 8 kHz, 11 kHz, 22 kHz

Bitreduksjon

Vanligvis bruker man enten 16 eller 24 bits til å representere et sample i en lydfil. Dette gir god kvalitet og dynamikk. Hvis man reduserer bitdybden naivt vil man introdusere kvantiseringsstøy og det dynamiske spennet blir redusert, altså svake lyder vil få lavere kvalitet eller forsvinne helt. Man kan bitredusere ned til 12 bits og de fleste vil ikke legge merke til det. Reduserer man til 8 bit blir det hørbar støy. Reduserer man til 2-4 bits blir det en mer ekstrem effekt og svake lyder blir borte. Kan brukes til å lage knusefet gitarlyd, for eksempel.

Panorering

Lineær panorering

100 % venstre $1 * venstre, 0 * høyre$
50 % $0.5 * venstre, 0.5 * høyre$

Lydstyrken oppleves som svakere midt på. Derfor bruker man typisk ikke lineær panorering.

Kvadratrotbasert panorering

100 % venstre $\sqrt{1} * venstre, \sqrt{0} * høyre$
50 % $\sqrt{0.5} * venstre, \sqrt{0.5} * høyre$

Jevnere volum. Altså ca. like høyt midt på som helt til venstre. Denne typen panorering brukes også til kryssfading mellom forskjellige lyder.

Delaybasert panorering

Det er mulig å forsinke signalet i én av stereokanalene for å få det til å høres ut som lyden kommer fra den andre siden. Bruker man en delaytid på 1 ms, tilsvarer det ca. tiden det tar en lyd å forplante seg 23 cm, altså avstanden fra det ene øret til det andre.

Filter

Filtertyper

Lavpassfilter Lave frekvenser går gjennom
Høypassfilter Høye frekvenser går gjennom
Båndpassfilter Lar lyd rundt en bestemt senterfrekvens gå gjennom, mens lavere og høyere frekvenser blir filtrert
Båndstoppfilter Filtrerer lyd rundt en bestemt senterfrekvens, mens andre frekvenser går gjennom

Enkle filtere

Lavpassfilter $f(x) = 0.5 * x_n + 0.5 * x_{n-1}$ 0 hz går gjennom, mens nyquistfrekvensen filtreres helt vekk
Høypassfilter $f(x) = 0.5 * x_n - 0.5 * x_{n-1}$ 0 hz filtreres helt vekk, mens nyquistfrekvensen går gjennom
Båndpassfilter $f(x) = 0.5 * x_n - 0.5 * x_{n-2}$ nyquistfrekvens/2 går gjennom, mens 0 hz og nyquestfrekvensen filtreres helt vekk
Båndstoppfilter $f(x) = 0.5 * x_n + 0.5 * x_{n-2}$ nyquistfrekvens/2 filtreres helt vekk, mens 0 hz og nyquestfrekvensen går gjennom

FIR

Et filter basert på et sett med koeffisienter. Er alltid stabilt. Impulsresponsen er definert av koeffisientene. $$y(n) = a_0 * x_n + a_1 * x_{n-1} + ... + a_N * x_{n-N}$$ Filterets orden bestemmes av høyeste delay, $N$.

IIR

Et filter med feedback. Må designes for å være stabilt. Kan gi krapp frekvensrespons. Impulsresponsen er i teorien uendelig lang.

Båndbredde

Båndbredde Avstanden mellom øvre og nedre frekvens i filteret. Brukes typisk om båndpassfilter.
Oktaver Båndbredde kan måles i oktaver. Mange oktaver betyr høy båndbredde.
Q Bandwidth kan måles i Q. Liten Q betyr høy båndbredde, stor Q betyr liten båndbredde (smalt filter)

Konvertering mellom oktaver og Q er forklart her: http://www.rane.com/note170.html

Modulert delay

Chorus

Kan brukes til å gjøre lyden rikere. Det den gjør er å legge til et (eller flere) forsinket signal. Forsinkelsestiden varieres ved hjelp av f.eks. en sinus-basert LFO. Typisk delaytid er innenfor 20 - 50 ms.

Flanger

Samme teknikk som i chorus, men kortere delaytid (typisk 0.5 - 15 ms), pluss at den kan ha feedback. Kan kjennes igjen ved at den gjør transienter litt mer diffuse. Rasping.

Phaser

Phaser-effekten kan forveksles med flanger, men er laget på en annen måte. Den er basert på allpassfilter. En phaser kan i teorien sette notches hvor som helst. I en flanger er notchene alltid harmoniske. Phaser gir også gjerne en smudere lyd enn flanger.

Waveguide

Modellering av et instrument basert på eksitering (f.eks. plekter på gitar) og resonans i en resonator (f.eks. gitarkasse). Har gjerne et element av lavpassfilter.

Modulasjonsteknikker

Amplitudemodulasjon

Signalets amplitude moduleres med en modulasjonsbølge som går mellom 0 og 1. Gir to sidebånd.

Ringmodulasjon

Signalets amplitude moduleres med en modulasjonsbølge som går mellom -1 og 1. Signalfrekvensen blir borte, to sidebånd oppstår.

Single Sideband-Modulasjon

Gir kun ett sidebånd, ikke to.

Frekvensmodulasjon

Frekvensen til en bærebølge moduleres med en modulatorbølge. Dette gir flere sidebånd.

Fasemodulasjon

En implementasjon av frekvensmodulasjon som unngår problemet at modulatorfrekvensen blir 0 Hz.

Adaptiv FM

F.eks. kan pitchtracking brukes for å måle grunnfrekvensen i signalet, og så brukes denne grunnfrekvensen til å bestemme en fornuftig modulatorfrekvens.

Asymmetrisk FM

Kun øvre eller nedre sidebånd. Gir et enklere spekter enn vanlig FM.

Forvrengning

Klipping

Amplituden blir begrenset/klippet dersom den går over et visst nivå.

Likeretter

Verdier under en terskel (f.eks. 0) blir speilet opp

Hyperbolsk tangens

$$f(x) = tanh(k * x) = \frac{e^{k * x} - e^{-k * x}}{e^{k * x} + e^{-k * x}}$$

Modifisert hyperbolsk tangens

$$f(x) = \frac{e^{(k + a) * x} - e^{(-k + b) * x}}{e^{k * x} + e^{-k * x}}$$

Waveshaping

f(x) er basert på en eller annen tabell eller mattefunksjon. Waveshaping kan brukes f.eks. til å gjøre odde overtoner svakere.

Slope-basert delay

Forsinkelse basert på lydbølgens kurvatur. Siden denne forvrengningseffekten er basert på delay, vil den ikke ødelegge/redusere dynamikken.

Compression

En compressor er en fin måte å gjøre volumet i en innspilling jevnere. Men pass på, for den kan også heve volumet på bakgrunnstøy der det ikke er så mye signal.

Reverb

Refleksjoner

Kan deles opp i to typer: 1) Tidlige refleksjoner og 2) Sene refleksjoner (diffuse). Det er krever mye datakraft å modellere refleksjoner, og derfor bruker man gjerne tilnærminger som ikke er så dyre.

Kamfilter

Et kamfilter legger til en forsinket versjon av signalet. Dette gir resonanser ved frekvens 1/delaytid og korresponderende overtoner. Et kamfilter kan brukes som reverberator. Den farger dog lyden, så man bør passe på at man velger gode parametere for å unngå at lyden blir for farget.

Allpassfilter

Slipper gjennom alle frekvenser, men snur fasen på noen bestemte frekvenser. Ideelt sett er frekvensresponsen flat, og det er en ønskelig egenskap i reverb-effekter. Kan brukes som reverberator.

Gardner reverb

En kombinasjon av kamfilter og allpassfilter i en nøstet konfigurasjon. Et kjennetegn på denne reverben er at den typisk bruker omvendt invertert fase på hver stereokanal for å oppnå en slags stereoeffekt.

Freeverb

Laget ved hjelp av mange kamfilter i parallell og så mange allpassfilter i serie. Ble en suksess på grunn av finjusterte, velvalgte parametere. Bruker delaytider som ikke er delelige på hverandre.

Feedback Delay Network

Reverb som er basert på et nettverk av delaymoduler med både lokal og global feedback. Denne reverben bruker også pitchmodulasjon (med tilfeldige avvik, altså filtrert støy) for å unngå "stående bølger" (frekvenser som forsterker seg selv pga feedbackloopen). Hvis pitchmodulasjonen blir for voldsom, vil man fort legge merke til det.

Convolution reverb

Basert på opptak av impulsrespons i et rom. Reverben høres da ut som det rommet.

Prosessering i frekvensdomenet

Fourier Transform

Konverterer lyd til frekvensdomenet. Man ser på frekvensspekteret i et sliding window. Siden FT krever at signalet er periodisk, bruker man en window function for å gjøre det periodisk innenfor vinduet. Man kan ha presisjon i tid eller frekvens. Omvendt proporsjonal trade-off der altså.

  • Liten vindusstørrelse (f.eks. 128): God oppløsning i tid, dårlig oppløsning i frekvens
  • Stor vindusstørrelse (f.eks. 16k): God oppløsning i frekvens, dårlig oppløsning i tid

Anvendelser

  • Subtrahere en støyprofil fra et lydopptak
  • Pitche opp og ned lyder
  • Vocoder
  • Timestretching. Se f.eks. paulstretch
  • Justere formantmønstere til en lyd
  • Lage et slags lavpassfilter ved å redusere frekvenskomponenter over en viss terskel
  • "Kryptere" lyd
  • Eliminere feedback
  • Smøre frekvensspekteret utover i tid. Kan minne om reverb.

Granulær lydsyntese

Grunnleggende parametere

Kornrate Bestemmer hvor ofte korn skal spilles av
Transpose "Pitchen" i hvert korn. Bestemmer opplevd pitch ved lav kornrate og formantmønster ved høy kornrate.
Envelope Envelopen til hvert korn. For krappe endringer i denne envelopen vil kunne føre til at man får frekvenser over nyquistfrekvensen, og da får man en skarp lyd med ekstra støy.
Waveform Lyden som spilles av i hvert korn
Kornlengde Hvor langt er hvert korn

Overgang mellom pitch og rytme

Frekvenser under 20 Hz vil høres som rytmer mens frekvenser over 50 Hz vil høres som toner. Eksempel

Konvolusjon

"Spille av en lyd gjennom en annen". Brukes typisk til reverb og filtrering (FIR).

Optimalisering

Siden direkte konvolusjon krever mange multiplikasjonsoperasjoner (ofte for mye til at man kan gjøre det i sanntid), bruker man gjerne "fast convolution" i stedet. Det man gjør er at man konverterer lyden til frekvensdomenet og gjør en kompleks multiplikasjon der, for så å konvertere tilbake til tidsdomenet. Dette introduserer endel forsinkelse (lik lengden på impulsresponsen), og for å redusere denne forsinkelsen gjør man operasjonen i mindre partisjoner om gangen.

Written by

iverjo
Last updated: Tue, 1 Dec 2015 21:23:06 +0100 .
  • Contact
  • Twitter
  • Statistics
  • Report a bug
  • Wikipendium cc-by-sa
Wikipendium is ad-free and costs nothing to use. Please help keep Wikipendium alive by donating today!