I'm basically thinking chiptune sound and methods - but I'm using 50-150
voices rather than the usual 3-8 or so. Sort of like what the old grand
masters of game music might have done if the C64 had had 16 SID chips instead
of one. :-)
It's an interesting exercise, trying to create a "full" sound (also including
sound effects for the game) using only the built-in waveforms and noise.
Sticking with that might make for an interesting item in the Tech Trivia
section about the game as well. :-D
I was planning on adding a resonant filter early on, but I have yet to come to
the point of actually needing it...! Being able to actually script your own
waveforms (ie switching waveforms and modulating oscillator parameters at
different points during each period), covers a whole lot of things that would
normally require specific features in the synth engine.
Sure, one could always phatten things up with a 24 dB resonant LPF - but then
again, that would just sound like all the other five billion virtual analog
synths out there...! ;-)
I'll get to samples, filters, effects and all that eventually, but I'm
actually more interested in running ChipSound programs off-line to render
complex waveforms that are then played by other programs in real time. For
example, for the strings/pad sounds, I use a dozen or two "nervously"
modulated saw waves. Imagine using a dozen voices, each one playing a pre-
rendered loop of saw banks like that. I was planning on using IFFT synthesis
for that kind of sounds (like strings that actually sound real), but I don't
really see much need for that now...
As to the control, that's pretty much defined by how you implement your
sounds. The single-argument "Velocity" and "Pitch" entry points are just a
convenient "standard" I've been using so far. As of now ("arbitrary"
implementation limits, to keep things simple, small and fast), you can have up
to 8 entry points (0 being the main program launched when starting a new
voice), and each entry point can take up to 8 arguments. What these entry
points do is entirely defined by the code; nothing hardwired there.
Think of ChipSound as a huge pile of sound chips, each with an MCU running
user defined code, but without the noise, artifacts and timing issues. :-)
Anyway, thanks for your response!
Hopefully, I'll get around to update the documentation and release that thing
soon - but now, time to get that game out the door and see what happens! :-)
On Sunday 06 November 2011, at 20.40.22, Julien Claassen
//David Olofson - Consultant, Developer, Artist, Open Source Advocate
.--- Games, examples, libraries, scripting, sound, music, graphics ---.
| http://consulting.olofson.net http://olofsonarcade.com |
Linux-audio-dev mailing list