Sunday, December 27, 2009


After an unexpected break I did what I didn't think I could do.

While attempting to build lv2 applications I overloaded and frustrated myself to the point that I had no desire to do anything at all for Ubuntu Studio.  Two weeks or so later after I stopped working on it I find myself reintroducing myself to zynjacku
Approaching it with a fresh perspective allowed me to review the problem again and re-evaluate some of the data which proved critical, along with reading the GNU Make manual.  And it now appears that I managed to build it correctly in my Karmic PPA.

I say "appears that I managed to build it correctly" because my testing methods were not extremely conclusive, but satisfactory at this point, consisting of running zynjacku and lv2rack from the command line and adding effects.  This was also tested on a fresh Ubuntu Studio install in VM.  Granted, the one lacking aspect is that I didn't actually run any sound through them to test.  A somewhat disturbing flaw in an otherwise rewarding experience.  Once I have my recording setup resurrected (and improved) I will test it directly.

I would like to push this into REVU but one last, remaining item needs to be addressed: the desktop file.  The desktop file tells the Ubuntu system where to place the application in the menus and provides an icon for it.

Unfortunately, I believe I will need more help than the current documentation (that I have found) can provide to accomplish this.

After I complete the desktop file and submit to REVU I shall document my changes to the upstream version here in this blog.  And most likely will start on either zyn or lv2vocoder since they are by the same developer and should be similar.

Saturday, December 12, 2009


Today I got my robe and wizard hat, well not really, but I did get my GNU Make book from the Free Software Foundation.

I cannot possibly begin to explain how excited I am to have this book.  There is a critically large amount of information to be learned, just waiting for me to discover it!

Once I have devoured this information I will be powerful!  But of course I will only use my powers for good.

Wednesday, December 9, 2009

Luminescent Invisibility

Documenting the past, present and future...all in less than 144 characters.  Just kidding.

Ubuntu Studio Documentation
The ubiquitous Ubuntu Studio documentation continues.  I'm made some good progress but there are gads more to go.  Progress is cyclic because I find myself focusing singularly on the documentation improvements for a time then I get distracted (hey look, something shiny, huh, did you just say ADHD?) by something else for a while and then I return.

I've made good progress in the over all structure of the documentation and including a few select areas.  For example, defining Ubuntu Studio, contrasting it to Ubuntu and also the installation methods.

But I plan on review some of these items because I feel my understanding has expanded and solidified since I wrote them and that I could improve upon them now.

I also plan to leverage the ease of VM to validate the installation methods, particularly the "upgrade" section.  I would not only like to definitively document the steps required to not only "upgrade" from Ubuntu to Ubuntu Studio (on an applications level) but also present clear and definitive information on the additional required steps to "tune" for audio and video work.

After this I will probably direct my attention to the testing documentation.  This follows what I feel is a trajectory of importance since we already have some (?) documentation showing how to "use" Ubuntu Studio.  Note that the existing documentation for "using" Ubuntu Studio lacks cohesion, consistency and completeness, but it is extant.

The next task after completing the testing documentation should be reporting bugs following the importance trajectory.  But I do have to admit that I look forward to improving documentation showing how to "use" Ubuntu Studio, in particular using JACK and recording with Ardour.

Build It and They Will Come
Well, I'm trying to build it at least.  Several its actually, let me count the ways.

Firstly, I'm helping Eric (stochastic) build the lv2 applications available to us.  You can see our task list here.

I've given a go at zyn, zynjacku and the lv2vocoder, which, quite surprisingly to me, were all developed (or co-developed) by Nedko.  It's not that I question his ability to code (I think he can), rather I found the odds staggering that each successive application I choose to build would be one of his.  That is until I started to realize that he is among a very few developers who developer lv2 applications.  Amazing.  But that is another story arc.

I have had a quite troubling time building zyn, zynjacku and lv2vocoder due to my complete inexperience building applications from scratch.  But I have learned much since I started.

