FaderPort Emulator for Renoise 3.0

In 2010 I released a driver which integrates the Presonus FaderPort DAW controller into Renoise DAW. See http://blog.airmann.de/renoise-driver-for-presonus-faderport.

Since then, Renoise has evolved to version 3.0 and I updated the driver regularly. Nonetheless, the day will come when the FaderPort hardware won’t be produced anymore and without further development the driver will be useless.

Since I still like the driver’s design and stable codebase, I decided to make it also usable for non-FaderPort owners and created a 1:1 FaderPort software emulator with GUI:

FaderPort Emualtor GUIEmulator Features

  • fully integrated into Renoise 3.0
  • resembles 1:1 with the design of the real hardware
  • acts almost like the real hardware
  • All buttons and controls – especially the fader – can be MIDI-mapped to any 3rd party midi controller.

Renoise Integration Of Real HardwareIntegration of real hardwareThe FaderPort’s motorized fader controls the volume level of the currently selected track. Whenever another track is selected, the FaderPort changes it’s position according to the new track’s volume level.

Analogue the FaderPort’s buttons (like play etc.) control Renoise and also reflect Renoise’s state.

Renoise Integration Of Emulator:

Integration of EmulatorThe emulator’s fader controls the volume level of the currently selected track. Whenever another track is selected, the fader  changes it’s position according to the new track’s volume level.

Moreover, it is possible to midi map any midi controller to the fader, pan and buttons of the emulator GUI dialog:Dialog_Midibind_2In the example above an endless rotary knob is mapped to the emulator’s fader. Means: whenever the knob is turned, the volume level of the currently selected track is changed. The big advantage: regardless of how many tracks a song has, only one rotary knob can control them all ! There’s no need for a huge motorized mixing console etc..

Links:

http://code.google.com/p/airmann-faderport-driver/

You also can download xrnx files via the Renoise tool browser:

http://www.renoise.com/tools/airmann-s-faderport-driver

Posted in Production, Software, Tech Stuff | Leave a comment

Seducer’s Seed

Political Neurofunk quick entry for Sound Evotion Competition No. 85.

This track is still not really mastered

Against Evil and Insanity.

See palwatch.org/SITE/MODULES/video…atest&doc_id=12238

See youtu.be/Y8vgT8FbKgM

Lyrics:

Al-Aqsa TV (Hamas) Aug. 1, 2014:
Leader of the Muslim Brotherhood in Kuwait, Tareq Al-Suwaidan: “Without a doubt, the blood being spilled [in Gaza] is dear. But the equation is Those killed from our side are in Paradise, and those killed from their side in Hell. (Hadith) We are not afraid of Martyrdom. Not long ago, you cried out loud: “Death for Allah is our most exalted wish!” (Muslim Brotherhood slogan) You received the death you wanted. We have no problem with death. We are not like the children of Israel: “And you will surely find them the most greedy of people for life.” (Quran) Whereas we yearn for death and Martyrdom… Every mother – especially the mothers in Palestine, but every mother in the [Islamic] Nation, not just Palestine – must nurse her children on hatred of the sons of Zion. We hate them and they are our enemies. We will plant this in their [our children’s] souls, so that a new generation will grow among us, which will erase them from the face of the earth.”

Posted in Tracks | Leave a comment

How to Rip A Drum Pattern using Reaper DAW

Recently I wanted to rip some drum patterns from various DnB tunes. Main goal was to analyze genre-typical hihat patterns, learn something new and create midi templates for further usage. Reaper’s flexibility came in very handy and in this post I describe the used methods.

First, there exist many beat detector and auto slicing tools on the market. Most DAW’s and DJ Tools have inbuilt functions for onset or transient detection etc.. Usually these functions work well for material with strong transients like e.g. kickdrum and snare, whereas more complex layered beats are usually not sliced properly. I tried several tools but the results were not usable.

So I decided to do the slicing with Reaper DAW by hand, and use automation where possible. In the following I describe my workflow.

