Packaging Python Stuff

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).
debian/python-schedutils/usr/lib/python2.7/site-packages
debian/python-schedutils/usr/lib/python2.7/site-packages/schedutils.so
debian/python-schedutils/usr/lib/python2.7/site-packages/schedutils-0.4-py2.7.egg-info
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:

#!/usr/bin/make -f
# -*- 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.
#export DH_VERBOSE=1

%:
        dh $@

override_dh_auto_build:
        python setup.py build

override_dh_auto_install:
        python setup.py install --skip-build --prefix /usr --root $(CURDIR) --install-layout deb

Now both pbuilder and Launchpad built the package without any issues.

Packaging Python Stuff

The Infinite Repeat – Cala Del Aceite

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

Tools used:

  • Qtractor for recording and mixing
  • seq24 for sequencing
  • The necessary plugins:
    • drumkv1 to hold the drum samples (drum samples are all from
    • http://samples.kb6.de/)
    • 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
    • GxZitaReverb

The background vocals for the choruses are sung by my wife. The ocean
sample is from Freesound:

http://www.freesound.org/people/dobroide/sounds/93653/

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…

Creative Commons License
Cala Del Aceite by The Infinite Repeat is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

The Infinite Repeat – Cala Del Aceite

LAC2014: submission accepted!

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!

LAC2014: submission accepted!

LV2 gaining momentum

The number of new LV2 plugins being released is steadily growing. The last couple of months at least the following LV2 plugins have been released:

  • Bitrot (a set of LV2 and LADSPA plugins for glitch effects)
  • beatslash-lv2 (a set of plugins for live beat repeating and beat slicing)
  • deteriorate-lv2 (a set of plugins to deteriorate the sound quality of live inputs)
  • midimsg-lv2 (a set of plugins to transform midi output into usable values to control other plugins)
  • QmidiArp (LV2 plugins of the three QMidiArp modules)
  • x42-plugins (collection of LV2 plugins: tuner, oscillator, x-fader, audio-level meters, midi filters etc.)
  • BLOP-LV2 (port of the LADSPA BLOP plugins)

Haven’t tried them all of them yet but the ones I did try (the QmidiArp modules as plugins and some of the x42 plugins) proved to be very promising. Besides new plugins being released work continues on a great number of plugins, the LV2 framework itself and on tools facilitating in the creation or building of LV2 plugins. Especially falkTX is in the vanguard with his current work on getting his Carla plugin host to work as a LV2 plugin. This would open up a lot of possibilities like using it in hosts that don’t support all plugin frameworks (think Ardour and DSSI support). In the meanwhile the guitarix team continues to add great LV2 plugins to their ever growing collection and Dave Robillard, the main author of LV2, doesn’t sit still either with releasing updated versions of the building blocks that form the LV2 framework.

LV2 gaining momentum

The wait is almost over

For years users have been asking for a ZynAddSubFX or Yoshimi plug-in with a GUI for Linux. It seems the wait is almost over thanks to the great work of Filipe Coelho aka falkTX.

ZynAddSubFX-LV2 Test #1 (Qtractor)

According to falkTX work on the plug-in is almost 90% done. Parameters can be restored too as the following video shows.

ZynAddSubFX-LV2 Test #2 (Ardour)

Apparently the developer of ZynAddSubFX is working on exposing all parameters so in the future it should also be possible to automate Zyn’s most relevant parameters. Needless to say this stuff is still highly experimental so use at your own risk. I’ve done quite some tests and the plug-in keeps up well, also if you use many of them within a project (I’ve tested with a project with about 15 ZynAddSubFX-LV2 instances). But this doesn’t mean the plug-in doesn’t have any flaws, closing its GUI could crash your DAW for instance. Further tests should reveal all the obvious bugs so everyone, get that code and test it! Build instructions can be found in the aforementioned forum thread.

Many, many thanks to falkTX for making this possible!

The wait is almost over

Carla on the Raspberry Pi

Last week I managed to get Carla running on my RPi. Carla is a really nice plugin host that supports the most important plugin frameworks available for Linux (LV2, DSSI, LADSPA and VST) with some awesome extra features like a built-in ZynAddSubFX synth and support for SF2, SFZ and GIG files. The latter didn’t work until yesterday but I managed to compile LinuxSampler (which is needed by Carla in order to be able to load SFZ and GIG files) for the RPi with the help of Paul Brossier aka piem from the Aubio project.

I just wrote him a mail:

Hello Paul,

I’m trying to package LinuxSampler for Raspberry Pi but I’m running into an issue when compiling which fails with a message related to RTMath.h. After some googling I ended up here:
http://bb.linuxsampler.org/viewtopic.php?f=2&t=514#p3156
So I started scouring the interwebs and found this:
http://packages.qa.debian.org/l/linuxsampler/news/20050806T210205Z.html
Where there is a reference to a possible fix. But the diff.gz that contains the patch is untraceable. I know this announcement is almost 8 years old but do you think you still have the diff or maybe an idea what changes you made to the code?

Thanks in advance and keep up the good work with Aubio!

Best regards,

Jeremy Jongepier

And guess what, he replied almost instantly! He gave me some pointers where to add some extra code and even though I’m not a coder I started trying things out. But then I stumbled upon actual patches to resolve this issue. I needed both the ARM and atomic patch and after applying those LinuxSampler compiled flawlessly in my Raspbian ARM chroot. The few lines of code I cooked up myself were almost identical so I got quite far actually. I should really pick up learning how to code, I think I’d learn fast.

So after compiling LinuxSampler I could rebuild Carla against the freshly created LinuxSampler libs. Installed the deb on my RPi and loaded some SFZ’s. It all worked like a charm. Carla is like a Swiss Army Knife, I’m really starting to appreciate this piece of software. Kudos to falkTX! And thanks to Paul Brossier for responding so quickly and helping me to get on the right track.


text-align: center;

Carla running on the Raspberry Pi

Carla on the Raspberry Pi

Lucid Lynx Appreciation Blog

Van de week Lucid Lynx op mijn PC op het werk geïnstalleerd in plaats van Fedora 12. Had er ook Fedora 13 op kunnen zetten maar heb toch besloten om voor Ubuntu te gaan. De Linux mensen van de ICT afdeling op mijn werk hebben een voorkeur voor Red Hat (dus ook Cent OS en Fedora) en ik wilde een beetje bijblijven, heb zelfs een RHCE cursus gedaan, maar Ubuntu werkt voor mij gewoon lekkerder. Dus helaas, exit Fedora.

Tot nu toe ben ik erg enthousiast. De installatie verliep soepeltjes en ook de boel instellen kostte me niet al teveel tijd. Active Directory authenticatie was nog een kluifje maar dat heb ik nu ook aan de gang. Ik kan weer printen, kan bij al m’n shares, mail via Exchange werkt ook en van een aantal Fedora onhebbelijkheidjes ben ik nu eindelijk af (haperende NetworkManager, Place Windows plugin van Compiz die het niet deed).

Na alles geïnstalleerd en ingesteld te hebben, inclusief de onmisbare PPA’s (falkTX en philip5), mistte ik nog wel het nodige dus ben gelijk maar gaan packagen voor Lucid in mijn PPA. Ook liep ik na het installeren van de gesloten Nvidia drivers tegen een bug in Plymouth maar na wat aanpassingen had ik weer een slick opstartscherm. En uiteraard meteen de vensterknopjes weer rechts gezet. Dat soort dingen lijken kleine aanpassingen maar als je al meer dan 15 jaar gewend bent om de knopjes rechts te hebben en ze staan ineens links dan krijg ik een enorme error. En ook heb ik het niet zo op Apple (in Mac OS X staan de knopjes ook links) dus hup, knopjes naar rechts.

Dus ik heb weer een lekker fris en fruitig OS op mijn werk PC staan wat draait als een speer. En ik kan later naar mijn werk, zo ontiegelijk snel start de boel op. Ja, 10.04 lijkt me voor zover weer een goeie release, chapeau Ubuntu!

Lucid Lynx Appreciation Blog