I’ve been working on a mini-synth for making short “utility” audio cues, such as the clicks and dinks for things like clicking on menus. It uses an FM Synth that I wrote (Phase Modulation, more accurately) that has a carrier/modulator pair, an LFO (for either pitch or volume uses) and some frequency sweep options and an ASR envelope. With this, there are actually some tricky and odd sounds that can be made besides clicks.
Running the app, you can make and export wav files for game use. Another option is to import the jar into your game program and use the synth in real time. This second option has a couple benefits:
- wavs for the cues not needed
- can tweak settings on the fly (based on game state)
The zip file includes the app (dinkmaker.jar, for non-java users: just double-click it to run it) and twenty xml preset files that can be loaded and edited. Requires Java 8.
Very basic, bare-bones GUI at this point. There is some HELP available via the menu bar “Help” (first draft) but I will admit that knowing a bit about audio already will make it much easier to use.
I had some fun working as a “sound designer” instead of as a programmer, and making these patches. If you’d like to listen to a few:
http://www.adonax.com/dink/wavs/chirpUp.wav // multiple bird chirps are probably best played at slightly
http://www.adonax.com/dink/wavs/chirpDown.wav // different carrier pitches instead of the same pitch
http://www.adonax.com/dink/wavs/raygun1.wav
http://www.adonax.com/dink/wavs/raygun2.wav
http://www.adonax.com/dink/wavs/odd1.wav
http://www.adonax.com/dink/wavs/odd2.wav
http://www.adonax.com/dink/wavs/odd3.wav
http://www.adonax.com/dink/wavs/powerup.wav
http://www.adonax.com/dink/wavs/powerdown.wav
http://www.adonax.com/dink/wavs/cricket.wav
Depending on the browser, there might be a bit of clipping of the files as they are so short.
This is the first time I really worked with Java Properties. I’m trying to use them to store a default directory for the saves and loads. Please let me know if it messes up or if the design can be improved.
Suggestions very much appreciated: on gui, on demo patch set, anything really!
I will look into getting api info up later in the week for use as part of a library. It would be great to have someone using libgdx or android to work with directly, if anyone would like to experiment with trying out the library. I recently wrote a wrapper for lwjgl 3, and earlier wrote an android wrapper. But in both cases it will probably take further tweaking to make it work smoothly.
If anyone wants to, feel free to post patches on this thread. They are just XML (text) files.
Was playing around with ideas on naming, e.g., DinkSynth or DinkySynth for example. DinkMaker doesn’t exactly roll off the tongue (and reminds me of Mattel’s “ThingMaker”: my “Creepy Crawlers” kit from ages past.)