Archive for the ‘Musical Instruments’ Category

Synth Programming – Filters

Friday, October 16th, 2009
Sieves, AD 1568 (wikimedia commons, public domain)

Sieves, AD 1568 (wikimedia commons, public domain)

I’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, 2009

Most 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:

A sinewave

A sinewave

A sinewave

A triangular waveform

A triangular waveform

A triangular waveform

A pulsewave

A pulsewave

A pulsewave

A sawtooth wave

A sawtooth wave

A sawtooth waveform

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, 2009

Eigenlabs 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, 2009
Aeolus

Aeolus

In 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.

(more…)

Qtractor and instrument definition files

Monday, August 24th, 2009
Qtractor Main Window

Qtractor Main Window

After Simple Sysexxer is finally available for testing, I found some time to play with my instruments and Qtractor, an audio and MIDI sequencer.

(more…)

Simple Sysexxer 0.2 beta released

Friday, August 21st, 2009
Simple Sysexxer 0.2

Simple Sysexxer 0.2

I 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.

Simple Sysexxer Source added to Sourceforge SVN

Tuesday, August 18th, 2009

I have just imported the current source code of Simple Sysexxer into Sourceforge‘s SVN server. To grab your copy, just use the following command:
svn co https://sysexxer.svn.sourceforge.net/svnroot/sysexxer/

Additionally, sysexxer.sf.net now redirects to the Simple Sysexxer page on this blog.

Simple Sysexxer 0.2 Beta available

Monday, August 10th, 2009
Simple Sysexxer 0.2 Beta

Simple Sysexxer 0.2 Beta

I just sent out an electronic message to various people who hopefully won’t be able to detect any bugs :) . If you like to help with testing, please do not hesitate to drop me a line. If no major issues occur, I’m inclined to release it before the end of this week.

Details about it can be found at it’s dedicated page of this blog.

SimpleSysexxer Resurrection

Monday, August 3rd, 2009
SimpleSysexxer Resurrected

SimpleSysexxer Resurrected

There are various tools for Windows and Mac OS available to backup and restore the memory contents of MIDI devices. For Linux there’s none except for amidi (a command line tool which does a great job BTW) and Jsynthlib. The latter one does not contain drivers for all of my devices and does not act as an ALSA sequencer client as I’d need it. So I was looking for a simple, generic tool with a graphical user interface, but to no avail.

(more…)

Running a Firewire Audio Device on Linux

Saturday, August 1st, 2009
QJackControl Firewire Settings

QJackControl Firewire Settings

Meanwhile I got the Phonic Helixboard Universal PHHB24U mixer connected to my Ubuntu Jaunty Jackalope powered Dell Precision M 4300 notebook via IEEE 1394 (aka firewire). The basic setup is simple for an experienced Linux user, but not straightforward for an average computer user. So here are some hints what to do to get such a device up and running.

(more…)

New mixing console arrived

Thursday, July 30th, 2009

After my Behringer mixing console died I needed a replacement. I wanted to avoid a fully featured mixing console, as I do not need most of its features. Instead, I was looking for a small firewire breakout box with many (at least 16) line and mic inputs. Unfortunately, I didn’t find any device fulfilling my needs. So I ended again with a fully featured 16 (or 24, if you count the aux return ins) channel mixer with built in USB 2.0 and Firewire interface, the Phonic Helix Board 24 Universal PHHB24U. It is likely that it can be run in Firewire mode using Linux thanks to the FFADO project. It is, however, unlikely that the USB mode will work. I do not care much about the latter one, as I prefer firewire anyway. And BTW: It’s my first firewire device ever. So welcome to the defloration of my notebook:

PHHB24U Front Panel

PHHB24U Front Panel

(more…)

ALSA sequencer, RtMidi and large SysEx files

Monday, July 27th, 2009