I actually have gotten a build of zynjacku completed with Nedko's help, albeit with a few warnings that hopefully Eric will help me resolve shortly.  If Eric proves too busy (and he is busy) then I should find my way to the -dev mailing list for help.  Or given enough time, I might bother Nedko again.  I bothered him quite intensely for a short period of time so I'm not in a rush to engage him too soon.

But we should see a majority success before Lucid is released.

Pbuilder and chroot
I recently found myself having some difficulties not relating to my ignorance of building applications from scratch but rather from my ignorance of pbuilder and the chroot environment.

I found that my pbuilder builds were not finding dependencies as I thought they should.  geser on #ubuntu-motu helped me understand why.  Apparently my pbuilder environment did not include the lucid universe repository.  The answer?  Log into the environment and add the correct repository, of course.

First step is to log into pbuilder:
sudo pbuilder login --save-after-login
You will need to enter your password to work as root.  Also note the "--save-after-login" flag, that's where some of the magic happens.

Then you add the repository to your /etc/apt/sources.list (but mind the lack of commands due to minimal build environment; no Gedit for you!):
echo "deb lucid universe" >> /etc/apt/sources.list
 Then "exit" out of the environment.

This adds another line to the minimal build environment's sources.list to include the universe repository for the Lucid (to be) release.  Normally you would just append the word "universe" on the same line as the existing repository which should already include "main".  But this is quicker and less invasive to the environment in my opinion.

I think alternatively you can use the ~/.pbuilderrc file to accomplish this same feat (and possibly more?) but I found the above more direct and intuitive.

Monday, November 23, 2009

At the lv2core of the Matter

It is always comforting to see the results of effort.

Today I received an email saying the the syncing of lv2core-3.0 was effected closing LP: #479703 (which you may notice was filed by me).

LV2 effectively replaces the LADSPA API for plugin effects and is a big first step for the Ubuntu Studio developers to update to the latest version of LV2 and incorporate numerous additional effects that were not present in Karmic.  But there is still many other steps to take, which are not directly dependent on me.

Interestingly enough, if you look at the Launchpad lv2core source the changelog was, um, changed and includes my name/email for the initial Ubuntu release.  This changelog will stay with lv2core-3.x associating me with the initial release, so I'm relatively immortal and famous now.

I believe now that the current lv2core is in Ubuntu I need to file a Launchpad bug for a sync of Ardour from Debian.

Sunday, November 22, 2009


I've managed to discuss the blog (at length) but not really explain what I am trying to accomplish.  Redressment, therefore, is in order.

Firstly, I felt a need to contribute back to Ubuntu Studio and the Ubuntu community.  Ubuntu Studio is an awesomely functional and powerful operating system with equally potent applications, all provided free (as in beer).  Such a gift, freely given, humbles me and compels me to help as I can in turn.

I feel that contributions in this arena will be comprised of testing and documentation.  These are areas that do not require any substantial or overtly specialized knowledge and provide an easy subject into which to integrate.  Easing the transition of new people into helping in these areas would be considered a secondary goal.

Secondly, and slightly less altruistically, I want to focus on provided continually updated back ports of applications for the Ubuntu Studio LTS (long term support) version.  The main impetus for this commitment is derived because I use the LTS version for stability but crave the new (and proven) application features of subsequent releases.

Therefore I expect to maintain a continual sense of activity of back porting applications such as JACK and Ardour.  I say a "sense of activity" because this is not a day-to-day activity, rather it will be a recurring, sporadic activity based upon application updates.  But, I also feel it is an incredibly important, undermanned and undervalued activity.  I am humbled with the sense of responsibility to help fill the need.

Additionally, I would like to also learn about packaging from scratch.  Learning packaging from scratch would provide incredible amounts of knowledge so that I may be more helpful to the Ubuntu Studio developers.  This could help resolve bugs in packaging or perhaps package new applications as they are available.

Lastly, I hope to be considered among the ranks of Ubuntu Studio developers.  Vainglorious perhaps, but this would give me a sense of accomplishment, a validation of my contributions and a sense of acceptance into such a niche group.

Thursday, November 19, 2009


