DinkSyth Help [first draft]

OVERVIEW: DinkSynth is a tool for making and playing short SFX such as utility clicks. It can be used either stand-alone, or as an embedded resource. Cues can be loaded from and stored to external XML files, or exported as playable WAV files with the following format: 44100 fps, 16-bit, stereo, little endian. The API allows procedural playback on demand, with no sound file data required beyond a few variables. Sound files made with this utility are license-free. Licensing terms for the use of the jar and api as an embedded resource are yet to be determined.

Features:

  • Phase Modulation Synthesis, via a Carrier and Modulator pair
  • a Low Frequency Oscillator (LFO) ranging from 1 to 100 Hz that can be applied to either the frequency or the amplitude of the carrier
  • an ASR Envelope (attack/sustain/release), with up to 250 milliseconds per stage
  • three sweep controls, applying to the carrier frequency, the lfo frequency, and the modulation amplitude

    Sounds that can be made and operated with DinkSynth include:

  • clicks and dinks for utility uses such as menu selection actions
  • simple power-ups and power-downs
  • ray gun effects
  • bird chirp effects
  • many exotic and interesting modulation-based sounds
  • TO USE:

    DinkSynth loads with a default dink sound. To hear, click the [Play] button, or press the [Spacebar] key.

    Name: the text shown is the file name. The text will be used as the default file name when saving patches. Saving and loading is done via Menu:File.

    Carrier Frequency: this can range from approximately 8 to 8000 Hz, corresponding to MIDI Key values of 0 to 120. The slider has 1000 proportional steps. Greater frequency ranges and granularity can be obtained using the API, and this applies to all the sliders.

    Carrier Pitchbend: the frequency of the carrier can be made to either sweep up or down. The slider (100 steps) determines the size of a factor that is multiplied against the frequency to create the sweep.

    LFO Mode: the selection Vibrato applies sine wave modulation to the carrier frequency. The selection Tremolo applies sine modulation to the carrier volume.

    LFO Frequency: can range from 1 to 100 Hertz, via 900 proportional steps.

    LFO Amplitude: currently only pertains to the degree of vibrato. In tremolo mode, the modulation is either on or off. The slider ranges from 0 to 1 via 100 steps.

    LFO Frequency Sweep: the LFO frequency can be made to sweep up or down. The slider control only operates if either Rise or Fall are selected.

    Modulator Mode and Frequency: when ABS is selected, an absolute Hertz value, determined by the Frequency slider, is used. When REL is selected , a relative Hertz value is obtained by multiplying the carrier frequency by the factor from the modulation frequency slider. The frequency slider has 1000 proportional steps and has the same range, in absolute mode, as the carrier frequency slider.

    Modulation Amplitude: the amplitude of the modulator ranges from 0 to 1 where the high is defined within the software synth. There are 1000 proportional steps. With phase synthesis, the modulator creates frequency sidebands that sound along with the carrier. The number of sidebands, and the amount of energy contained in them, increases as the amplitude of the modulation increases. The exact frequencies and amplitudes of individual sidebands can be calculated mathematically via Bessel functions, but their behavior is hard to describe. Their pattern is loosely similar to a low pass filter with a mild amount of cue. Basically, increasing the amplitude will usually result in a brightening of tone. NOTE: the controls are not set up to prevent aliasing.

    Modulation Amplitude Envelope Mode: determines to how the Modulation Amplitude changes or not during playback. When Static is selected, the amount set by the Modulation Amplitude slider is constant. When Env is selected, the ASR envelope is applied in proportion to the amount specified by the amplitude slider. When either Rise or Fall are selected, the adjacent slider is enabled and an amount of sweep is applied to the modulation amplitude value.

    Envelope Onset Duration: also known as the attack portion of the envelope, controls the amount of time taken for the volume of the sound to go from 0 to full volume. The slider ranges from 1 to 250 milliseconds. Longer values are used for fade ins. Very short attacks (e.g., just one or two milliseconds) will usually create a click.

    Envelope Sustain Duration: this controls the amount of time the sound plays at full volume. The slider ranges from 1 to 250 milliseconds.

    Envelope Release Duration: this controls the amount of time the sound takes to transition from full volume to silence. The slider ranges from 1 to 250 milliseconds. The longer value is used for fade outs. Very short releases (e.g., just one or two milliseconds) will likely create a click.

    Some suggestions and ideas on editing

    Patches of various types have been included with this build. These can be used as starting points for creating new patches. Consider loading them into multiple copies of the DinkMaker running at the same time. This way, one can edit and compare the effect of changing different parameter values.

    There are several click patches provided. Each one makes use of a different base sound combined with very short envelope durations. The shortness adds a degree of inharmonicity as the quick attack or release approach the discontinuity of an Impulse signal. By editing the envelope durations to be slightly longer, the base sound quality of the click gradually becomes more apparent.

    The Brush and ReverseBrush are set up to create a maximum amount of random content in the signal, creating white noise. To a limited extent, manipulating the frequencies and modulation amplitudes can affect the tone color of this noise. But signal filtering has not been implemented, which, admittedly, limits what can be created with this tool.

    Setting the modulator frequency to an integer ratio to the carrier will often generate sidebands that are harmonic. In fact, a 1:1 ratio creates sidebands that follow the overtone series for the carrier note. In contrast, setting the modulator and carrier to weakly-related values can create more clangorous sidebands.

    The range of frequencies allowed for the carrier and modulator was deliberately extended into values too low to hear as distinct tones, overlapping with the range of the LFO which itself has been extended up into the lower end of the audible range. This was done to allow a greater variety of interactions between the three oscillating components.

    (c) 2016 Philip Freihofner, all rights reserved

    Built with PFAudio, an ongoing project.