My visit to the MIDI HACK

Electronics, Music, Synthesizers

Last May 17-18 I attended to the MIDI HACK, which is by far the coolest Hackathon out there (IMO). Is not that I have been in others, but this one matched perfectly the kind of hacks that I like to make.

I had a great time surrounded by people with the same obsessions as me: music, electronics and computers. The event was great, it had nice food, a lot of drinks, coffee and the most important thing: the aura.

At the beginning I had no idea what I was going to build. So I spend the first three hours moving ideas in my brain and trying to come up with something feasible and not repeated. After looking at my bag I decided to do something that I wanted to do two years back…

I had in my bag a Monotron, a Meeblip and some Arduinos. So I decided to put them together and add some extra sauce by connecting a Raspberry Pi to handle OSC messages.

After some hours I decided to drop the Raspberry Pi because I couldn’t connect it to the Spotify’s  WIFI but it works fine otherwise.

 

This is a picture of the project:

Monobleep/Meblitron

 

And this is a more detailed diagram of the connections.

Diagram

So, The RPi runs Node.js and connects to the Arduinos by using the Arduino Firmata. One of the Arduinos sends CV signals to the Monotron in order to control the gate, pitch and cutoff. The second Arduino connects to a custom-made board containing knobs, buttons and LEDs.

The Meeblip is connected by using a standard USB to MIDI converter. The audio of the Meeblip is fed into the Monotron and it uses a potentiometer to control the amount of audio.

The custom controller is used to adjust a few of the parameters of the Meeblip.

Here you can find the code that runs in the RPi.

https://github.com/modlfo/monobleep-meeblitron

And here is the entry to the hackathon http://www.hackathon.io/29648

MicroBruto: a Max For Live simplesizer

Create, Music, Synthesizers

I have been watching demos and reviews of the Arturia MicroBrute and it seems like a very interesting synthesizer. It’s analog, cheap and flexible. But before even thinking about getting one, I wanted to “experience” the user interface. That’s why I decided to make the MicroBruto. ‘Bruto’ in Spanish can be translated as gross or stupid, but I have to clarify that the name does not reflects my option about the synthesizer. I just thought it was funny.

 

Arturia MicroBrute

Arturia MicroBrute

The MicroBruto

The MicroBruto is not an emulation, is just a digital synthesizer with controllers inspired by the MicroBrute. I tried to imitate the functions of the oscillator, the envelope, filter, LFO and most important: the modulation matrix.

Here you can see a screenshot:

MicroBruto

MicroBruto

The beauty of this synthesizer is that is does not need a manual. That’s why it is a Simplesizer.

You can get the device from the maxforlive.com page. HERE

Developing Pure data externals in Visual Studio

Create, Music, Synthesizers

Some weeks ago I started learning Pure Data. I have known it for a long  time but I never used it since I made my music in other tools.

During the years I have seen amazing stuff  made using PD.  You can create 3D graphics, connect it with Arduino,  using OSC protocol and many more thing.

Connecting blocks with PD is very easy and the combination of text and wires makes it very effective. For example if you want to make a simple block that adds a constant to a signal you just need to type “+ 2″… amazing isn’t it?

In my case, PD is great to prototype and test algorithms, and the fact that you can create your own blocks using C language is great.

I was checking the developer documentation and the tutorials to create extensions. This one was very useful to understand how  the things work.

HOWTO write an External for puredata

However this document is platform independent  and I wasn’t sure what I needed to create and extension using Visual Studio. For that reason I made this small tutorial.

Compiling the hello world example.

The “HOWTO write an External for puredata”  contains the following code:

helloworld.c


#include "m_pd.h"

static t_class *helloworld_class;

typedef struct _helloworld {
 t_object x_obj;
} t_helloworld;

void helloworld_bang(t_helloworld *x)
{
 post("Hello world !!");
}

void *helloworld_new(void)
{
 t_helloworld *x = (t_helloworld *)pd_new(helloworld_class);

return (void *)x;
}

