Open Source Reviews

A set of Reviews about more obscure Open Source Programs that I come across.

Alsa Modular Synthesiser

brian | 24 October, 2011 21:40

Alsa Modular Synthesiser

Alsa Modular Synthesiser (AMS) is a software emulation of the classic Moog Synthesiser (Apparently Moog is pronounced to rhyme with vogue(!)). This form of synthesis is where a series of modules are connected together to take some form of input (often a midi event) and apply a set of signal processes to produce an output.

This software is available as part of the ubuntu apt repository and also the fedora yum repository provided by Stanford university via the Planet CCRMA site from their Audio Research Lab. The ubuntu version is probably easiest to start using whereas the planet ccrma material gives you access to the Real Time Kernel module which is useful if you are running challenging amounts of audio software concurrently. I am not going into installation details here but I will respond to feedback if people are interested. alt
A Moog synthesiser is a rack unit of modules, usually together with at least one keyboard. As the keyboards where originally monophonic, (ie you only get the sound from the last key pressed), groups would have a bank of keyboards to generate chords etc.

You can buy a Moog  synthesiser if you want, they are very expensive. If you want one then be prepared to spend a few thousand to get started and a few hundred per module to expand your system. Large scale systems cost a million or so. On ebay today there are examples of small ones ranging from £1000 to £5000

Groups such as Pink Floyd used Moog Synthesisers to generate much of the unique characteristics of the sound in their music. The Rolling Stones bought one and sold it on to Tangerine Dream. Apparently the music of the film “Tron” was done using a Moog.

It is termed as Analog because the pitch of a note is determined by a Voltage (rather than  a number) and a 1 Volt change in input caused a 1 Octave (Double the frequency) change in  pitch. Voltages have a continuous set of  values and so they are an Analog to the Sound being decsribed by the Voltage. A number is discrete and so a numeric description of a sound is called digital. The pros and cons of digital and analog are beyond what we are trying to deribe here.
In the emulation provided by AMS, the Voltages are virtual but I will use the word voltage nevertheless.

Analog Synthesis is part of the Music Technology A-Level syllabus and this is the only free emulator I have found of any quality. There is a very expensive piece of software for Macs that does something similar but the interface is not so obviously an Analog Synthesiser emulation.

In AMS, there are a huge array of available Open Source filters which you can plug in. A real Moog would cost you a few hundred pounds for each module. A “composition” using AMS would consist of a set of modules, the cord connections and the modules settings. Collectively these are known as a “patch”. Example patches are only good for the original machine type and module set. There are one or two example ones on the net.

The way the software emulation works is to put modules together, adjust each modules settings to your taste and then see which noise you get. I have created two simple patches here. The first one uses

2 VCO mocules. (Voltage controlled Oscillators).
Some Scope modules, so you can see the signal that you are getting.
A PCM to send output to the sound card.
A CV unit to generate Voltages for the VCOs
I have also used a wav out module to capture the sound which I then compressed using Lame. (from the command line this is lame mywavfile.wav mymp3file.mp3, alternatively use audacity where the mp3 module has been compiled in.).

A context menu on each module gives access to the module settings. Patch modules together by clicking on an out, moving to an input and clicking again. The context menu lets you disconnect.

Beat Note generator

The first patch generates two sinewaves with frequencies very close to one another, the result is a “beat note” and so the circuit demonstrates some nice fundamental Physics. The Maths is a neat application of the sum of two trig functions as well.

The circuit works like this.

The CV unit is used to generate two Voltages. (CV units can generate up to 4 voltages).
These are fed to the “freq” inputs of the VCOs which convert the voltage into a frequency. The Sine wave outputs are fed to a mixer and from the output of the mixer to a PCM out unit so some noise is made.
The Scope units are used to look at the signals in various parts of the patch. They are very useful things for “debugging” a patch.

The sound made is in this mp3 file. (I added a wav out module and patched it in like the other modules.) beat.mp3

An Instrument.

To make something that works a bit like a keyboard I used the following modules. This circuit just about covers the A-level music tech Analog synthesis element. The only component I am leaving out is the Env module (described later).

A Virtual keyboard (A real one is just as easy).

MCV. This is the Midi connection. The  outputs mirror what a real midi keyboard send to a Moog synthesiser. The gate signal is a level of 1V so long as any key is pressed. The Freq signal is a Voltage proportional top the key on a logarithmic scale from note to note. 1V being a whole octave. Any particular Note is 2 to the power one twelfth times the frequency of the note that is a semitone below. This gives the twelve note equitempered scale.
The velocity signal gives a measure of how hard the key was hit and the trigger is a pulse every time a note is hit.

