Though I’ll not attend, I’d like to advertise this year’s Linux Audio Conference, “the conference about Open Source Software for music and sound” which takes place from May 1-4 2010 in Utrecht, the Netherlands. Hopefully the programme wets your appetite.
Archive for the ‘Musical Instruments’ Category
LAC 2010 conference
Friday, April 30th, 2010Simple Sysexxer 0.3 released
Saturday, December 19th, 2009I just uploaded Simple Sysexxer 0.3. See its dedicated page for details about download and usage.
The MIDI reception part has been rewritten to use the ALSA sequencer directly. Receiving (and sending) huge SysEx messages (greater than 256 bytes, ALSA’s buffer size) now should work reliably. At least it does with a Korg Z1 Synthesizer (168 531 bytes for the complete internal memory).
Hope you enjoy. Feedback is always welcome. Just drop me a line.
Synth Programming – “I believe in Fourier Synthesis”
Monday, December 7th, 2009To better understand sound synthesis and synth waveforms it is very useful to learn more about Fourier synthesis, the reverse process of Fourier analysis. In the following sections, I’ll try to condense the necessary knowledge as much as possible. I hope this simplification does not produce mistakable results. Otherwise please drop me a line.
(more…)
Sorting Sound Files using Ruby
Wednesday, November 25th, 2009Consider you have 2,248 files in a directory, each containing one single sound program for your favourite Z1 synth. You need to load them into the synth individually, listen to them and to sort them in directories. Painful it would be.
Fortunately, all sounds are set to one of 18 predefined categories like guitar, synth hard, synth soft, piano, organ and the like. In the SysEx files, the category is coded into the 26. byte. So it was easy to sort the files into subdirectories using a couple of lines of Ruby code (sorry for the misformatting):
#! /usr/bin/ruby
require 'fileutils.rb'
def determineCategory( filename )
file = File.open( filename, "rb:binary" )
fileContents = file.read
category = fileContents[25] + 1
# puts filename, category
unless File.directory?(category.to_s)
Dir.mkdir( category.to_s )
end
FileUtils.mv( filename, category.to_s )
end
Dir.glob( '*.[Ss][Yy][Xx]' ) do |entry|
determineCategory entry
end
This language seems to be very powerful. Need to do more with it.
Sound Collection Tools for the Korg Z1 Synthesizer
Wednesday, November 25th, 2009I’ve collected a lot of sounds for the Z1 from several web pages. All those sounds now need some sorting and rearrangement. After that, I’ll send them to the Z1, extract the best ones and refine them to my likings.
ALSA Sequencer Interface for Simple Sysexxer
Monday, November 23rd, 2009The last release of Simple Sysexxer used RtMidi for MIDI input. However, some weird things happend when I tried to receive data from my beloved Korg Z1 synth. Today I have rewritten the MIDI input thread using the ALSA sequencer API.
Korg Z1 synth bricked – almost
Friday, November 20th, 2009I wanted to try out some sounds for the Korg Z1 which are publicly available on webpages (such as the Z1 Yahoo group). To ease this process, I tried out several tools to rearrange the individual sounds across the various collections.
(more…)
Sounds from the Prophecy stuffed into the Z1
Tuesday, November 3rd, 2009The Korg Prophecy was the monophonic predecessor of the Z1. Unfortunately, both instruments are not patch compatible, so you cannot load sounds designed for the Prophecy into the Z1.
(more…)
Synth Programming – Low Frequency Oscillators
Sunday, October 25th, 2009Electronic Concert @ ZKM Kubus
Sunday, October 25th, 2009Synth Programming – More Filtering
Tuesday, October 20th, 2009While the lowpass filters are the most important in synthesizers, highpass, bandpass and bandreject (aka notch) filters are nice to use as well. Here are some examples. The horizontal red bars stand for the partial tones in a waveform. The gray area emphasizes the partials that are allowed to pass the filter. The light red bars show the partials being filtered out.
Synth Programming – More Envelopes
Monday, October 19th, 2009I’ve posted about ADSR envelopes earlier. You will find them in most synths. However, some synths provide further waveforms. As a monophonic solo synthesizer, the Minimoog provided no release portion. This results in a simpler ADS envelope:
(more…)
Two more synth videos: Klaus Schulze and Józef Skrzek
Monday, October 19th, 2009Here’s a live video of the WDR, where Klaus Schluze is treating his various synths back in 1977.
And here’s one more remarkable video, where Józef Skrzek plays a pipe organ and a Minimoog simultaneously. It’s stunning what the Moog sounds like.
Synth Programming – ADSR-Envelopes
Friday, October 16th, 2009One of the most essential modulators found in synthesizers are envelopes. Most synths at least provide two envelopes – one for the amplifier, one for the filter. Both allow to apply a contour to the sound, the first one to the volume, the latter one to the spectrum of partials.
The most basic type of an envelope is the ADSR envelope. The four characters stand for Attack time, Decay time, Sustain level and Release time. The above figure should give you a glue what this is all about. The envelope gets triggered as soon a key is pressed. After that, it raises to the maximum level, and falls down in the decay time until it reaches the sustain level. This level gets held until you release the key. After releasing the key, the envelope falls down to zero during release time.
For solo sounds, both the attack and release times usually are set to small values, so the musician only needs to adjust the decay time and sustain level to his likings. You can hear an ADSR envelope applied to a lowpass filter on the previous post.
Synth Programming – Filters
Friday, October 16th, 2009I’ve posted about base synthesizer waveforms yesterday. The signal from the oszillator(s) most often gets used to feed a filter. Almost all synths at least provide a lowpass filter. Some synths provide a multimode filter, which may contain lowpass filters in different characteristics, a highpass filter, a bandpass filter, a notch filter and maybe a comb filter. Those filters are not static. Instead one can change the cutoff frequency of the filter, which effectively means that the range of filtered partials can be influenced.
(more…)
Synth Programming – Basic Synthesizer Waveforms
Friday, October 16th, 2009Most synthesizers follow a similar approach. There’s one (most often two or three) oscillators which generate the base sound. This sound then passes a filter to filter out the unwanted harmonics. Finally, the sound gets out of the synth and is fed into an amplifier and the speakers.
Actually, it’s much more complex, but basically, that’s it. Most synthesizers provide at least the following four base waveforms:
The sinewave is a waveform which contains no partial tones at all, thus being a “boring” waveform. It is more or less senseless to filter it, as there are no partials to filter out.
The triangle wave is very similar to the sine wave, providing a couple of partials only. You can filter it, but there will be no dramatic changes in the sound.
A square wave contains all odd partials, and the sawtooth contains all partial tones. The latter two can be filtered to achieve sound changes. Sine and triangle waves are mainly used to phatten the sound or to do some interesting modulations.
Square waves often can be modulated to change their pulse width while the sound is being played. I’ll post about it in a later issue.
Because the oscillators provide the base audio material, the synth manufacturers care a lot about the “right” waveforms. Thus the waveforms slightly differ from synth to synth. The above examples have been recorded using a Korg Z1 synthesizer, which gave me the “nicest” oscillator images. On other synths, like the Waldorf microQ, the waveforms have less sharp edges, resulting in a different sound base.
Oscillators can have much more features like additional waveforms, samples, sync, frequency and cross modulation or additive synthesis. But anyway, many sounds are just built using a sawtooth or a pulsewave. If you plan to learn how to program synths, remember what they sound like.
The Eigenharp, a new electronic instrument
Thursday, October 15th, 2009Eigenlabs offers a completely new electronic instrument, the Eigenharp. For me as a synth addict, it looks like a very interesting instrument. Obviously I’m not talking about the price, but about the musical expressiveness and flexibility. The Wikipedia article still is a stub, but links to a further video.
Yes, I’d like to try it out immediately, but it seems it has not arrived at the german shores yet. Maybe the Pico is worth being an Xmas gift :) .
Update:
The inventor provides more detailed information in a video shared by Engadget.
Switching stops via MIDI in Aeolus 0.8.2
Monday, August 24th, 2009In my youth, I used to play the pipe organ in the village where I grew up. Nowadays I have less time to play my instruments, and if I have, I’m most often playing synthesizers (or even guitars) instead of walking to a church and get access to a real pipe organ.
Qtractor and instrument definition files
Monday, August 24th, 2009After Simple Sysexxer is finally available for testing, I found some time to play with my instruments and Qtractor, an audio and MIDI sequencer.
Simple Sysexxer 0.2 beta released
Friday, August 21st, 2009I have just released Simple Sysexxer 0.2 beta. See its dedicated page on this blog for details about download and usage.
I need feedback how it works with various flavours of MIDI instruments. If you can share success stories, bug reports or even feature requests, please let me know.