void helloworld_setup(void) {
 helloworld_class = class_new(gensym("helloworld"),
 (t_newmethod)helloworld_new,
 0, sizeof(t_helloworld),
 CLASS_DEFAULT, 0);
 class_addbang(helloworld_class, helloworld_bang);
}

Just put the code in a file named “helloword.c”.

In order to simplify the project creation I used CMake. Download the latest version and install it. Note: I have added the path to the binaries to the PATH variable.

You need to create the following two files.

helloworld.def


LIBRARY helloworld
EXPORTS helloworld_setup

This file is to let know the compiler that we are exporting the symbol “helloworld_setup”. The following file is the cmake project file. This one is going to make most of the magic.

CMakeList.txt


project(helloworld)

add_definitions(-DMSW)

set(SRC helloworld.c)

include_directories("C:/Program Files (x86)/pd/include")
link_directories("C:/Program Files (x86)/pd/bin")

add_library(helloworld SHARED ${SRC} helloworld.def)

target_link_libraries (helloworld pd)

Generating the project files

CMake files are very simple to understand, you define the sources (line 5), you add the includes and libraries directories (lines 7 and 8). The includes and the libraries are located in the folder of your PD-extended installation.  In line 10 we define that we are creating a shared library using the sources in variable SRC  and we also supply the helloworld.def file.

The new step is to open the command line. Note: you need to able of calling the compiler (cl.exe) from the command line. For that reason I use the shortcut included in the Visual Studio tools menu.

Once in the command line, go to the path where you have the files located and run the following command to generate the project files for Visual Studio 2010:  cmake ./ -G “Visual Studio 10”.  This will generate all the project files you need.

If you have problems following these steps, you can also refer to the cmake tutorial in HERE

Compiling and debugging your extension

Compiling is straight forward. Open the “ALLBUILD” project in visual studio and build the solution.

In order to debug you new extension you need to make it like any other DLL. You need to make PD use the DLL and attach the debugger. To use the DLL in PD you need to add the path to your debug DLL. You can find where the DLL is by looking at the project properties.

To add the path into PD go to File->Path menu and add a new entry.

After that you need to tell PD to load the DLL when it starts. In the menu File->Startup add the “helloworld” entry.

The next step is to configure the debugger. Since we are compiling a DLL we need to to configure the debugger to run PD instead. In the Properties of the helloworld project, in the debugging tab set the “Command” to the path of pd.exe and preferably the working directory to the same path.

Now just add a breakpoint, run the debugger and see it stop when you’re using your extension.

Hope this small tutorial simplify some steps for you. I’m planning to make a few more explaining other aspects.

Me, the great DJ

Music

The past few weeks I have looking at DJ stuff. Since the reduction in cost of Traktor and the release of the new F1 controller, I have felt very tempted…

I cannot see those knobs and shiny colors, because I start drooling…

I think I should become a DJ… but I have mixed feelings.

I come from a place in which we believe that music is made with musical instruments… guitars, drums and maybe a keyboard. The only machines that you’re allowed to use are amplifiers and distortion pedals. But the DJ stuff has a very bad reputation.

The main reason is that any guy that is able of fading one song into another calls himself a DJ. The world is full of “song gluers”…

Is hard to quantify if these song gluers have musical talent or not.  I the past it was a challenge to combine two songs: matching the tempo, matching the pitch and effectively using  parts of different song in order to create new melody. But the guys of Native Instruments and many others have made great job simplifying the DJ workflow; anyone can mix. However, the fact simplifying the things, in the reality it makes them more complex.

Traktor is not anymore a software that only allows you fading songs. It is now a real time sequencer, an instrument that allows you to improvise and create full song from small pieces of audio.

In my opinion, the talent of a DJ lies on its capability of  creating. We just need to look at big artist like the Chemical Brothers, Daft Punk or the Prodigy.

The other predominant idea is that the talent of a DJ is the ability of connecting with the people… to make them dance and play the music that they want to listen.

