Skip to content

Releases: dennisppaul/wellen

20241120

20 Nov 09:30
Compare
Choose a tag to compare
  • added Mod Tracker examples
  • compiled SAM + midiclock for x86_64 + arm64 on macOS
  • Tone can now load and play samples with Tone.load() ( currently raw format, 32bit IEEE float only )
  • Sampler can now pause and resume playback

20240426

26 Apr 08:37
Compare
Choose a tag to compare
  • Sampler can now record samples
  • Sampler can now set to a specfic duration in seconds
  • Sampler is now trigger with play() ( instead of start() )
  • added example with Vocoder and SAM combined
  • added example that demonstrates how to use a Sampler as an envelope
  • added example where the Wavetable data can be drawn interactively
  • added Waveshaper with example
  • added option to check and adjust sample rate for default audio output devices with Wellen.CHECK_DEFAULT_AUDIO_DEVICE_SAMPLE_RATE = true;
  • added encoding and endianess options to AudioDeviceConfiguration
  • added option to correct sampling rate with Wellen.CHECK_DEFAULT_AUDIO_DEVICE_SAMPLE_RATE = true; ( for output device ) to fix error in windows OS.

20230216

16 Feb 13:58
Compare
Choose a tag to compare
  • added detune oscillator to InstrumentDSP which can be enabled per instrument with enable_detune(boolean)
  • added envelopes for low-pass filter (LPF) in InstrumentDSP
  • Sampler can now be tuned to a base frequency. after doing so the audible frequency of the sampler can be set by ‌set_frequency(float)
  • Sampler now has note_on(int,int) and note_off methods
  • added callback float audio(...) to DSP to allow single sample process

20230107

07 Jan 16:57
Compare
Choose a tag to compare
  • added pitch detection ( using YIN algorithm ) + sing-along example
  • improved buffer drawing in DSP now draws all in- and output buffers
  • added analysis package that includes the following items:
    • BeatDetection
    • EnvelopeFollower
    • FFT (Fast Fourier Transform)
    • FrequencyDistribution
    • PitchDetection
    • RootMeanSquare
    • Sonogram
    • SoundLevelPressure
  • added visualizations for Sonogram + FrequencyDistribution with example ( see ExampleDSPAnalysis01SonogramFrequencyDistribution )
  • added PitchShifter
  • added listener functionality to Beat + BeatDSP ( similar to Trigger )
  • renamed DSPTrack to Track and merged DSPModule into Track
  • added Delay effect as DSP node
  • renamed WAVESHAPE to WAVEFORM
  • moved ( most ) DSP related classes to dedicated package ( i.e an extra import directive is required import wellen.dsp.*; from now on )
  • added basic support for android platform
  • added new mechanism to configure audio system with AudioDeviceConfiguration
  • added options for 8/24/32-bit in+output ( wellen used to be 16-bit only )
  • added enable_reverb to Tone
  • added NoteEvents which generates recurring events based on the timing concept of musical notation
  • added ExampleDSP23MultipleDSPInstances which demonstrates how to operate with multiple audio devices from within one application
  • audio rendering can now be paused and resumed with DSP.pause(boolean)
  • InstrumentDSP now interpolates frequency and amplitude changes by default. this prevents audible artifacts when changing values fast. the behavior can be deactivated with InstrumentDSP.always_interpolate_frequency_amplitude_changes = false;

20220914