PREPARATION

  • Analyze BPM of the source material. I use Mixmeister BPM Analyzer (free), Mixxx DJ Tool (free) or Reaper’s internal functions.
  • Open a new Reaper project, set the BPM to the analyzed value and insert the source material into the first track (in that order)
  • Adjust the Reaper time grid to a desired resolution. 1/16 usually works fine.  Reaper action is “Grid: Set to 1/16″.
  • Move and shift the source material’s kickdrum to the first beat of the bar. For fine adjustment select wave item with left mouse button while holding left shift key. Drag wave form until kickdrum transient matches first beat.
  • Now select 1-2 bars which you want to analyze/slice. Copy those bar(s) out of the source wave form into a new item to a new track “Original”.
  • Copy this item to a further track folder named “WAV”

SLICE SOURCE MATERIAL

  • Disable auto crossfade
  • Slice the item on the “WAV” track using Reaper Action “Item: split items at timeline grid”.  Thus, the item is split into 1/16 parts (see grid resolution above).
  • Now, grab the kickdrum items and move them to a new track “Kick”. Do the same for “Snare”, “hihat”, “ride”, “crash” whatever. You get the idea. All tracks are children of “WAV” track folder.
  • If two elemets overlay each other like e.g. hihat and kick copy the items instead of moving them. If an item is longer than the grid size (e.g. kick is 1/8), then copy and glue things, or change the grid size etc..
  • If some beat elements don’t start exactly at beat position, or vary in length do the fine adjustment by hand. This may be the case for shuffled beats, natural played beats or humanized stuff etc..  IMPORTANT: if you don’t do this, the later ripped pattern may sound unnatural or “mechanical”.