In that case, I’m screwed…

One of my abilities is that I always play the music that the people does not want to listen.

My impressions about the iOS and music apps

Music, Synthesizers

During the past weeks my brain has been suffering a transformation due to the use of my new iPod (yes, I’m exaggerating).

The first thing that I did It was to configure my emails. And now easier than ever I can check all mi accounts in less than 20 seconds. Before I used to spent at least 7 minutes waiting for the laptop to start just to check my once my email. Now I check my email a few dozen times a day… I even read the spam…

Advantages and disadvantages… actually It was very cool that I didn’t had to carry my netbook during my last trip because I could check emails, maps, and touristic information in the iPod.

The frustration

Since I’m a developer there are many ideas that I have of possible apps that I could create. The bad thing is that I just can’t. First I don’t have a mac, therefore I cannot use the development tools 😦 … and even when I have a mac, I need to pay 100 bucks (a year) if I want to transfer my app to my iPod.

Until I get the money for that, I just can consume but not create.

My opinion on (a few) music apps

The first App that I downloaded was Rebirth (before Figure was out). I got it because Propellerheads makes Reason that is a great and easy to use program. I could say that using Rebirth in the iPod was a little bit disappointing. Since it was an a adaptation of the PC version, it was hard to use in a small touch screen.

Then I got iKaossilator from Korg

I really like this app. It is very easy to use and fun. Since it is like drawing, you can let your subconscious mind trace the music patterns.

I hope they upgrade the application by letting us add our own instruments… and a grid would be useful too.

The next application in  my list is Thumbjam.

This app sounds great and it is very easy to create expressive  parts. It has so many features that I haven’t explored all of them. Maybe the menus are not well designed but it is a great app. I specially like the sound of the acoustic instruments.

One of the apps that I use more often is iMaschine

This app has a very good balance among, features, sound and simplicity. Today this is my favorite (lets see how Figure evolves).

There are other apps that I like a lot, specially when using a MIDI input like iRig MIDI or Line6 MIDI Mobilizer. Animoo and Alchemy Mobile have very cool sounds and I specially like the way yo can manipulate the sound thanks to the touch screen. I use these apps more as instruments, but it would be great if I could assign the knobs of my MIDI controller to tweak parameters.

Amplitube is a nice app, the sound is good taking into consideration that it is using the iPod to simulate the effects, amp, cabinet and microphone. However it has one disadvantage for me… if I have my guitar I also have my POD HD300 that sounds by far better. I never travel carrying mi guitar, therefore I almost never use it.

 The full music studio in an iPod

There are very nice apps like Garageband, FL Studio Mobile, Nano Studio and Energy XT. These apps have very cool features, however, I think that the iPod/iPhone is too small and sometimes it feels slow for the task. I guess that in the new iPad these apps have more sense…

Maybe it just needs a little bit of help… things like the MPC Fly for the iPad seem very promising…

We just need to wait a few months to see the revolution.

HackPrism a MIDI controller inspired by SoundPrims

Art, Music, Synthesizers

Last December I had the opportunity to try for the first time an iPad. (Yes I know, I’m a little bit delayed). It was really amazing the number of music apps available. You can find from apps that fart, to complete DAWs. One of my favorite apps was SoundPrism by Audanica.

Soundprism is a software midi controller that simplifies playing chords. I tried it and in a few minutes I was making nice songs. The best part is that, using the iPad, you have the multitouch screen and it feels really natural playing that thing.

There is even a short film in which the music was completely created using SoundPrism: Julie, Agosto, Setembro.

Sadly I don’t have an iPad, and I don’t have any plants to buy one. But still I wanted to be able to use SoundPrism. That’s why I made my own basic version using Processing.

My version is very basic and does not include any of the nice features available in the Pro version of SoundPrism. This is a screen shot:

If you want to use it, you need 5 things:

  1. Processing
  2. “The Midi Bus”  library
  3. LoopBE1 or any other virtual MIDI cable
  4. A software synthesizer or midi instrument
  5. My source code

