Took the plunge and migrated my blog to WordPress. Thanks to this PHP script it wasn’t that much work. Some issues with titles that contained the every odd character but other than that the migration went pretty smooth.
Hopefully this will revive my blogging spirit a bit. PivotX was sometimes pretty cumbersome to work with, I had to manually edit the HTML just a tad bit too often. And editing the HTML was quite tedious, it opened a new window with its own save button, not very fun to work with. Now I can simply toggle between Visual and Text. Other than that WordPress simply has more to offer, like plug-ins and themes that you can install on the fly. Being a big CMS has its drawbacks too of course. Installed Wordfence and Disable XML-RPC to keep out the bad guys. Hopefully it doesn’t get that bad that I have to resort to solutions like fail2ban. We’ll see.
Just a quick note to say that I’ve moved this blog from a shared server at Quickhost to my own VPS at Cyso. So if you run into things that don’t seem right please let me know! I’m also playing with the idea of migrating this blog from PivotX to WordPress. Not that I’m a big fan of WordPress, on the contrary, but it seems PivotX is becoming a bit of a cul-de-sac.
When the Raspberry Pi 2 was released I certainly got curious. Would it be really better than it’s little brother? As soon as it got available in The Netherlands I bought it and sure this thing flies compared to the Raspberry Pi 1. The four cores and 1GB of memory are certainly an improvement. The biggest improvement though is the shift from ARMv6 to ARMv7. Now you can really run basically anything on it and thus I soon parted from Raspbian and I’m now running plain Debian Jessie armhf on the RPi.
So is everything fine and dandy with the RPi2? Well, no. It still uses the poor USB implementation and audio output. And it was quite a challenge to prepare it for its intended use: a musical instrument. To my great surprise a new version of the Wolfson Audio Card was available too for the new Raspberry Pi board layout so as soon as people reported they got it to work with the RPi2 I ordered one too.
Cirrus Logic Audio Card for Raspberry Pi
One of the first steps to make the device suitable for use as a musical device was to build a real-time kernel for it. Building the kernel itself was quite easy as the RT patchset of the kernel being used at the moment by the Raspberry Foundation (3.18) applied cleanly and it also booted without issues. But after a few minutes the RPi2 would lock up without logging anything. Fortunately there were people on the same boat as me and with the help of the info and patches provided by the Emlid community I managed to get my RPi2 stable with a RT kernel.
Next step was to get the right software running so I dusted off my RPi repositories and added a Jessie armhf repo. With the help of fundamental the latest version of ZynAddSubFX now runs like charm with very acceptable latencies, when using not all too elaborate instrument patches Zyn is happy with an internal latency of 64/48000=1.3ms. I haven’t measured the total round-trip latency but it probably stays well below 10ms. LinuxSampler with the Salamander Grand Piano sample pack also performs a lot better than on the RPi1 and when using ALSA directly I barely get any underruns with a slightly higher buffer setting.
I’d love to get Guitarix running on the RPi2 with the Cirrus Logic Audio Card so that will be the next challenge.
While packaging Tuna I ran into an issue for which I couldn’t easily find a workaround on the ubiquitous search engine. Tuna depends on some unavailable Python applications so those had to be packaged too. After having successfully tested the packages locally with pbuilder I uploaded them to Launchpad and noticed that they failed to build. Apparently the Python installer setup.py wants to install in /usr/lib/python2.7/site-packages and while that worked fine locally with pbuilder, Launchpad had an issue with that:
Found files in /usr/lib/python2.7/site-packages (must be in dist-packages for python2.7).
dh_builddeb.pkgbinarymangler: dpkg-deb --build debian/python-schedutils .. returned exit code 1
make: *** [binary-arch] Error 1
dpkg-buildpackage: error: /usr/bin/fakeroot debian/rules binary-arch gave error exit status 2
Apparently the files had to be installed in /usr/lib/python2.7/dist-packages but how to instruct the installer to do so without having to resort to ugly hacks? As I couldn’t find any useful answers on the web I asked falkTX on #kxstudio. He said the setup.py installer has a flag to install to dist-packages instead of site-packages, --install-layout deb. So I added that to the debian/rules file and gave it another spin:
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
python setup.py build
python setup.py install --skip-build --prefix /usr --root $(CURDIR) --install-layout deb
Now both pbuilder and Launchpad built the package without any issues.
Finally got around finishing a new track. And it’s just 65BPM so no four to the floor this time. I posted the demo a while ago, this is more or less a definitive version (definitive is a fluid term in my dictionary).
http://theinfiniterepeat.com/music/the_ … aceite.ogg
This song is about one of the most beautiful places I know on this
planet, Cala Del Aceite in the most southern part of Spain:
http://www.conilplaya.com/fotos/playasd … eConil.htm
- Qtractor for recording and mixing
- seq24 for sequencing
- The necessary plugins:
- drumkv1 to hold the drum samples (drum samples are all from
- a lot of plugins that are part of Distrho or Carla: Noize Maker, Tal
- Reverb III, ZynAddSubFX-LV2, Nekobi
- MDA subsynth
- FluidSynth DSSI for the Rhodes
- linuxDSP plugins (EQ500, DYN500, MBC2B on the master bus)
- Calf Vintage Delay
- LADSPA comb filter, Fast Lookahead Limiter
The background vocals for the choruses are sung by my wife. The ocean
sample is from Freesound:
Cádiz is pretty close to Conil, hence the choice.
Thanks to everyone for making this possible. Especially falkTX and rncbc, couldn’t have done this without your valuable work.
Making promises that I can’t keep
It’s pushing me, pushing me into a deep
State of sadness, state of doubt
A state of awareness I can’t live without
Making mistakes, so hard to bear
It’s driving me, driving me to a point where
I can’t escape, I can’t shy away
From the daemons I refuse to obey
All is forgiven, all is well…
Awaiting the day that I’ll be relieved
From this burden, this burden that has grieved
So many loved ones, so many friends
All the people on which I depend
Stand up, act now, it’s time for a change
Lingering won’t help, help to rearrange
The current imbalance, the current state
Of things so rush now don’t hesitate
All is forgiven, all is well…
Cala Del Aceite by The Infinite Repeat is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
My submission for the Linux Sound Night at LAC2014 with The Infinite Repeat has been accepted. The Call for Papers page mentions the term “danceable” so I’m going to focus on that. Making danceable music is quite a challenge for me but it should definitely be doable to produce a solid set, especially now that I’m the proud owner of a Korg Volca Keys. I’m definitely going to integrate it in my current setup as the Volca reacts great on MIDI sent from my workstation. It has some fat sounds that just scream dance floor.
Korga Volca Keys
I’m really looking forward to this year’s LAC. It seems falkTX and avlinux are going too, it’d be great to meet these guys in real life!
Last Thursday the first Dutch Raspberry Jam took place at the Ordina HQ in Nieuwegein. I offered to do a presentation slash demonstration about realtime audio and the the Raspberry Pi so I promised myself to be there at least an hour before the scheduled starting time of my demo. That way I could also join Gert van Loo‘s presentation. When I arrived at 19:15 there was no Gert van Loo though so that should’ve triggered some alarms. Also I didn’t look out for members of the organization as soon as I came in. Instead I chose to dot the i’s and cross the t’s with regards to my demo.
About half an hour later the event was closed.
I approached the person who closed the event and introduced myself. He replied that they thought I wasn’t coming anymore. Apparently they misinterpreted my e-mail I sent earlier that day that I didn’t manage to produce something workable for the laser show guy. They took it for a cancellation. But immediately the event got kind of reopened and I set up my stuff. We had some audio issues but in the end everything went quite well actually. I showed off what is possible with a Raspberry Pi and realtime audio with the use of some of my favorite software. Guitarix featured of course. I grabbed my guitar, fired up guitarix on the RPi and played some stuff. Hooked up my MIDI foot controller and showed how to select different presets. I also demonstrated the use of the RPi as a piano with the help of LinuxSampler and the awesome Salamander Grand Piano samplepack and did some drumming by using drumkv1. Before the realtime audio demo I presented an overview of the Linux audio ecosystem and talked about the alternatives of how to get sound in and out of your Raspberry Pi. These alternatives are not bound to the onboard sound and USB, since recently it is also possible to hook up an external audio codec to the I2S bus of the Raspberry Pi. I got one in myself this week, a MikroElektronika Audio Codec PROTO board based on the WM8731 codec, so more on that soon. It’d be awesome if I can get that codec to work reliably at lower latencies.
So it all turned out well, I had a great time doing my presentation and judging by the interest shown by some attendants who came up to me after the presentation I hope I got some more people enthusiastic about doing realtime audio with the Raspberry Pi and Linux. So thanks Ordina for offering this opportunity and thanks everyone who stuck around!
The first Dutch Raspberry Jam will take place on Thursday September 26 at the Ordina HQ in Nieuwegein. I’ve offered to do a presentation about doing real-time audio with the Raspberry Pi which has been accepted. Internet visibility of this event is minimal at the moment though, let’s hope it caches on.
So expect a presentation/demo about using your Raspberry Pi as a sequencer, synthesizer, sampler or virtual guitar amp. I will show how to configure, tweak and tune your RPi for real-time, low-latency audio and what the possibilities of such a set-up are. I’ll probably do a live demo too of some tracks generated by one or more RPi’s
Ordina Raspberry Jam
Raspberry Pi Playlist @ AutoStatic’s YouTube channel
Got a new job! The 16th of September I’m starting at Cyso, a top-notch hosting provider. Located in Alkmaar, very close to the place I’ve worked for the last two years. It all went very fast, less than 3 weeks. Didn’t expect to find a new job that suits me so quickly. This will be a huge step forward for me and I’m very happy and grateful the people at Cyso offered me this opportunity.
This Saturday my series of workshops about music production with open source software will kick off. The first workshop will be an introduction to the open source ecosystem and attendees will get acquainted with some basic Linux audio principles; different work-flows (monolithic vs modular), ALSA/JACK/PulseAudio, most used and most useful applications and maybe a bit about plug-in frameworks (LADSPA/DSSI/LV2/VST). I will also outline the content of the following workshops and this workshop is a gauge to see if there is enough interest. So people should show up in considerate numbers because I’m not going to invest another 5 Saturday afternoons for just a few people. After all, I’m doing this for free (as in beer).
Announcement on the site of De Bakkerij