Ring Modulator. This multiplies the input signals and so you can use it to distort a sine input in an interesting way. This is a very popular module with pop groups.

LFO. Low frequency oscillator. Much lower than hearing but you can use it to modulate a simple tone.

VCA. Voltage Controlled Amplifier. Feeding the LFO into the gain input and a noise into the input means that the LFO modulates the noise. One VCA does the modulation, the other is tied to the gate output of the MCV, this means that the note would stop dead when the key is let go.

Decay. This is one of hundreds of filters that are part of the Ladspa library that is in the repositories. By putting a delay on the gate signal, you stop the decay of the note being so harsh. This is a bit like adding an envelope to the note action.
Schematic of final Instrument

I leave as an exercise, introducing and  having a play with the ENV module which allows you to adjust the attack, hold, sustain and decay of the note being controlled by the module.

Brian L October 2011

Jalmus Sight Reading Practice

brian | 14 October, 2011 13:37

As an enthusiastic but to be honest, execrable, piano player I know the weaknesses that  I need to tackle are basic ones. Stuff like simple sight reading, keeping to rhythms, counting and hitting the correct intervals in chords. My piano “teacher” is actually my younger daughter and she is a fierce teacher.  Always on the look out for ways of making practice less boring I recently stumbled upon Jalmus.

This is a java app for practising the piano keyboard and it is open source. As it is java, it is multi-platform and will run on fairly basic hardware. You can use it with the computer keyboard if you want (which kind of defeats the object) but it talks happily to my Clavinova via a usb/midi interface and also to a  standard M-Audio usb keyboard.
There are a whole set of built in exercises/games to have a go at. The first thing I did was “note spotting” as a simple form of sight reading. (Always a big weakness with low grade players such as myself). There are exercises of varying difficulty where you have to spot and play notes as the move across the stave from left to right. Once you are making progress, there is a kind of “Space Invaders” game where you have to Knock notes out as they move from right to left.

Screen shots of Jaimus

The next weakness that I can work on is counting and rhythm, you can set the speed, Largo and Adagio for me but much faster ones are available. You can also set the notes you want to work with. The software uses note, half note, quarter note etc so to help get me to count correctly I did exercises in all quarter notes and at the end of each exercise I got a score giving the number of errors I had made. The use of Italian for tempo and notes for note types is a bit inconsistent but it maybe a translation thing as the software is French. You select a language when you run it. I could then move on to exercises in crotchets and quavers.
Screen shots of Jaimus

Sight reading is generally badly practiced because it is very difficult for an unaccompanied player to know whether they are anywhere near right, this software gives you feedback. In a simlar way, you can generate a endless stream (so far as I know) of simple sight reading exercises for you to use.
Screen shots of Jaimus

 

This is a (very) bad attempt at a sight read. In the settings you can set the note types and the key as well as the speed that you are given. I guess the scores are automatically generated because I have not come across repeats and I have not recognised any of the tunes. Then again, there is my playing to account for. The feedback is a really good feature. There is a colour code for correct, near miss and wrong that update as you play.
The screen shot below shows an exercise where you a similar type of exercise to getting notes correct but this time with intervals being needed as well.
Screen shots of Jaimus

Shortcoming

As I mentioned before, I have done some work on getting the latency down. I know that java has a bad name for speed but MIDI is not a fast or demanding communication method. It is a 32K serial interface and by modern standards this is snails pace communication. The best I could do when trying to get the software to playsounds from my keyboard (as opposed to sound generated in the software) made any real time interaction between programme and external keyboard difficult to do. Maybe I just did not do the settings right.

Regardless of the quality of playing I would have thought that anyone grade 5 and below could use this software and gain some benefit. The fact that it is open source means that students can have their own copy and they can use it on any platform that runs java and allows them to install software. 

Shortcomings. The only thing I had some difficulty with was the latency settings in the midi settings screen. I think the main issue is that the instructions are given via “YouTube”  and I need written instructions really. A picture may be worth a thousand words but a video doesn’t seem to be worth a paragraph of well written prose.

Brian L October 2011

 

 
Accessible and Valid XHTML 1.0 Strict and CSS
Powered by LifeType - Design by BalearWeb