If you are new in these things, I will guide you step by step.

Go to http://processing.org/ and download processing. I use the 2.0a4 version. I recommend you to download this version since makes very easy the installation of libraries. This is the direct link.

Once is decompressed in your favorite folder, run processing and go to  Sketch->Import Library-> Add Library. Now select and install “the Midi Bus” library and restart processing.

Now you have to install a virtual Midi cable. Since I’m using Windows 7, I recommend LoopBE1. Download it and install it. If you are a Mac or Linux user, there should be some equivalent software but I can’t help you now.

Now we need something to make noises. If you don’t have any program installed, I recommend you Native Instruments Mikro Prism. That is a free plugin that you can run with the Reaktor Player (also free). Once Reaktor player and Mikro Prism are installed you need to be sure that Reaktor can receive MIDI signals from LoopBE1. Go to File->Audio and MIDI settings, in the MIDI tab check that “LoopBE internal MIDI” is ON.

Now you just need my magic source code. you can get it from my public Dropbox folder HERE.

Now prepare everything. Open Processing, open my code. Run Reaktor Player, load Mikro Prism. Press the play button in Processing and you should see HackPrism. Play some notes with the mouse and enjoy.

If you know a little bit programming, you can modify my code and add different scales to play with. Now it is up to you.

If you like it post a comment, and if you have a iPad I encourage you to get the Pro version of SoundPrism.

No it’s not my birthday

Electronics, Music, Nostalgia

A few days ago me and my flatmate went to throw some trash to the recycling room. I was very happy when I saw that someone left this beauty  in the electronics container.

Even when here it is illegal to take the things from the container, I felt like a “savior” not as a “thieve” when I took this to my house. First I thought to take all the electronics, but it was a very nice surprise that the keyboard works perfectly.

This keyboard is a Casiotone MT-65. It is almost as old as me. The sound is very nice. According to Wikipedia this series of keyboards uses a synthesis method called “Vowel-Consonant synthesis”. The thing that I liked the most is a type of  delayed modulation that sounds like having aftertouch. You press the key, and some milliseconds after it starts to modulate the sound with a tremolo like. Most of the sounds a very interesting.

One cool thing is the rhythm box. It has many rhythms programmed and you can change the tempo with a knob to get cool effects.

This guy made an interesting modification to the keyboard:

Thank you very much to the person that gave me this present.

Mocotron: a Monotron inspired Reaktor instrument

Create, Electronics, Music, Synthesizers

Today I made a small Reaktor instrument based on the Monotron Synth

I really like this small synthesizer because it sounds very natural. I love the analog sound.

This is my version:

You can download it from the Reaktor user library HERE.

This is how the model looks:

I have also uploaded demo sound to Soundcloud, but the MP3 file that I made sounds really crappy.

(Now I know why it is called LAME encoder)

Everything is a Remix Videos

Art, Music, Nostalgia

A few weeks ago I was playing with a step sequencer that I made in Processing. I used a random approach to get something with a good sound… by just tweaking I got a very nice bass line… but then I started to think… maybe that cool bass line wasn’t product of mine…

Luckily I started watching these “shocking” videos that helped me overcome the potential (not-yet-proved) plagiarism of my bass line.

It’s a series of 4 videos, all of them are great.

After watching these videos I think that I going to change my approach of making music… I’m always trying to get the most original sounds, without using samples… maybe that’s the reason I’m not very productive.

 

Aphex Twin changed my life too

Music

I was watching this video where this guy comments the strong influence that Aphex Twin had in his musical career… and some way I feel the same.

The first time I listened to Aphex Twin was on MTV (when it used to be good). I saw the video “Come to daddy”

That SCREAM !!!!

For the first time I realized that not all electronic music was meant to enjoy only with drugs.

The same way that not all songs that use a guitar fall in one classification, not all the songs that use synthesizers are the same… some music just sucks.