<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Points of Interest &#187; Musical Instruments</title>
	<atom:link href="http://www.christeck.de/wp/category/musical-instruments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.christeck.de/wp</link>
	<description>IT, software, gadgets, openstreetmap, synthesizers, and anything else that matters</description>
	<lastBuildDate>Fri, 30 Jul 2010 21:36:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>LAC 2010 conference</title>
		<link>http://www.christeck.de/wp/2010/04/30/lac-2010-conference/</link>
		<comments>http://www.christeck.de/wp/2010/04/30/lac-2010-conference/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 15:04:16 +0000</pubDate>
		<dc:creator>ce</dc:creator>
				<category><![CDATA[Musical Instruments]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.christeck.de/wp/?p=2226</guid>
		<description><![CDATA[Though I&#8217;ll not attend, I&#8217;d like to advertise this year&#8217;s  Linux Audio Conference, &#8220;the conference about Open Source Software for music and sound&#8221; which takes place from May 1-4 2010 in Utrecht, the Netherlands. Hopefully the programme wets your appetite.
]]></description>
			<content:encoded><![CDATA[<div id="attachment_2227" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.christeck.de/wp/wp-content/uploads/christeck.de/audio-icon.png"><img src="http://www.christeck.de/wp/wp-content/uploads/christeck.de/audio-icon-300x255.png" alt="Audio Icon (openclipart.org, public domain)" title="Audio Icon (openclipart.org, public domain)" width="300" height="255" class="size-medium wp-image-2227" /></a><p class="wp-caption-text">Audio Icon (openclipart.org, public domain)</p></div>
<p>Though I&#8217;ll not attend, I&#8217;d like to advertise this year&#8217;s <a href="http://lac.linuxaudio.org/2010/"> Linux Audio Conference</a>, &#8220;the conference about Open Source Software for music and sound&#8221; which takes place from May 1-4 2010 in Utrecht, the Netherlands. Hopefully the <a href="http://lac.linuxaudio.org/2010/?page=program">programme</a> wets your appetite.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.christeck.de/wp/2010/04/30/lac-2010-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Sysexxer 0.3 released</title>
		<link>http://www.christeck.de/wp/2009/12/19/simple-sysexxer-02-beta-released-2/</link>
		<comments>http://www.christeck.de/wp/2009/12/19/simple-sysexxer-02-beta-released-2/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 15:26:54 +0000</pubDate>
		<dc:creator>ce</dc:creator>
				<category><![CDATA[Musical Instruments]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.christeck.de/wp/?p=1472</guid>
		<description><![CDATA[I 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&#8217;s buffer size) now should work reliably. At least it does with a Korg Z1 Synthesizer (168 [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_848" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.christeck.de/wp/wp-content/uploads/christeck.de/simplesysexxer-02-waldorf-microq1.png"><img src="http://www.christeck.de/wp/wp-content/uploads/christeck.de/simplesysexxer-02-waldorf-microq1-300x192.png" alt="Simple Sysexxer 0.3" title="Simple Sysexxer 0.3" width="300" height="192" class="size-medium wp-image-848" /></a><p class="wp-caption-text">Simple Sysexxer 0.3</p></div>
<p>I just uploaded Simple Sysexxer 0.3. See its <a href="./products/simple-sysexxer/">dedicated page</a> for details about download and usage.</p>
<p>The MIDI reception part has been rewritten to use the ALSA sequencer directly. Receiving (and sending) huge SysEx messages (greater than 256 bytes, ALSA&#8217;s buffer size) now should work reliably. At least it does with a Korg Z1 Synthesizer (168 531 bytes for the complete internal memory).</p>
<p>Hope you enjoy. Feedback is always welcome. Just drop me a line.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.christeck.de/wp/2009/12/19/simple-sysexxer-02-beta-released-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Synth Programming – &#8220;I believe in Fourier Synthesis&#8221;</title>
		<link>http://www.christeck.de/wp/2009/12/07/synth-programming-%e2%80%93-i-belive-in-fourier-synthesis/</link>
		<comments>http://www.christeck.de/wp/2009/12/07/synth-programming-%e2%80%93-i-belive-in-fourier-synthesis/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 23:32:41 +0000</pubDate>
		<dc:creator>ce</dc:creator>
				<category><![CDATA[Musical Instruments]]></category>

		<guid isPermaLink="false">http://www.christeck.de/wp/?p=1616</guid>
		<description><![CDATA[To 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&#8217;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.

A Sinewave
The [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1636" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.christeck.de/wp/wp-content/uploads/christeck.de/nicubunu_Sliced_lemon.png"><img src="http://www.christeck.de/wp/wp-content/uploads/christeck.de/nicubunu_Sliced_lemon-300x273.png" alt="Sliced lemon (openclipart.org, public domain)" title="Sliced lemon (openclipart.org, public domain)" width="300" height="273" class="size-medium wp-image-1636" /></a><p class="wp-caption-text">Sliced lemon (openclipart.org, public domain)</p></div>
<p>To better understand sound synthesis and <a href="http://www.christeck.de/wp/2009/10/16/basic-synthesizer-waveforms/">synth waveforms</a> it is very useful to learn more about Fourier synthesis, the reverse process of Fourier analysis. In the following sections, I&#8217;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.<br />
<span id="more-1616"></span><br />
<strong>A Sinewave</strong></p>
<p>The most simple tone is a sinewave. None of the natural instruments is capable to create one, but the sound of a tuning fork is very close to it. In synthesizers, a sinewave usually is available directly as the output of an oszillator. We do recognize the frequency of this single sinewave as the pitch of this tone.</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/waveforms_z1_sine1.ogg'>A sinewave</a>.</p>
<p><strong>More harmonic Sinewaves</strong></p>
<p>To change the timbre of the tone, further sinewaves are added, where their frequencies are integer multitudes of the base frequency. The second partial, for example, just is the sinewave at the double frequency of the base sinewave &#8211; the octave. The third partial is the sinewave at the triple frequency &#8211; a fifth. The fourth again is an octave, the fifth is a third, the sixth again is a fifth, the seventh is a minor seventh, the eighth is an octave again and so forth. You may be surprised that there are so many &#8220;inharmonic&#8221; frequencies in a tone, but this model works very well for synthesizing sounds. Those harmonic partials are called the &#8220;harmonic series&#8221;. An instrument that uses this approach to create different sounds is the Hammond organ:</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/waveforms_XB1_DrawbarPartials.ogg'>Drawbar Partials of a Hammond Organ</a></p>
<p>The nine partials (called drawbars) of a Hammond organ, however, are not enough to simulate any natural instrument or to really create a huge set of different sounds. It is necessary to use even more partials, at least until the upper limit of the audible area was passed. Here&#8217;s another example. It&#8217;s a sawtooth wave from a Korg Z1 synthesizer. The first 32 harmonic partials are emphasized one after another, so they are clearly audible. Note that the emphasized partials are <i>not</i> added but already <i>contained</i> (and only emphasized):</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/waveforms_z1_sawtooth-PartialsEmphasizedByResonanceOscillator.ogg'>Partials emphasized by a resonance oscillator</a></p>
<p><strong>The Amplitudes of Sinewaves</strong></p>
<p>The characteristic of a particular musical instrument is the result of the amplitudes of the partials. Some partials may be nonexistent (zero amplitude), while others may be dominant. Additionally, the tone of natural instruments changes over time. Imagine a piano or mallet tone slowly fading away. The amplitude of the partials decreases, and some will decrease faster than others. Considering the stack of individual sinewaves, both aforementioned requirements mean that it was desirable to somehow influence the amplitudes of the individual sinewaves over time. The Hammond does this by fading out the tone of one of the drawbars. It&#8217;s called &#8220;percussion&#8221;:</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/waveforms_XB1_PercussionPartials.ogg'>Hammond Percussion Partials</a></p>
<p>Here&#8217;s what it sounds like when used to play the organ:</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/waveforms_XB1_DrawbarPartialPercussion-Example1.ogg'>Drawbar Percussion Example</a></p>
<p>Using a low pass filter (available in almost any synthesizer), one can damp the topmost partials of the aforementioned sawtooth wave:</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/waveforms_z1_sawtooth-lowpass.ogg'>A Sawtooth wave filtered by a lowpass filter</a></p>
<p><strong>Inharmonic Frequencies</strong></p>
<p>Until now, it was assumed that the partial tones are integer multitudes of the base sine frequency. Most instruments, however, also produce inharmonic partials &#8211; some less, some more. A violin (whose timbre is very similar to a sawtooth wave BTW) has a clear pitch and inharmonic partials will play a minor (but nevertheless important) role. If it comes to bells, drums or cymbals, however, the inharmonic partials will play a more significant role.</p>
<p>Synthesizer sounds will also benefit from inharmonic partials, either applied softly to add some &#8220;dirt&#8221; to the sound, or to create drum and cymbal like sounds.</p>
<p><strong>Many Inharmonic Frequencies</strong></p>
<p>Noise can be imagined as a tone with many frequencies constantly changing over time. By filtering some frequencies out of the noise, it is easily possible to imitate wind or the roar of the surf. Added to a triangle wave, it is possible to imitate the blowing noise of a real flute. Noise alone can be used to imitate drum like sounds.</p>
<p><strong>Additive vs. subtractive Synthesis</strong></p>
<p>Besides others, two synthesis systems have been described in this posting:</p>
<ul>
<li>The Hammond organ provides a (very basic) additive synthesis system, where the amplitude of the first 9 harmonic partials can be altered by dedicated drawbars.</li>
<li>Subtractive synthesizers provide waveforms which contain lots of partials. Filters are used to remove the unwanted partials.</li>
</ul>
<p>Further synthesis systems, such as frequency modulation or granular synthesis, are more difficult to understand and use and will thus not be described further in this posting.</p>
<p><strong>Resume</strong></p>
<p>I&#8217;d like to repeat some of the most essential portions of this posting:</p>
<ul>
<li>The most basic tone we know of is a sinewave.</li>
<li>Adding more harmonic (or inharmonic) sinewaves alters the characteristics of the tone.</li>
<li>Dynamic sounds consist of partials whose amplitudes change over time.</li>
<li>Most synthesizers provide a noise generator to create inharmonic frequencies.</li>
<li>Most synthesizers provide subtractive synthesis capabilities, where filters are used to alter the amplitudes of the partials. A Hammond organ is a very simple example for additive synthesis.</li>
</ul>
<p>I hope this posting will help to better understand some of the following postings I plan to write. If not, I did something wrong. Please drop me a line.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.christeck.de/wp/2009/12/07/synth-programming-%e2%80%93-i-belive-in-fourier-synthesis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/waveforms_z1_sine1.ogg" length="131683" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/waveforms_XB1_DrawbarPartials.ogg" length="595469" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/waveforms_z1_sawtooth-PartialsEmphasizedByResonanceOscillator.ogg" length="1191719" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/waveforms_XB1_PercussionPartials.ogg" length="537535" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/waveforms_XB1_DrawbarPartialPercussion-Example1.ogg" length="329573" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/waveforms_z1_sawtooth-lowpass.ogg" length="568772" type="audio/ogg" />
		</item>
		<item>
		<title>Sorting Sound Files using Ruby</title>
		<link>http://www.christeck.de/wp/2009/11/25/sorting-sound-files-using-ruby/</link>
		<comments>http://www.christeck.de/wp/2009/11/25/sorting-sound-files-using-ruby/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 21:27:06 +0000</pubDate>
		<dc:creator>ce</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Musical Instruments]]></category>

		<guid isPermaLink="false">http://www.christeck.de/wp/?p=1565</guid>
		<description><![CDATA[
Consider 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, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.christeck.de/wp/wp-content/uploads/christeck.de/ruby-2008.png" title="ruby-2008.png"><img src="http://www.christeck.de/wp/wp-content/uploads/christeck.de/ruby-2008.png" alt="ruby-2008.png" /></a></p>
<p>Consider 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.</p>
<p>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):</p>
<p><code><br />
<tt><br />
#! /usr/bin/ruby</p>
<p>require 'fileutils.rb'</p>
<p>def determineCategory( filename )<br />
  file = File.open( filename, "rb:binary" )<br />
  fileContents = file.read<br />
  category = fileContents[25] + 1<br />
  # puts filename, category<br />
  unless File.directory?(category.to_s)<br />
    Dir.mkdir( category.to_s )<br />
  end<br />
  FileUtils.mv( filename, category.to_s )<br />
end</p>
<p>Dir.glob( '*.[Ss][Yy][Xx]' ) do |entry|<br />
   determineCategory entry<br />
end<br />
</tt><br />
</code></p>
<p>This language seems to be very powerful. Need to do more with it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.christeck.de/wp/2009/11/25/sorting-sound-files-using-ruby/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sound Collection Tools for the Korg Z1 Synthesizer</title>
		<link>http://www.christeck.de/wp/2009/11/25/sound-collection-tools-for-the-korg-z1-synthesizer/</link>
		<comments>http://www.christeck.de/wp/2009/11/25/sound-collection-tools-for-the-korg-z1-synthesizer/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 21:06:02 +0000</pubDate>
		<dc:creator>ce</dc:creator>
				<category><![CDATA[Musical Instruments]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.christeck.de/wp/?p=1549</guid>
		<description><![CDATA[I&#8217;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&#8217;ll send them to the Z1, extract the best ones and refine them to my likings.

The Z1 offers 256 internal slots for single sounds (called programs), arranged in two banks, A [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1550" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.christeck.de/wp/wp-content/uploads/christeck.de/20091125-KorgZ1Panel.jpg"><img src="http://www.christeck.de/wp/wp-content/uploads/christeck.de/20091125-KorgZ1Panel.jpg" alt="Korg Z1 Panel" title="Korg Z1 Panel" width="300" height="225" class="size-full wp-image-1550" /></a><p class="wp-caption-text">Korg Z1 Panel</p></div>
<p>I&#8217;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&#8217;ll send them to the Z1, extract the best ones and refine them to my likings.</p>
<p><span id="more-1549"></span></p>
<p>The Z1 offers 256 internal slots for single sounds (called programs), arranged in two banks, A and B. Inserting a PC card, it can make two more banks directly accessible via a dedicated button.</p>
<p>The card provides much more space (4MB in total), and can host up to 15 so called card areas. Each card area hosts two banks. A card area switch hidden in the global menu lets the user define which of the 15 card areas is accessible directly from the synths front panel. This means that 512 sound programs are directly accessible (256 internal, one card area), while the card can host 3584 further sounds (14 remaining banks).<br />
This means it is possible to have up to 4096 sounds available in the synth.</p>
<p>That&#8217;s not a minus at all. It&#8217;s simply impracticable to search such a huge amount of sounds for a particular one. Instead one wants to use some software tools to manage the growing sound collection.</p>
<p>However, searching such a huge amount of sounds from the Z1&#8217;s front panel is painful. To manage a collection of 2,000 sounds, usually a piece of software gets used. Such tools most often not only allow to rearrange sounds, but also to edit them and to tweak other settings. So I searched the web and found some tools:</p>
<ul>
<li>Together with the Z1, Korg released an editor for Mac Os 7.5. I wished I had such a machine left just to have some fun, but even if so, it required some other software to be installed to make the tool usable. As the Z1 was not a commercially successful synthesizer, Korg did not maintain this editor and it won&#8217;t run on current versions of Mac OS.</li>
<li>It seems there was an editor for Sounddiver, but since Emagic was bought by Apple, sounddiver seems to be dead.</li>
<li>Harmony Central hosts <a href="http://www.harmony-central.com/Software/Windows/zed.html">zed</a> which looked promising, at least feature wise. However, I do not know whether it was useful for rearranging sounds. The downloadable demo version has some limitations, and the domain of the developer <a href="http://www.nooloop.com/">nooloop</a> seems to be unavailable.</li>
<li>There&#8217;s a demo version of the <a href="http://www.iax-software.com/">Korg Z1 Editor 2004</a>. AFAIR it was very limited and the price was much more the last time I visited the page. There was an update in november and it&#8217;s just about 14€. Though it&#8217;s still a Windows application, whereas I run Linux <a href="http://www.christeck.de/wp/2009/11/13/switching-from-linux-to-windows/">almost</a> all the time, I think I should give it a try again.</li>
<li>I used <a href="http://www.nilschneider.de">UniversalManager</a> a couple of years ago, a freeware Windows application, when I arranged sounds for the Access Virus synthesizer. The great thing about this small tool is that one can manage two collections for the same synth at a time. This way it is very easy to move sounds from the synth to the hard drive and to stuff others into the synth. The tool is highly configurable via a text configuration file. Unfortunately it seems that it does not fit the Z1 well. Firstly, the Z1 does not support to request individual sounds (instead, it always sends one bank as one huge SysEx package). Secondly, I have no clue whether it supports creating checksums for the Z1 or even not. If you are running one of the supported synths (such as a Waldorf MicroQ or an Access Virus), it&#8217;s worth a try.</li>
<li><a href="http://www.kvitek.com/midi/">Pete Kvitek</a> has written some command line Windows applications to convert sounds from the Prophecy or Triton to the Z1. Three further utilities can split one Z1 bank into individual sounds and merge them back into a bank, or list the names of the sounds in a file. Though I always denied to use <a href="http://en.wikipedia.org/wiki/Wine_%28software%29">wine</a> to get some Windows program to work, I didn&#8217;t resist this time. Pete&#8217;s tools do a great job: Just arrange the sounds using your computer&#8217;s file system.</li>
</ul>
<p>That&#8217;s it so far. A post about sorting the files using Ruby will follow :) .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.christeck.de/wp/2009/11/25/sound-collection-tools-for-the-korg-z1-synthesizer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ALSA Sequencer Interface for Simple Sysexxer</title>
		<link>http://www.christeck.de/wp/2009/11/23/alsa-sequencer-interface-for-simple-sysexxer/</link>
		<comments>http://www.christeck.de/wp/2009/11/23/alsa-sequencer-interface-for-simple-sysexxer/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 23:43:13 +0000</pubDate>
		<dc:creator>ce</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Musical Instruments]]></category>
		<category><![CDATA[Products]]></category>

		<guid isPermaLink="false">http://www.christeck.de/wp/?p=1526</guid>
		<description><![CDATA[The 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.

I hear complaints about the sparse ALSA documentation every now and then. Most people use [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1533" class="wp-caption aligncenter" style="width: 138px"><a href="http://www.christeck.de/wp/wp-content/uploads/christeck.de/simplesysexxerappicon.png"><img src="http://www.christeck.de/wp/wp-content/uploads/christeck.de/simplesysexxerappicon.png" alt="Simple Sysexxer Icon" title="Simple Sysexxer Icon" width="128" height="128" class="size-full wp-image-1533" /></a><p class="wp-caption-text">Simple Sysexxer Icon</p></div>
<p>The last release of <a href="http://www.christeck.de/wp/products/simple-sysexxer/">Simple Sysexxer</a> used <a href="http://www.music.mcgill.ca/~gary/rtmidi/">RtMidi</a> 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.</p>
<p><span id="more-1526"></span></p>
<p>I hear complaints about the sparse <a href="http://www.alsa-project.org">ALSA</a> documentation every now and then. Most people use Matthias Nagorni&#8217;s <a href="http://www.suse.de/~mana/alsa090_howto.html">commented example code</a>. I read the code of other ALSA sequencer clients during the last couple of days, and I got the impression that many coders took advantage of the open source principle. Or the other way around: copy and paste is great ;-) . Anyway, I learned some things about C hacking while writing my own code, and I&#8217;m getting better reading other people&#8217;s code day by day.</p>
<p>Here are some snippets of the code which &#8220;works for me&#8221;. I inherit QThread for the MIDI in class. From it&#8217;s constructor, I invoke the init method to create the client for the ALSA sequencer (sorry for the formatting, Wordpress doesn&#8217;t do better):</p>
<p><code><br />
<tt><br />
void MidiIn::init()<br />
  {<br />
    sequencerHandle = 0L;<br />
    sequencerEvent = 0L;<br />
    if ( snd_seq_open( &#038;sequencerHandle, "default", SND_SEQ_OPEN_INPUT, 0 ) < 0 )<br />
      {<br />
        emit errorMessage ( tr( "Cannot initialize the MIDI subsystem."), tr( "Please ensure ALSA is accessible." ) );<br />
      }</p>
<p>    snd_seq_set_client_name(sequencerHandle, APPNAME );</p>
<p>    if ( snd_seq_create_simple_port( sequencerHandle, APPNAME, SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, SND_SEQ_PORT_TYPE_APPLICATION) < 0 )<br />
      {<br />
        emit errorMessage ( tr( "Cannot create MIDI port."), tr( "Please ensure ALSA is set up properly." ) );<br />
      }<br />
  }<br />
</tt><br />
</code></p>
<p>The run method gets invoked as soon as the thread gets started. The polling code has been stolen from Matthias' examples. Thanks a bunch :) :</p>
<p><code><br />
<tt><br />
void MidiIn::run()<br />
  {<br />
    recordMidi = false;<br />
    int npfd = snd_seq_poll_descriptors_count(sequencerHandle, POLLIN);<br />
    struct pollfd* pfd = (struct pollfd *)alloca(npfd * sizeof(struct pollfd));<br />
    snd_seq_poll_descriptors(sequencerHandle, pfd, npfd, POLLIN);<br />
    while ( true )<br />
      {<br />
        // Avoid too much CPU load. According to the MIDI baud rate, 4 bytes need at least 1024 microseconds to pass the chord.<br />
        usleep( 512 );<br />
        if ( poll( pfd, npfd, 100000) > 0 &#038;&#038; recordMidi == true )<br />
          {<br />
            processInput();<br />
          }<br />
      }<br />
  }<br />
</tt><br />
</code></p>
<p>Here's the code that does "the actual work". The ALSA sequencer gets passed the client's handle and sequencerEvent, which is a pointer of type snd_seq_event_t. ALSA will set this pointer to the memory address where it buffers the current event. As I'm only interested in SysEx data, I leave the body of the loop in any other case. If it is SysEx data, I copy the actual data over to a QByteArray.</p>
<p>ALSA splits (variable length) SysEx data into chunks of 256 bytes. That's why I check whether the data starts with an 0xF0 and ends with an 0xF7. If so, the package is complete and gets send to the main thread via a signal. Otherwise the loop continues collecting data, informing the main (GUI) thread that a chunk of data arrived. This is needed to inform the user that data still is coming in:</p>
<p><code><br />
<tt><br />
void MidiIn::processInput()<br />
  {<br />
    do<br />
      {<br />
        snd_seq_event_input( sequencerHandle, &#038;sequencerEvent );<br />
        if ( sequencerEvent->type != SND_SEQ_EVENT_SYSEX )<br />
          {<br />
            snd_seq_free_event( sequencerEvent );<br />
            continue;<br />
          }<br />
        // Stolen from aseqmm/alsaevent.cpp by Pedro Lopez-Cabanillas<br />
        tempBuffer.append( QByteArray( (char *) sequencerEvent->data.ext.ptr, sequencerEvent->data.ext.len ) );</p>
<p>        // ALSA splits sysex messages into chunks, currently of 256 max bytes in size<br />
        // Therefore the data needs collection before sending it to the master thread<br />
        if ( tempBuffer.startsWith( 0xF0 ) &#038;&#038; tempBuffer.endsWith( 0xF7 ) )<br />
          {<br />
            emit eventArrived( tempBuffer );<br />
            tempBuffer.clear();<br />
          }<br />
        else<br />
          {<br />
            emit chunkArrived();<br />
          }<br />
        snd_seq_free_event( sequencerEvent );<br />
      }<br />
    while ( snd_seq_event_input_pending( sequencerHandle, 0 ) > 0 );<br />
  }<br />
</tt><br />
</code></p>
<p>There are a lot of things that can be improved in this code. Patches are always welcome :) . OTOH it will hopefully give other hackers a good starting point. The code also can be found in <a href="http://sysexxer.svn.sourceforge.net/viewvc/sysexxer/trunk/">SVN</a>. See the files src/MidiIn.h and src/MidiIn.cpp.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.christeck.de/wp/2009/11/23/alsa-sequencer-interface-for-simple-sysexxer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Korg Z1 synth bricked &#8211; almost</title>
		<link>http://www.christeck.de/wp/2009/11/20/korg-z1-synth-bricked-almost/</link>
		<comments>http://www.christeck.de/wp/2009/11/20/korg-z1-synth-bricked-almost/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 00:17:39 +0000</pubDate>
		<dc:creator>ce</dc:creator>
				<category><![CDATA[Musical Instruments]]></category>

		<guid isPermaLink="false">http://www.christeck.de/wp/?p=1497</guid>
		<description><![CDATA[I 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.

Unfortunately, either one of the files was corrupted or the tool I used had problems [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1498" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.christeck.de/wp/wp-content/uploads/christeck.de/20091120-KorgZ1FromTop-web.jpg"><img src="http://www.christeck.de/wp/wp-content/uploads/christeck.de/20091120-KorgZ1FromTop-web-300x142.jpg" alt="Korg Z1 synth" title="Korg Z1 synth" width="300" height="142" class="size-medium wp-image-1498" /></a><p class="wp-caption-text">Korg Z1 synth</p></div>
<p>I wanted to try out some sounds for the Korg Z1 which are publicly available on webpages (such as the <a href="http://groups.yahoo.com/group/korgz1/">Z1 Yahoo group</a>). To ease this process, I tried out several tools to rearrange the individual sounds across the various collections.<br />
<span id="more-1497"></span></p>
<p>Unfortunately, either one of the files was corrupted or the tool I used had problems under certain circumstances. Some of the files I sent to the synth have been corrupted, but as the tool calculated a proper checksum, those files have been accepted by the Z1.</p>
<p>At startup, the Z1 loads the sound program A000. Unfortunately I loaded one of the damaged files into this slot, causing the Z1 to endlessly reboot when switching it on. Perspiration! A short websearch, however, helped to solve the problem &#8211; the Z1 features an emergency boot. Good luck. Here&#8217;s how to do it, but you will loose any user data in the synth:</p>
<ul>
<li>Switch it off.</li>
<li>Press and hold both programmable buttons left of the ribbon control pad (SW 1 and SW 2).</li>
<li>Switch it on. Release the buttons as soon as the display reads as »Emergency Boot«. The Z1 will now boot the OS from its ROM. All sounds will be set to »Init Prog«.</li>
<li>To get rid of the damaged sounds, go to the global menu, page one, and disable the memory protection.</li>
<li>Go one page back and select »Factory Load«. If you are sure that only programs are damaged, switch from »All Data« to »All Program«. Press the button »Enter« twice to reset all sound programs.</li>
<li>Reboot the device to check whether it is operational again.</li>
</ul>
<p>This was just an issue of a couple of minutes, but the moment of shock was rather impressive :) .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.christeck.de/wp/2009/11/20/korg-z1-synth-bricked-almost/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sounds from the Prophecy stuffed into the Z1</title>
		<link>http://www.christeck.de/wp/2009/11/03/sounds-from-the-prophecy-stuffed-into-the-z1/</link>
		<comments>http://www.christeck.de/wp/2009/11/03/sounds-from-the-prophecy-stuffed-into-the-z1/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 00:17:04 +0000</pubDate>
		<dc:creator>ce</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Musical Instruments]]></category>

		<guid isPermaLink="false">http://www.christeck.de/wp/?p=1381</guid>
		<description><![CDATA[The 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.

However, Pete Kvitek has written a converter, and some Prophecy patches are available on the Z1 Yahoo Group. There are two files, Z1Prophecy0 and Z1Prophecy1. Each one [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1383" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.christeck.de/wp/wp-content/uploads/christeck.de/guitar.png"><img src="http://www.christeck.de/wp/wp-content/uploads/christeck.de/guitar-300x181.png" alt="Electric Guitar (openclipart.org, public domain. Thanks, guys!)" title="Electric Guitar (openclipart.org, public domain. Thanks, guys!)" width="300" height="181" class="size-medium wp-image-1383" /></a><p class="wp-caption-text">Electric Guitar (openclipart.org, public domain. Thanks, guys!)</p></div>
<p>The 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.<br />
<span id="more-1381"></span><br />
However, <a href="http://www.kvitek.com/midi/">Pete Kvitek</a> has written a converter, and some Prophecy patches are available on the <a href="http://launch.groups.yahoo.com/group/Z1/">Z1 Yahoo Group</a>. There are two files, Z1Prophecy0 and Z1Prophecy1. Each one contains two banks of sounds, a total of 512 patches.<br />
The first one contains some incredible cool sounds, and I spent several joyful hours this weekend playing the Z1. To give you a better clue what the Z1 sounds like, here are some snippets I recorded while testing the sounds. That&#8217;s not music at all, just a few notes »hacked into the keyboard«.</p>
<p>I really enjoy the <a href="http://www.christeck.de/wp/2009/07/30/new-mixing-console-arrived/">Phonic Helix Board 24 Universal</a>. Using <a href="http://jackit.sf.net">jack</a>, I can easily record audio from any of its inputs using qarecord or <a href="http://plugin.org.uk/timemachine/">timemachine</a>. None of the sounds has been postprocessed. It&#8217;s the pure signal as received form the Z1 &#8211; including the effects. BTW: The names of the recordings do not match the patch names in the Z1, just in case you are looking for them.</p>
<p>I recorded the files using timemachine in wav format at 96kHz. I then used <a href="http://audacity.sourceforge.net/">Audacity</a> to cut and normalize the recordings. I would have used sox as well, but I wanted to have some manual control over what happens, and Audacity features a jack output option (using <a href="http://www.portaudio.com/">Portaudio</a>, a cross-platform-audio-subsystem).</p>
<p>Let&#8217;s start with a set of pad sounds:</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-padmajestic.ogg'>Majestic Pad</a></p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-padsawpercussive.ogg'>Percussive Pad</a></p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-padsilk.ogg'>Silk Pad</a></p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-padsoft.ogg'>Soft Pad</a></p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-padwarm.ogg'>Warm Pad</a></p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-padyammer.ogg'>Yammer Pad</a></p>
<p>The Z1 features a phase modulation oscillator model, similar to the<br />
frequency modulation used by the famous Yamaha DX-7. The name mainly is different due to legal issues. The results, however are very similar.</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-FmBells.ogg'>FM bells</a></p>
<p>Of course it is capable of producing all of the old style analoguesque sounds you may expect from a multi oscillator model synth. Here are some traditional lead sounds:</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-leadmogi.ogg'>I mog den Moog lead</a></p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-LeadSawClassical.ogg'>Classical Saw Lead</a></p>
<p>Here&#8217;s the traditional 5th sound:</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-lead5th.ogg'>Lead 5th</a></p>
<p>And a similar one, with oscillator sync. This means that one of the oscillators gets restarted as soon as the master oscillator reached the end of its phase:</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-leadsync.ogg'>Sync Lead</a></p>
<p>The plucked string oscillator model can be used to create guitar or harp like sounds. Admittedly, this recording was not played very well. It more sounds like played by a machine than a human player. I apologize:</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-pluckedstrings.ogg'>Plucked Nylon Strings</a></p>
<p>The plucked string model also is capable for sounds imitating lead guitars. For the keyboarder it&#8217;s always hard to compete with the guitarists. If you want to top a sustained guitar sound, you are in need of a lot of manual work. Except you are using the right synth, of course ;-) :</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-leadpluckedstring.ogg'>Plucked String Lead</a></p>
<p>Here&#8217;s a sound using the reed model. The physical models of the Z1 are very good in imitating overblown respectively clipping sounds:</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-flutehard.ogg'>Hard Flute</a></p>
<p>Here&#8217;s another example with some clipping tendencies:</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-leadhard.ogg'>Hard lead</a></p>
<p>This clipping even is possible when using the string model. Here&#8217;s a medieval like sound. Note that the first few and some of the last notes sound one octave too high &#8211; unintentionally:</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-leadstringoverblownmedieval.ogg'>Medieval String</a></p>
<p>And finally, here&#8217;s the guitar killer ;-) . The sound came directly from the Z1, with no further processing applied. Admittedly, I used the touch pad controller excessively to make it sound what it sounds like:</p>
<p><a href='http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-leadsuperhard.ogg'>Super hard guitar killer lead</a></p>
<p>That&#8217;s it for today. I hope you liked the show. I will surely post more elaborated examples in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.christeck.de/wp/2009/11/03/sounds-from-the-prophecy-stuffed-into-the-z1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-padmajestic.ogg" length="310978" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-padsawpercussive.ogg" length="419200" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-padsilk.ogg" length="908010" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-padsoft.ogg" length="462072" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-padwarm.ogg" length="376152" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-padyammer.ogg" length="586484" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-FmBells.ogg" length="492905" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-leadmogi.ogg" length="177536" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-LeadSawClassical.ogg" length="267357" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-lead5th.ogg" length="326486" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-leadsync.ogg" length="281910" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-pluckedstrings.ogg" length="457585" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-leadpluckedstring.ogg" length="121520" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-flutehard.ogg" length="446413" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-leadhard.ogg" length="273935" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-leadstringoverblownmedieval.ogg" length="882033" type="audio/ogg" />
<enclosure url="http://www.christeck.de/wp/wp-content/uploads/christeck.de/Z1-Samples-20091102-leadsuperhard.ogg" length="488130" type="audio/ogg" />
		</item>
		<item>
		<title>Synth Programming – Low Frequency Oscillators</title>
		<link>http://www.christeck.de/wp/2009/10/25/synth-programming-%e2%80%93-low-frequency-oscillators/</link>
		<comments>http://www.christeck.de/wp/2009/10/25/synth-programming-%e2%80%93-low-frequency-oscillators/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 03:15:57 +0000</pubDate>
		<dc:creator>ce</dc:creator>
				<category><![CDATA[Musical Instruments]]></category>

		<guid isPermaLink="false">http://www.christeck.de/wp/?p=1339</guid>
		<description><![CDATA[Synth sounds would be too static (and thus boring) if there were no modulators like envelopes. To get even more spice into a sound, synth programmers use low frequency oscillators, in short LFOs.

The Minimoog provides three ocillators. The third one often was used to apply a vibrato to the sound. A vibrato effectively means to [...]]]></description>
			<content:encoded><![CDATA[<p>Synth sounds would be too static (and thus boring) if there were no modulators like <a href="http://www.christeck.de/wp/2009/10/19/synth-programming-%e2%80%93-more-envelopes/">envelopes</a>. To get even more spice into a sound, synth programmers use low frequency oscillators, in short LFOs.</p>
<p><span id="more-1339"></span></p>
<p>The <a href="http://en.wikipedia.org/wiki/Minimoog">Minimoog</a> provides three ocillators. The third one often was used to apply a vibrato to the sound. A vibrato effectively means to modulate the pitch of the main oscillator(s), thus called frequency modulation aka FM.</p>
<p>Most modern synths provide two, three or even more LFOs which can be routed to almost arbitrary destinations, not only to the main oscillators&#8217; pitches. Use cases often found are filter cutoff modulation, volume modulation (aka tremolo), panorama modulation and the like.</p>
<p>LFOs basically offer similar waveforms as the main oscillators. The most important ones are sine and triangle waves. Most often also sawtooth and squarewaves are supported. Special waveforms include random and sample &#038; hold waveforms, the latter one more or less being a random waveform as well.</p>
<p>Some synths provide the aforementioned basic waveform as additional exponential waves, granting less synthetic sound changes. For the same reason the LFOs&#8217; waveforms can be changed concerning their contour (Access Virus) or to modulate the symmetry (Waldorf Microwave I), to give the sound more living and breathing.</p>
<p>LFOs often provide a fade in time. Some machines allow the LFO 1 to sync each other to put them into the same phase. Additionally modern synths offer sync capabilities to the MIDI clock, so the LFOs can perform modulations according to the speed and rhythm of a (software) MIDI sequencer.</p>
<p>The speed of LFOs often is less than the audible range. However, modern software synths provide speeds which clearly reach the audible area. This allows the creation of interesting sounds using frequency modulations of the main oscillators or the filter cutoffs.</p>
<p>Using LFOs is a complex topic and a source of endless hours of joy and pleasure. It heavily depends on the type of sound to create how to use them. Thus this posting remains what it is: a bird&#8217;s eye view on LFOs. I will share some detailed usage in future posts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.christeck.de/wp/2009/10/25/synth-programming-%e2%80%93-low-frequency-oscillators/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Electronic Concert @ ZKM Kubus</title>
		<link>http://www.christeck.de/wp/2009/10/25/electronic-concert-zkm-kubus/</link>
		<comments>http://www.christeck.de/wp/2009/10/25/electronic-concert-zkm-kubus/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 22:04:41 +0000</pubDate>
		<dc:creator>ce</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Musical Instruments]]></category>

		<guid isPermaLink="false">http://www.christeck.de/wp/?p=1327</guid>
		<description><![CDATA[I&#8217;m just back from a concert at the ZKM Kubus. The first perfomer was Dieter Torkewitz who played a concert for piano, tape recorder and lights:

The second (and fourth) performance was played on a reacTable by Günter Geiger (on the right hand side. The table in the center is a projection of an overhead camera):
The [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m just back from a concert at the <a href="http://en.wikipedia.org/wiki/Center_for_Art_and_Media_Karlsruhe">ZKM</a> Kubus. The first perfomer was Dieter Torkewitz who played a concert for piano, tape recorder and lights:</p>
<div id="attachment_1328" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.christeck.de/wp/wp-content/uploads/christeck.de/ZKM-20091024-Dieter_Torkewitz.jpg"><img src="http://www.christeck.de/wp/wp-content/uploads/christeck.de/ZKM-20091024-Dieter_Torkewitz-300x225.jpg" alt="ZKM 20091024 - Dieter Torkewitz" title="ZKM 20091024 - Dieter Torkewitz" width="300" height="225" class="size-medium wp-image-1328" /></a><p class="wp-caption-text">ZKM 20091024 - Dieter Torkewitz</p></div>
<p><span id="more-1327"></span></p>
<p>The second (and fourth) performance was played on a reacTable by Günter Geiger (on the right hand side. The table in the center is a projection of an overhead camera):</p>
<div id="attachment_1329" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.christeck.de/wp/wp-content/uploads/christeck.de/ZKM-20091024-Günter-Geiger.jpg"><img src="http://www.christeck.de/wp/wp-content/uploads/christeck.de/ZKM-20091024-Günter-Geiger-300x225.jpg" alt="ZKM 20091024 - Günter Geiger" title="ZKM 20091024 - Günter Geiger" width="300" height="225" class="size-medium wp-image-1329" /></a><p class="wp-caption-text">ZKM 20091024 - Günter Geiger</p></div>
<p>The third piece was called »Blautopf« (which is a lake in southern germany) and performed by Heiko Plank. He played a special, self-developed instrument with a solid wooden body and several strings. He used his very own name for the instrument &#8211; »Plank«:</p>
<div id="attachment_1330" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.christeck.de/wp/wp-content/uploads/christeck.de/ZKM-20091024-Heiko_Plank.JPG"><img src="http://www.christeck.de/wp/wp-content/uploads/christeck.de/ZKM-20091024-Heiko_Plank-300x225.jpg" alt="ZKM 20091024 - Heiko Plank" title="ZKM 20091024 - Heiko Plank" width="300" height="225" class="size-medium wp-image-1330" /></a><p class="wp-caption-text">ZKM 20091024 - Heiko Plank</p></div>
<p>After the concert, the audience was invited to play the reacTable &#8211; at reduceed volume though ;-) . The media museum hosted at the ZKM bought such an instrument and plans to put it at the exhibition &#8211; in operational state, of course, so visitors can use it to make noise.</p>
<p>It consists of a table which gets read by and used as a display of a computer inside it (a Mac Mini BTW). At the borders of the table, there are various geometrical objects like cubes, rectangels with rounded corners and stars. Those objects can be put on the table, where they are immediately recognized by the computer and put into the audio flow. The computer then puts touch-screen-controls around them which can easily be used to influence the behaviour of the object.</p>
<p>The object types include sound generators like classical analogue synth modules or sample players, modifiers like filters and triggers to create rhythmical sequences. Turning an object also influences its behaviour, depending on its type. It also is possible to change the sound of a module by drawing the desired waveform with the fingers directly on the table. Wicked stuff. Here&#8217;s a closeup pic of the instrument:</p>
<div id="attachment_1331" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.christeck.de/wp/wp-content/uploads/christeck.de/ZKM-20091024-reacTable.jpg"><img src="http://www.christeck.de/wp/wp-content/uploads/christeck.de/ZKM-20091024-reacTable-300x225.jpg" alt="ZKM 20091024 - reacTable" title="ZKM 20091024 - reacTable" width="300" height="225" class="size-medium wp-image-1331" /></a><p class="wp-caption-text">ZKM 20091024 - reacTable</p></div>
<p>A very interesting instrument indeed. I didn&#8217;t play it myself as it was crowded by several rows of interested people. I will try it out as soon it is installed at the media museum.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.christeck.de/wp/2009/10/25/electronic-concert-zkm-kubus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