This weekend I have written some code to deal with MIDI system exclusive data. Primarly I wanted to create a graphical tool to do backups of the memory contents of my synthesizers. There are some tools available for Mac OS X and Windows, but there was none for Linux. So I had written SimpleSysexxer back in 2006, but it has some bugs and its backend code is rather experimental. So I removed all backend code from it and started from scratch.
(more…)

Mixing Console dies

Wednesday, July 1st, 2009
BehringerEurorackMx2804

BehringerEurorackMx2804

While writing the last post, my Behringer Eurorack MX 2804, a 28 channel mixing console, died. It’s about 15 years old, and it was about 900 Deutschmarks as I bought it. Compared to the 8 channel Mackies and Yamahas, it offered more than great value for the money. I always loved it for it’s features (and trust me, 28 channels are not too much for a rack mixer), but I disliked it for the weird noise and hum it sometimes produced.

It really is a pity that it dies right now. There is currently no comparable device available on the market. I desperately wait for some Linux compatible firewire device to appear with at least 12 stereo line inputs and some mic inputs, to get my synths and other audio sources connected.

I guess I need to chose an el cheapo device for the interim period. RIP.

Audio Subsystem Setup in Ubuntu 9.0.4

Wednesday, July 1st, 2009
QJackControl in action

QJackControl in action

Most synthesizers, sequencers and similar audio software on Linux use jackd, a realtime audio soundserver. “Why yet another soundserver?”, you may ask. “Aren’t there enough for Linux?”. Sure, there are. But none of them fulfils the needs of the digital musician.

(more…)

Programming the Korg Z1 Synthesizer

Saturday, April 18th, 2009

While I have excessively done synth programming in my youth, I rarely find time for it nowadays. Nevertheless it happens, especially when it is raining all day.
(more…)

DIY Ondes Martenot controller

Wednesday, February 25th, 2009

If you are addicted to electronic musical instruments, here’s a “must have seen” video of Dana Countryman’s do-it-yourself Ondes Martenot controller.

Linux Audio Conference leaving Germany

Monday, February 2nd, 2009

The Linux Audio Conference, which formerly took place in Karlsruhe, Berlin and Cologne, will leave Germany in 2009 and take place in Parma, Italy. If you plan to attend, book your flights now. If you need a GPX XML file for your GPSr, you can easily get it from openrouteservice.

There is no programme on the website yet, but it should follow during the next couple of weeks.

Using MIDI NRPN controllers

Friday, January 30th, 2009

Though I’m relatively familiar with synth programming and MIDI controllers, I never cared or needed Non-Registered Parameter Numbers. Sequence 15 shares some info about them:

To send an NRPN value, first you send messages to select the desired parameter. Continuous controller 99 is used to send the most significant byte (MSB), and controller 98 is used to send the least significant byte (LSB). If the receiver has fewer than 128 parameters, the MSB message need not be used. For example, to select parameter 131 (whatever that parameter happens to be on a given synth), you would send a controller 99 message with a value of 1, and a controller 98 message with a value of 3. (The value of the controller 99 message is multiplied by 128, and added to the value of the controller 98 message.) Having selected the parameter, you then send two more messages to specify the value of the selected parameter: controller 8 sends the MSB of the value, and controller 38 sends the LSB. (If the parameter is limited to the range 0-127, the MSB message need not be sent.) If we wanted to set the selected parameter to a value of 286, we send the controller 8 message with a value of 2 (2*128=256), and the controller 38 message with a value of 30.

Sabber geifer lechz – Minimoog Demo

Monday, January 26th, 2009

Ever wanted to see a Minimoog demoed live? Switched on Synthesizer hosts a Youtube video of hvrhd1000u. Don’t miss the related videos of the same guy. Enjoy!

CrunchPad – an open source tablet computer

Monday, January 19th, 2009

Here’s an attempt to design an open source tablet computer, the CrunchPad. My first ideas read as »Is it water resistant?«, »Is there a bike mount!?« and »Will it run jackd and Ardour?!?«. Don’t miss the videos of this promising device :) .