1 / 37

Unit Generators and V.I.s

Unit Generators and V.I.s. Patches are configurations of V.I.s Both Patches & Virtual Instruments can be broken down into separate components called Unit Generators. Unit Generators. Have input parameters Have at least one output Perform a function: modification of a signal

Download Presentation

Unit Generators and V.I.s

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unit Generators and V.I.s • Patches are configurations of V.I.s • Both Patches & Virtual Instruments can be broken down into separate components called Unit Generators

  2. Unit Generators • Have input parameters • Have at least one output • Perform a function: • modification of a signal • combination of signals

  3. AMP DUR ATTACK TIME DECAY TIME FREQ 1 AMP FREQ 2 MULTIPLIER

  4. AMP FREQ PHASE Oscillators

  5. Oscillators • Can be driven by an algorithm in real time • Computers have, until recently, been too slow to deal with this whilst providing the user with the capabilities they require • So most virtual oscillators use a waveform that is pre-stored in a wavetable

  6. Wavetables • The value of many uniformly placed points on one cycle of a waveform are calculated • These points are stored in a wavetable

  7. Wavetables A pictorial representation of a wavetable; really it’s just a table of numbers 1 0 127 383 255 511 -1

  8. Wavetables • The oscillator will retrieve values from the wavetable to produce the wave • The position we are at along the wave is known as the phase

  9. Phase • The phase of the wave is it’s position in the wave cycle • Normally measured in degrees (0 - 360) or radians • Here it is measured in sample points • Phase (Φ) of 0 is the first sample

  10. Phase • So if the wavetable has 512 sample points • And the phase is 180 • What sample point are we at?

  11. Phase of 180 1 0 127 383 255 511 -1

  12. Periodic Waves • We only store one cycle of the wave because the wave is ‘periodic’ • This means it repeats forever

  13. Wrap Around • So if we talk about a given phase Φ1 Φ1 = 515 • The sample point (Φ) we are looking for in our wavetable is: Φ = Φ1 – 512 = 3

  14. Digital Waves & Sampling Frequency • Sound waves held digitally are cut up into small pieces (or samples) • The number of samples they are cut into affects the smoothness of the wave • CD sampling frequency = 44,100 samps/sec

  15. Wave Playback • Playing back the wave in the wavetable will produce a sound of a particular frequency • Before the wave is played back it must be calculated and then stored • The number of samples used to store each second of the waveform is known as the sampling frequency, fs

  16. Wave Playback • When the wave is played back it is played back at the same sampling frequency, fs • It is possible to figure out the frequency of the wave stored by performing a calculation

  17. Calculating the Frequency of the Wave Held in the Wavetable fs / N = f0 samples per second / samples per cycle = cycles per second (seconds/samples) / (cycles/samples) = (seconds/cycles)

  18. Calculating the Frequency of the Wave Held in the Wavetable fs / N = f0 44,100/512 = 86.13 Hz

  19. Sampling Increment (S.I.) • We don’t just want 86.13Hz • We want any frequency we want • So we use a Sampling Increment

  20. Sampling Increment (S.I.) • The sampling increment is the amount added to the current phase location before the next sample is retrieved and played back • By altering the S.I. we can use the wavetable to create waves of different frequencies

  21. Sampling Increment (S.I.) • Playing back the wave at 86.13Hz means playing it back as it is • This means adding 1 to each phase location before retrieving the next sample and playing it back • This happens 44,100 times a second, and produces 86.13 cycles each second (because there are 512 samples per cycle)

  22. Sampling Increment (S.I.) 44,100/ 512 * 1 = 86.13 Hz fs / N * S.I. = f0

  23. Increasing Playback Frequency • Increasing the S.I. decreases the number of samples played back • So the speed of the wave playback is increased, as is the frequency of the wave produced

  24. S.I. = 2 fs / N * S.I. = f0 44,100/ 512 * 2 = 172.27 Hz

  25. Rearrange the Equation fs / N * S.I. = f0 S.I. = N * f0 / fs

  26. Playback Wave at 250 Hz S.I. = N * f0 / fs S.I. = 512 * 250 / 44,100 = 2.902

  27. Table Look-Up Noise • We only have 512 samples in our wavetable • The points we have samples for may not line up with the points at which we wish to obtain samples • The S.I. is 2.902 but (going from 0) we only have samples at 2 & 3

  28. Dealing With Real Numbers • The samples we want to grab don’t exist! • Options: • truncate: 2.902 becomes 2 • round: 2.902 becomes 3 • or interpolate...

  29. Interpolation • 2.902 is used as the S.I. • so take a value at the initial phase (say 3) • add 2.902 to the initial phase = 5.902 to get the place to take the next value • add 2.902 to this to get the place to take the next value = 8.804 • and so on

  30. 0.7 0.3 5.902... 5 6 Interpolation • we don’t have values at these points so we calculate estimated values using the nearest samples (this is interpolation) 0.902 * 0.3 + 0.098 * 0.7 , or 90.2% of 0.3 + 9.8% of 0.7 0.2706 + 0.0686 = 0.3392

  31. Interpolation • Occurs for every sampling increment, so 44,100 times per second • Uses a LOT of processing power • The interpolation process still requires us to round numbers up or down, and so still produces error

  32. Table Look-Up Noise • So rounding is required whatever, and that produces error • This error is known as table look-up noise • This error affects signal to noise ratio (S.N.R.)

  33. S.N.R. • Affects the ratio achievable between quiet and loud sounds. • Dodge (1997): Ignoring the quantisation noise contributed by data converters a 512 entry table would produce tones no worse than 43, 49, and 96 dB SNR for truncation, rounding and interpolation respectively. And a 1024 entry table would produce tones no worse than 109 dB SNR for an interpolating oscillator.”

  34. A Sine Wave time, t 1.5 1 0.5 v(t) 0 -0.5 -1 -1.5 0 T/2 T 3T/2

  35. A Sawtooth Wave 1.5 1 0.5 v(t) 0 -0.5 -1 -1.5 0 T 2T time, t

  36. A Square Wave 1.5 1 0.5 v(t) 0 -0.5 -1 -1.5 0 T/2 T 3T/2 time, t

  37. A Triangle Wave 1.5 1 0.5 v(t) 0 -0.5 -1 -1.5 0 T 2T time, t

More Related