I had started using my FOSS Music Project blog to document some of my packaging for Ubuntu Studio.  The intention was to document what was required for later backport packaging using a relatively unused blog.

But now that I have started this one, these items should really fall under this domain.  But rather than repost everything here I will simply link back to the other one.

prevu (part I) - installing, initializing and using it to package
libffado - building it as a dependency for building JACK
libcelt - building it as a dependency for building JACK
JACK - building JACK 0.116.1
VAMP - building it as a dependency for building Ardour
cdbs - building it as a dependency for building soundtouch as a dependency for building Ardour
libtouch - building it as a dependency for building soundtouch as a dependency for building Ardour
soundtouch - building it as a dependency for building Ardour
prevu (part II) - better understanding of prevu
Ardour - building Ardour 2.7.2

After I built all this for the expressed purpose of backporting Ardour and JACK (with FFADO support) I came to the realization that the .deb files on my computer would not work.  Well, they worked but they would not be accepted for backporting purposes.  This led me to begin building things in my ppa.

ppa - understanding Ubuntu's Personal Package Archive (ppa)
FFADO-ppa - building libffado on my ppa

I noticed that I stopped posting about my builds.  I should probably post some updates soon before I forget some of the things I did.  Or have I already?

Upon review, it appears that I followed the exact prevu building experience as far as order goes.  I followed the operational procedure per the FFADO-ppa above.

I also remember trying to build some tools to help with a sync request for  lvs2coreubuntu-dev-tools had a sync request script that I wanted to use but it was not included in the version ofubuntu-dev-tools included in Hardy.

I found myself on a sick cycle of having to build more and more applications trying to finally build ubuntu-dev-tools.  In the end I imported my gpg key into my Ubuntu Studio 9.10 install from my 8.04 dev partition.  The blog post listed below helped with the gpg key import and clarified a few points about my ppa.

Wednesday, November 18, 2009

Cogito Ergo Sum

This blog has made a slight transmogrification and therefore deserves some explanation.

This blog was my original foray into blogging.  I thought I could post a commentary about life, a semi-autobiographical affair, which ultimately failed miserably.  But this provided the impetus for another blog which would serve as a sort of literary experiment and not meant for pedestrian eyes.

Next, I began what I name the FOSS Music Project, with accompanying blog.  In short, the goal of the project was to document the accessibility and quality of Free Open Source Software for recording music.  In particular, this would feature Ubuntu Studio but would easily translate into almost all of the other Linux distributions.

This project also meet at untimely demise as I became more involved with Ubuntu Studio and the Ubuntu Studio developers.  Demise is really too strong of a word since only some of the goals for the project are being addressed by working with the Ubuntu Studio developers.  Rather it's time has not come as I will revisit it later.

But as I began working with the Ubuntu Studio developers I realized that I needed a place to document some of the things I did and therefore I started to use the FOSS Music Project blog.  This concerned me because I felt that the FOSS Music Project needed to happen and would when its time was appropriate.

So, I have started this blog.  It's goal is to document my travails as I work with Ubuntu Studio and the developers on my quest to be considered among their austere ranks.

Lastly, I want to mention that I have purged any non-related posts from this blog in order to fit in with the current scope and, as they were random thoughts of no significance, it bears no concern.  Additionally, I moderated the first post to reflect the subject matter, which does somewhat present me with some concern.

Purging unnecessary content does not present me with any untoward feelings, but subjectively modifying content does.  Note that I contrast this with making editorial changes.

Sunday, January 18, 2009

Music Sample

Okay, here is a test recording that I complete last week. It's only drums and two guitars but it was a successful proof of concept for setting levels and getting acceptable tonal qualities.

In a nutshell, I was exploring demo drum sounds. I found a demo that had good sounds and I instantly made up a riff. I decided to use these, the drum demo and the new riff, to finally do my first recording with the new setup.

The 'noodling' in the beginning was because the drums did not start when expect. Then the drums starting the middle of the demo. Finally, the actually drums begin and I improvise another new riff at the beginning (it made double tracking it difficult). I've edited the "video" a few times so this may not be true anymore.

Anyway, here it is.