14 Sep 07:18
Compare
Choose a tag to compare
  • added example with SAM singing
  • SAM can now speak phonemes
  • SAM can now parse text strings to phonemes
  • added SAM native lib for Linux Ubuntu x86_64
  • added constants for (most) MIDI notes
  • added option to start MIDI in/out from ID
  • added option to start DSP from name
  • added instructions on how to Setup Internal MIDI Communication to README
  • added option to reset BeatMIDI beat counter at MIDI stop event
  • added MIDI clock generator command line tool
  • added option to define loop in- + output-points in Sampler ( see ExampleDSP21SamplerWithLoopPoints )
  • added method Wellen.find_zero_crossings() to make sample data
  • added SamplerListener so that applications can receive events when Sampler finished playing a sample
  • added FilterBiquad class to DSP section
  • added DaisySP library to DSP section
  • added DSPTrack and DSPModule which allow to compose complex DSP-based and beat-based structures
  • added VowelFormatFilter to emulate vowels formed by human vocal cords
  • renamed ToneEngineInternal + InstrumentInternal to ToneEngineDSP + InstrumentDSP
  • added Pattern + Loop two classes which allow to create tick/beat based composition structures
  • added wavetable generators for TRIANGLE, SAWTOOTH, and SQUARE with harmonics
  • added alternative set_frequency() + set_amplitude() to Wavetable that interpolates to a value rather then setting it directly ( e.g prevents audible edges in signal )

20220427

27 Apr 11:14
Compare
Choose a tag to compare
  • added HarmonicTable
  • added in- and out-point in Sampler
  • added convenience methods to EventReceiverMIDI ( i.e midi_note_on(channel, note, velocity), midi_note_off(channel, note), midi_control_change(channel, number, value), midi_program_change(channel, number, value), midi_clock_tick(), midi_clock_start(), midi_clock_continue(), midi_clock_stop(), midi_clock_song_position_pointer(offset) )
  • added new distortion types to Distortion
  • added Pan with three different panning strategies
  • added FMSynthesis
  • added mechanism to clean up Beat timers
  • fixed a conversion error which caused noise line input
  • changed default sampling rate to 48KHz
  • added example ExampleExternal09RecordWAV for recording line input into WAV files
  • added a series of effects e.g echo, distorion, compressor ( adapted from rakarrack a guitar effect processor app written in C/C++ which in turn is using source code adpated from ZynAddSubFX )
  • added master effects to ToneEngineInternal
  • added master volume to ToneEngineInternal

20210105

05 Jan 21:43
Compare
Choose a tag to compare
  • added instrument library
  • added example for multiple tone engines
  • added Envelope with multiple stages, ramp and loop option, and listeners ( for stage end and envelope end )
  • added noise generator ( white, gaussian white, pink, simplex )
  • added Distortion with different distortion strategies
  • added Filter another filter class that implements very simple low, high and bass-pass filters
  • added SAM ( Software Automatic Mouth ) a speech software first published in 1982 for Commodore C64
  • added very rudimentary WAV support for im- + export
  • added Vocoder

20201215

15 Dec 20:51
Compare
Choose a tag to compare
  • added jitter and phase offset to Wavetable
  • moved examples into a single folder
  • added Reverb
  • added master reverb to Tone

20201208

08 Dec 15:42
Compare
Choose a tag to compare
  • renamed project to wellen
  • prepared release on processing.org website
  • added BeatDSP to generate a beat events from DSP
  • added ExampleDSP10SampleRecorder which demonstrates how to record data and play it back with Sampler
  • enabled Sampler to play samples backwards
  • added ExampleInstruments08CustomDSPInstrument which demonstrates how to implement a custom instrument with multiple oscillators and a kick drum
  • added FFT for analyzing audio signals
  • released a series of screencasts on youtube explaining some of the examples: Wellen
  • cleaned up method names to comply to methods start with verb paradigm

20201202

02 Dec 22:58
Compare
Choose a tag to compare
  • implemented software tone engine ( based on DSP classes )
  • removed dependency on external sound libraries ( minim + jsyn )
  • removed GUI examples with controlP5
  • added panning to instrument
  • added LFOs to instrument
  • added LPF to instrument
  • made instrument options ( ADSR+LPF+LFOs ) more coherent
  • software tone engine now allows to post process output with DSP
  • added Low-Pass Filter class ( Moog ladder )
  • improved Beat class to accept any object for callback
  • improved ADSR ( removed clicks when triggered at high frequency )
  • added interpolation between sample in Wavetable ( helps with small buffer LFOs )
  • added Trigger to allow triggering on rising and falling edges
  • introduced interfaces for input, output and process for DSP classes ( more semantic than functional )
  • renamed package