CONVERT WAV ITEMS TO MIDI EVENTS

  • Create a new track folder called “MIDI”
  • Select all items in e.g. Kick track
  • Convert item positions and length to midi events. Reaper action is “item: Create chromatic midi from items” (my hotkey combination is ctrl-alt-D). Thus, a new track with midi events is created.
  • Move the newly created track to MIDI track folder and name it “Kick”. Do the same for all other tracks (Snare etc.)
  • Important: adjust the size of the generated midi items to your loop size. Usually the midi items are shorter than the loop. All midi items on all midi tracks should have the same length and start position.
  • Unfortunately the created midi events are chromatic, so we have to convert them to “non-chromatic”: double click midi item (= open item in midi editor). Select all midi events (ctrl-A), open note properties (ctrl-F2) and set note value to the desired value (e.g. C2 .. D#3 for fxpansion Geist).

EXPORT MIDI EVENTS

  • Select Kick midi item and call Reaper action “Convert active take MIDI to .mid file reference”. Thus a file “Kick MIDI 001.mid” is created inside project folder.
  • Select Kick midi item again and call Reaper action “Convert active take MIDI to in-project event”. This ensures that the midi item is stored inside the Reaper project file.
  • Do the same for alle other midi items (Snare, etc.).
  • If you want to create a combined midi item which contains all tracks (kick, snare, etc.), then select MIDI track folder, enable “record: output MIDI”. Select loop and start recording.

USAGE IN 3RD PARTY PROGRAMS

The exported midi items can of course be used in various programs like fxpansion Geist (beat sequencer):

  • import combined midi item: load pattern from midi
  • adjust BPM setting
  • Map samples to pads
  • save everything as Geist preset

SCREENSHOTS

Reaper Beat Ripping

Combined MIDI item

Geist Preset

Posted in Production | Leave a comment

Scalefreq Generator v1.01

Scalefreq Generator is a tool for rendering frequencies of notes / musical scales into various output formats. It’s primarily aimed for mixing/mastering engineers and other musical interested people. The frequencies of musical scale or non-scale notes (inverse) are important in mixing and mastering situations. E.g. non-scale frequencies are often attenuated using an EQ.

Scalefreq consists of a core system, a render-plugin architecture and a graphical frontend for convenient user interaction.

Currently the following output format renderer are included:

  • HTML Renderer: generates HTML pages which contains scale frequency tables
  • Voxengo GlissEQ Filter Renderer: generates importable EQ presets for Voxengo GlissEQ VST plugin
  • Voxengo GlissEQ Areas Renderer: generates importable EQ Areas presets for Voxengo GlissEQ VST plugin

HTML RENDERER

The HTML Renderer creates frequency tables in HTML format for any specific scale. Alternatively it can render all tonic variations of a scale (chromatically). Also a huge HTML file can be generated, which contains all available Scalefreq scales.

Scalefreq GUI

Render output:

HTML output
 

GLISS EQ FILTER RENDERER

The Gliss EQ filter renderer generates CSV files which can be imported into Voxengo Gliss EQ VST plugin. Thus, it’s e.g. possible to conveniently import notch/peaking filters for non-scale notes (= inverse scale).

GlissEQ Filter Renderer

Imported render output:

GlissEQ Filters

 

GLISS EQ AREAS RENDERER

The Gliss EQ area renderer also generates CSV files which can be imported into Voxengo Gliss EQ VST plugin in order to create colorful EQ areas marker.

GlissEQ Areas Renderer

Imported render output:

GlissEQ areas

Inverse and alternate colors:

GlissEQ Areas Renderer Alternate

Imported render output:

GlissEQ Areas Alternate

 

DOWNLOAD

http://blog.airmann.de/wp-content/uploads/2014/01/scalefreq_1_01.zip

 

INSTALLATION

A Java 1.7 Runtime Environment (JRE or JDK) is required.
The following platforms are supported:

  • Windows (32/64)
  • Linux GTK (32/64)
  • MacOS (32/64)

In order to start the program, just double click the file “scalefreq_1_01.jar”. If this doesn’t work, try to start from the command line:
java -jar scalefreq_1_01.jar

E.g. on windows:
press windows key+r, "cmd" -> java -jar path to scalefreq_1_01.jar

HINT: scalefreq stores all made settings in the current user profile. In order to reset the settings press the reset button.

 

FURTHER HINTS

If you want to develop another plugin/renderer for Scalefreq (really easy !) just contact me. I’ve planed to release the source code if enough people are interested.

Also if you’re interested in different scales etc. just let me know !

 

CHANGELOG

  • 1.0 – initial release
  • 1.01 – proper multi platform support for Win,Mac,Linux (all 32/64), better font for multi platform (Arial), default frequency range for GlissEQFilter renderer is now 20 Hz..20 KHz

Posted in Production, Software, Tech Stuff | 9 Comments

DIY XLR A/B switch box

During the last weeks I finished another little DIY project: an XLR A/B switch box. This thingy has two balanced stereo XLR inputs and one balanced stereo XLR output. Together these are four mono input channels and two mono output channels. It’s a great tool if you need to switch between two input sources like e.g. two DAC’s etc. It’s also ideal for A/B comparison of various input devices. Since it’s a completely passive design it shouldn’t affect the sound. Also the stereo channels are completely physically separated.

The main work was to build the case which was made from aluminium rest of another DIY project.

internals
internals

The wiring and soldering is pretty simple. Here is the wiring scheme:

wiring scheme
wiring scheme

The input connectors are Neutrik NC3 FXX, the output connectors are Neutrik NC3 MXX. The ground wires of the first channel (A1,B1,C1) and second channel (A2,B2,C2) are soldered together, but not connected to the case. Also there’s no ground connection between channel 1 and channel 2.

Example Use Cases

  1. Stereo A/B Input Switch: A1 = A In Left, A2 = A In Right, B1 = B In Left, B2 = B In Right, C1 = Out Left, C2 = Out Right
  2. Stereo A/B Output Switch: A1 = A Out Left, A2 = A Out Right, B1 = B Out Left, B2 = B Out Right, C1 = In Left, C2 = In Right
  3. 2 x Mono A/B Input Switch: A1 = Mono 1 In, B1 = Mono 2 In, C1 = Mono 1 Out, A2 = Mono 3 In, B2 = Mono 4 In, C2 = Mono 2 Out. Both Mono Outputs are physically separated.

More pictures:

standalone
standalone
A/B Switcher rack mounted
rack mounted
A/B Switcher cables
input/output XLR cables

Posted in Production, Tech Stuff | Leave a comment

DIY Headphone Amp Funk LPA-2a

Recently I built myself a High-End DIY headphone amplifier, which is based on modules from german manufacturer Funk Tonstudio Technik. The amp has balanced XLR input sockets and a standard unbalanced stereo headphone output. DIY means: the headphone amp, the unbalancing amplifier and the power supply modules are from Funk, the rest: case, inputs, outputs, connections, soldering, etc. is all DIY.

Pictures

LPA-2a side view
Funk LPA-2a
internals
internals
bottom
bottom
rear
rear

Specifications And Price

The LPA-2a has excellent specifications. Regarding specs it’s one of the best, if not the best, headphone amp available. Soundwise it’s optimized for purest transparency, so no colorful analogue sound here. Since a stepped ALPS attenuator is used, the stereo-balance is very good. The unbalancing board and the power supply module also have execellent specs. And the best thing: in relation to the quality the modules are relatively cheap (round about 250 €, the price for the case and other DIY stuff is round about 150€. That said: there are much cheaper cases available).

Module specifications:

The Case

The case was designed using Frontplatten Designer by Schaeffer AG. Means: the aluminium front plate was milled by Schaeffer AG, also the corner aluminium profiles are from Schaeffer AG. The rest of the case was made from various pieces of sheet metal from blechscout.de. That was much cheaper than ordering directly from Schaeffer AG. Top, bottom and side sheets are 2mm stainless steel. The back plate is a 3mm aluminium sheet. I drilled all holes of the back plate by myself (cheaper). For mounting I used stainless steel hexagon socket screws.

case parts
case parts
front plate
front plate

Electrical Components

Electrical components are the already described Funk modules, various Neutrik signal I/O sockets, power socket, on/off switch, power led, cables and stuff. Finally there’s a DIY connector board that connects everything together (see details below). To assemble the cables some special tools / crimping tools are needed, or at least it’s helpfull to use them.

electric components
electrical components
needed tools
needed tools

Connector Board

In order to connect the power supply, amp and I/Os, I soldered a slightly modified version of Peter Rill’s LPA-2 connector board. Thanks to Peter for the scheme ! Peter’s design also includes a relay which switches on/off the output signal. The relay is controlled by the Funk power supply. Means: 5 seconds after switching on the power supply, the relay closes, and as soon as the power supply is switched off, the relay opens. This protects your headphones and ears from nasty pops and clicks.

connector board top
connector board top
connector board rear
connector board rear

Adjustable Amplification

Depending on the used headphones the LPA-2a and the SIA-5 support various amplification settings ranging from -6 dB … + 18 dB. For more details see specifications.

Posted in Production, Tech Stuff | 1 Comment

UADE multichannel audio support

Last week I added native multichannel audio output support to UADE. UADE stands for Unix Amiga Delitracker Emulator which is an audio player for old Amiga demo music and game tunes. It is based on a clever client server concept, where the clients (= player frontends) communicate via inter-process communication with the server. The server uses the UAE Amiga emulator to emulate an A500, which executes a native Amiga software that uses Eagleplayer plugins to play the tunes. Finally, Eagleplayer plugins cover over 150+ different audio formats including many exotic custom formats.

Now, all Amigas had four separate 8 bit audio channels which were downmixed to stereo inside the PAULA sound chip. Moreover, old Amiga models before A1200 had an inbuilt static tone-shaping low-pass filter at 4.5 or 5 KHz and an optional LED low-pass filter at 3.3 KHz. These filters were applied to the stereo mix. Of course, the UAE emulator does the same as the hardware: audio output is a stereo mix which is optionally filtered (can be enabled/disabled). The resulting stereo stream is finally sent to the UADE frontend(s). E.g. uade123 frontend can store the stream as two channel wav file.

And that’s the problem: from the mixing and mastering perspective an already downmixed stereo wav file is of course much worse compared to a multichannel wav file. Wouldn’t it be great if one could stream the contents of the original four PAULA channels before they are downmixed to stereo ? Exactly this was what I needed and so I started to study and modify the original UADE source code. The result is a modified UADE 2.13 version with a new uade123 command line option --quadmode. The filters still can be applied, but in quad mode they are applied to each channel separately.

The quad mode audio output stream can either directly be played via soundcard (libao), or saved into a multichannel wav/au file. If the sound system provides multiple hardware channels, media players can usually replay the multichannel file directly. If it’s a stereo setup, most players are able to downmix the four channels to stereo – with different results, though.

If you want to mix a tune: most modern DAW’s can load multichannel wav files. E.g. Cockos Reaper, Logic and so on. I used Reaper 4 and it’s surround mixer for a quick sound check. Reaper can also automatically split up multichannel files into separate mono channel files. If your DAW doesn’t support that, you can use the included split_quad.sh script which does the same. You have to install sox, though.

DOWNLOAD

Source:
uade_2.13q.tar.bz2
SHA1: 670bbc78d6f3f6238920ce9dd44e2a98833acba3 uade_2.13q.tar.bz2

Debian package for Ubuntu Mint 15 64:
uade_2.13q_amd64.deb
SHA1: c36e087cd5cd3e7c2c6063419f6989daeb0bdbc8 uade_2.13q_amd64.deb

INSTALLATION EXAMPLES

# from source (Linux Debian Systems)
sudo apt-get install libao-dev
sha1sum -c uade_2.13q.tar.bz2.sha1
tar -xjf uade_2.13q.tar.bz2
cd uade-2.13q
./configure
make

# optional sound test, plays demo song
make soundcheck 

sudo make install
hash -r # only if bash can not find uade123

# optional regression test, 
# all checksums should be different
# If test fails, enter correct data dir in test_quad.sh.
# e.g.: UADE2_DATA_DIR="/usr/local/share/uade2"
./test_quad.sh 

# From Debian package (only Ubuntu Mint 15 64 !)
sha1sum -c uade_2.13q_amd64.deb.sha1
sudo dpkg -i uade_2.13q_amd64.deb
hash -r # only if bash can not find uade123

USAGE EXAMPLE

# generate multichannel wav file
uade123 --quadmode --filter=none -f output.wav AHX.Cruisin 

# split multichannel file into four mono channel files
split_quad.sh output.wav 

# Have fun 

AUDIO REPLAY HINTS

If audio replay crackles or is kind of slow check the used ao driver, first. For that have a look at /etc/libao.config. If default driver is “alsa” try “pulse” instead. For detailed information remove the “quiet” option and optionally add “debug” option.

Regarding multichannel replay: if you have problems with direct four channel replay (e.g. channels are not hearable, or very quiet, or left/right is wrong), then try to render to file using uade123 --quadmode -f out.wav and replay this file using mplayer or any other media player. There’s a split_quad.sh script included for splitting up the four channel wav file into four mono channel wav files. IMPORTANT: you have to install “sox”, first.

Always remember that all Amiga tunes are actually stereo tunes. Means: the original composers created and mixed them for plain stereo replay. Moreover, most Amigas were connected to crappy monitor-inbuilt speakers, or other crappy little desktop speakers. Means: the usual audio setup didn’t have a wide stereo stage, it was actually more mono than stereo. Now, if you replay such tunes using a quad or surround setup it can sound pretty odd. Especially there is much more channel separation. To fix this, you can e.g. use a surround mixer or auto stereo downmixer or further post processing fx whatever. BTW: the same problem occurs if you replay old Amiga tunes via headphones or a hifi stereo setup. Nonetheless: the strong channel separation can also be pretty charming, because nothing masks and every detail is hearable. For remixers only: remember, good surround mixes should be stereo compatible, good stereo mixes should be mono compatible.

Multichannel channel assignment under Linux and in general is a mess. There are so many factors/components: libao, audio drivers, different multimedia players and so on. Each component handles multichannel audio order slightly different: some players just omit channels 3+4, others play them but treat them as center channels etc. and thus distort the original stereo image. Then, if you don’t have a real multichannel soundcard, stereo downmix is handled differently and so on. I tried several combinations as described in libao documentation, but each matrix had it’s disadvantages. It turned out that omitting any specific matrix seems to be the best solution. A really suitable surround matrix for correct Amiga stereo imaging (L=1+3, R=2+4) doesn’t exist anyway, though classic quadraphonic matrix L,R,BL,BR and matrix L,R,CL,CR are theoretically useable. Funny: it turned out, that Windows Media Player did the best job regarding multichannel stereo summing. It was the only player that did it correctly.

It’s theoretically possible to set libao options via uade123 command line. E.g.: uade123 --ao-option=matrix:"L,R,CL,CR". Probem is: somehow it didn’t have any effect ?

Posted in Amiga, Software, Tech Stuff | 7 Comments

Diggin’ Deeper [WIP]

Entry for Sound Evotion Competition No. 73, which won #1 place – despite it’s a rushed one and has still WIP status ;-).

Tune is a blend of DnB and something musical something. Created entirely using the free Tyrell N6 Synth from U-he plus some free Goldbaby samples.

Posted in Tracks | Leave a comment