6 ms·
You'd think that making a fully digital square or sawtooth wave would be trivial compared to this, but in fact it's much, much more difficult because the digita
by SeanLuke 6y ago
You'd think that making a fully digital square or sawtooth wave would be trivial compared to this, but in fact it's much, much more difficult because the digital wave must avoid aliasing, an issue the analog wave generator needn't concern itself with.
- Applejinx 6y agoDepends on how you approach 'trivial'. I've been hacking on Music Thing Modular Chord Organs for some time: they are a little Eurorack oscillator that can play chords, based on a Teensy. The Teensy audio library determines what waves you can get, and there's a 12 bit DAC built in. You can specify the sampling rate of the Teensy with a bit of fiddling, and the limits depend on what you're asking the audio library to do. The stock Chord Organ's set up to run at 44.1k, using a couple of submixes in the library to do things like set waveform levels independently. You can also set an oscillator to drive the output pin directly, with just one waveform. I've got a couple of 'em running at 2,822,400hz instead of 44,100hz. That's 2,822k for one oscillator (I can get four running at 768k), by telling the Teensy its sample rate is something hilariously high, just to run some square and 12-bit triangle and sawtooth waves. I avoid aliasing pretty well :) and it's definitely a fully digital DAC output. It's just good at being free from aliasing because I'm not concerned about what the sampling rate 'means' in terms of 'usable notes'. The only thing I care about is getting my waves nicer. The Teensy also has a rectangular wave, which is PWM adjustable. That, at 2,822k or even 768k, is quite nice even when it's a really thin pulse… And of course you could use the square to drive an integrator :)
- TheOtherHobbes 6y agoNone of this was possible in the early 80s when the Junos were designed. The Cortex M4 in the Teensy runs at 200MHz. In the early 80s consumer-grade DSP didn't exist at all. There were some exotic studio processors with slow microprocessors supported by custom hardware multipliers, but 8MHz 16-bit microprocessors were considered fast, expensive, and exotic. Roland had a stellar run with their hardware designs. The Junos may be one of the best synthesizers ever made hitting the bullseye for price, character, simple but flexible programmability, and a legendary sweet but powerful sound. There's a finesse to this kind of audio design that IMO makes a lot of Eurorack seem clumsy and uninspired in comparison.
- ssalazar 6y agoAgreed. Its also pretty amazing what Yamaha was able to accomplish in the 1980s with the DX7 and successors using entirely digital synthesis without capable DSPs or microcontrollers. Some interesting background here: https://www.gearslutz.com/board/showpost.php?p=10602091&postcount=4&s=b602749cfee23de7777e7d23232601f1 https://www.gearslutz.com/board/showpost.php?p=10602091&post...
- type0 6y agoyeah, from technology point of view 80s synths are incredibly interesting, btw recent discussion on DX7 - https://news.ycombinator.com/item?id=25592265 https://news.ycombinator.com/item?id=25592265 The thing with eurorack that can feel uninspiring because it's never one music instrument, especially if you rewire it often and it becomes this abstract blob of music tech that is never finished, which makes it both addictive and expensive.
- dep_b 6y agoThe Alpha Juno already had a high resolution digital oscillator.
- deleted 6y ago[deleted]
- tomduncalf 6y agoThis is how the oscillators on the Novation Peak work too, using FPGAs to generate the signal at 24mhz apparently (https://novationmusic.com/en/peak-explained https://novationmusic.com/en/peak-explained) Also, Teensy is amazing! I got one recently to play with some audio stuff and it’s so much fun. Amazingly capable board really, love that it can do USB MIDI etc.
- willis936 6y agoWhat’s wrong with a digital AA filter? Also, aliasing as a concept doesn’t show up in purely digital systems.
- raphlinus 6y agoThe problem is that if you sample a mathematical waveform such as a sawtooth wave, it contains infinitely high frequencies, so the act of sampling creates aliasing. There are a lot of solutions to this in the literature, such as wavetables that are band-limited, but for simple virtual analog synthesizers, there's a technique that is close to magic in its simplicity and quality: PolyBLEP. Check it out.
- deleted 6y ago[deleted]
- SeanLuke 6y agoThat's an amazing claim. Try drawing what would appear to be a perfect square wave in a digital wave. Up, flat, down, flat. Guess what: you've just introduced enormous amounts of aliasing.
- exmadscientist 6y agoIt's not possible to get aliasing without a reference signal or reference frequency. A single purely digital signal, perhaps clocked or perhaps not, has nothing to alias against. So the claim has something to it! Once you introduce a master clock, especially one clocking an ADC, then aliasing can and does indeed show up.
- TheOtherHobbes 6y agoIn the digital domain Nyquist is a normalised ratio. It is not tied to a specific hardware clock rate. So it's perfectly possible - in fact dangerously easy - to generate waveforms with components that are >Nyquist. It doesn't matter if the hardware runs at gigahertz frequencies or subsonic frequencies. In fact it doesn't matter if there's never any hardware at all. Because there is always an implied sample rate of 1 x fs, and any signal which generates components of more than 0.5 x fs will alias.