Ferraganchos & Pinchos

Or how to rip all this stuff out of my head…

Archive for the month “April, 2012”

OpenPipe Breakout & Arduino Musical Shield

UPDATE (October, 1st 2012)!!! We’ve moved to www.openpipe.cc.

If you want to use OpenPipe Breakout as a MIDI controller you need some sort of synthesizer. You could use generic synths with custom sound samples (GarageBand, Reason) or specific synths like UniversalPiper, but all of them need a PC (or smartphone) to run.

If you want something “portable” you need to use a specific hardware synthesizer. The guys from Sparkfun designed an Arduino Shield based on VLSI VS1053b chip (Music Instrument Shield). This chip is a CODEC with support for several audio formats, and It can also play real-time MIDI. I was wondering how good the sound synth inside this chip is, so I bought one.

Connecting OpenPipe breakout board and Arduino UNO is quite simple:

  • OpenPipe GND: Arduino GND
  • OpenPipe VCC: Arduino 3.3V
  • OpenPipe I2C SDA: Arduino Analog 4
  • OpenPipe I2C SCL: Arduino Analog 5

OpenPipe & Arduino Shield connectios

Then connect a sound amplifier or headphones to the jack audio output.

OpenPipe, Arduino Musical Shield and Headphones

Here is the code I’ve used. It’s basically the same for OpenPipe MIDI, but with some changes in the MIDI command functions, because this shield uses SoftwareSerial library.

I’ve tested several instruments (Bagpipe, Oboe, Church Organ, Clarinet, Trumpet, …) and the sound is good, but It’s not amazing.

You can draw your own conclusions from the video: our lovely geek (me) making noise… again…

Pinax deployment with gunicorn and supervisor

Here is my recipe for Pinax deployment using Python tools as much as possible.

Create virtualmenv and activate it.

virtualenv –no-site-packages myenv
cd myenv/
source bin/activate

Install Pinax from GitHub.

pip install git+git://github.com/pinax/pinax.git

Setup basic pinax project.

pinax-admin setup_project -b basic mypinax

Test the project.

cd mypinax/
python manage.py syncdb
python manage.py runserver

Install gunicorn and test the installation

pip install gunicorn
gunicorn wsgi:application

Setup supervisor.

sudo apt-get install supervisor

Configure mypinax app in /etc/supervisor/conf.d/mypinax.conf

command=/home/xulioc/virtualenv/myenv/bin/gunicorn wsgi:application

Restart supervisor.

sudo /etc/init.d/supervisor/stop
sudo /etc/init.d/supervisor/start


Post Navigation