Friday, August 6, 2010

OpenJDK and PulseAudio

When using OpenJDK on Linux with PulseAudio a javasound audio device called "PulseAudio Mixer" shows up. Selecting this in Frinika gives very choppy and unusable audio for the time being. However if using the latest version of Ubuntu (and possibly other Linux'es), this provides an ALSA device called "default" that is really a PulseAudio device. By selecting the "default" javasound audio device Frinika will use PulseAudio (through ALSA), and you'll be able to play audio from other programs and Frinika simultaneously.

Tuesday, August 3, 2010

Demonstration videos on YouTube

These are really older demonstration videos - but I uploaded them to youtube so that they're more easily accessible:



Behind the scenes - how sound is produced in Frinika

Frinika uses the Toot audio framework for bringing all the audio together and sending it to the audio ouput. Toot provides effect plugins and advanced mixing features, not to mention a versatile model for developing audio applications.

Here's a quick example of how to get Toot "up and sounding":



JavaSoundAudioServer as = new JavaSoundAudioServer();
final AudioProcess output = as.openAudioOutput("plughw:0,0", "Line Out");
final AudioBuffer buffer = as.createAudioBuffer("test");
as.setClient(new AudioClient() {

double wavePos = 0;

public void work(int nFrames) {
float[] channel0 = buffer.getChannel(0);
for(int n=0;n<nFrames;n++)
{
double sample = Math.sin(wavePos);
wavePos+=Math.PI*2*440.0/44100.0;
channel0[n] = (float)sample;
}

output.processAudio(buffer);
}

public void setEnabled(boolean enabled) {
}
});
as.start();


Note that the audio output "plughw:0,0" is Linux specific and should be replaced with the name of the Javasound audio output of your platform.

Tuesday, July 20, 2010

Controlling pitch-bend and Midi controls in the tracker editor

The tracker editor is very efficient for rapid MIDI editing. You can create advanced sounding synth solo very quickly, and it's very easy to alter pitch bending and other MIDI controls. The screenshot is taken from the synth solo of the SawToothJam song - and shows a pitch bend effect with the "PB" events. To insert a pitch bend - simply place the cursor in the Note column - hold control and press P. You can then alter the amount of pitch bend by modifying the value of the "Vel" column. 64 means that the pitch wheel is centered, and the wheel is rolled up down in the range from 0 to 127.

You can also alter MIDI controls, by holding control and pressing C in the note column. Then you enter the control value in the "Vel" column. The screenshot shows the base line from the same song - where the modulation controller (CC1) is added with a value of 30, and later turned off (value 0).

Friday, June 25, 2010

Enhancing your tracks with Toot

I took one of my old tracks made on one of the first Frinika versions (the original project file is here), and put it into the latest Frinika and added some effects that comes with the built-in Toot mixer (http://toot.org.uk). Using EQ, stereo width enhancements and dual band compressor - new life was brought to the track, giving extra punch, wider and more rich sound. The final result is audible here: