Saturday, July 27

Geek

Daily News Stuff 26 July 2019

One What Edition

Tech News



Video of the Day



This looks like fun.  The A800 won't have enough memory to really do sample-based sound and won't have an analog synth because they're pretty much gone - though there are plenty of Yamaha OPL2 and OPL3 chips floating around on sites like AliExpress for a dollar a piece.

But the H750 has plenty of processing power to fuss about with audio waveforms, even including DSP extensions.  And this looks like it's mostly straightforward programming so long as you have the CPU performance.

Basically, as far as I can see, I can start with a table of a sine wave, say 128 16-bit values.  The CPU scans through the table at, say, 96kHz, working out the next value to be output based on the selected frequency and a bit of interpolation.  Easy.

Then I add an ADSR envelope, which is amplitude modulation of that waveform.  Also easy.  I can make that a second 128-value lookup table, with a much lower frequency, automatically generated from the specified parameters, and just multiply with the audio sample.  That makes it dead easy to implement inverted and multipoint envelopes like DAHDSR (with delay and hold parameters).  Once the envelope waveform is generated it's just a bunch of MAC operations.

The next trick that is also easy is to shift a voice between wave tables in a pattern controlled by an LFO - low frequency oscillator - which can be done as yet another wavetable.  So at T=1 the voice will be a sine wave, at T=10 50% sine and 50% triangle, and at T=15 100% triangle.

Another way to envision that is to have two primary wavetable oscillators per voice, each with independent amplitude modulation.  Same result, but possibly easier to understand.

The next step beyond that is frequency modulation, where an LFO would adjust not the value from the wavetable but the index used to find the value in the wavetable.  With sufficient CPU power, though, that is also easy.

I need to find some more videos to see all the tricks these synths do, but so far I think it's all relatively straightforward.  DSP stuff can certainly get hairy, but this doesn't seem to be.

Update: Found what looks like a good series of articles on this.  (EarLevel Engineering)  The author points out that you need multiple wavetables per waveform to avoid aliasing as you increase the frequency.  That means more ROM space, but ROM will be plentiful.


Disclaimer: Bleep bloop.

Posted by: Pixy Misa at 01:35 AM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 580 words, total size 5 kb.




Apple pies are delicious. But never mind apple pies. What colour is a green orange?




47kb generated in CPU 0.04, elapsed 0.1708 seconds.
56 queries taking 0.151 seconds, 287 records returned.
Powered by Minx 1.1.6c-pink.