Older blog entries for Elleo (starting at number 60)

Jokosher on the Nokia n900

I’ve had another stab at getting Jokosher running on the Nokia n900 and I’m getting much closer to something actually usable now, as this screenshot attests:

Jokosher on the Nokia n900

There’s still a number of issues that need resolving before it’s really ready for use (most notably some playback/recording issues and some dialog boxes that are too large for the screen), but it’s getting there. When it’s working fully it could make the n900 a very useful device for portable podcasting, allowing users to record, edit, mix, encode and upload their roaming shows with nothing more than their phone.

Syndicated 2010-06-18 01:05:03 from Michael Sheldon's Stuff

GStreamer OpenCV plugins on the Nokia n900

A while back I wrote a few GStreamer plugins that expose OpenCV functionality as GStreamer elements (source code), I haven’t had much time to work on these recently myself, but thankfully a number of other folks have started contributing now. Yesterday Daniil Ivanov kindly packaged gst-opencv for the maemo extras-devel repository, and the n900 performs surprisingly well considering how CPU intensive many of the vision operations performed are.

This first video shows edge detection being performed from the n900’s main camera (whilst simultaneously being encoded):

Example gst-launch line: gst-launch v4l2camsrc device=/dev/video0 ! video/x-raw-yuv,width=480,height=272 ! videorate ! video/x-raw-yuv,framerate=12/1 ! ffmpegcolorspace ! edgedetect ! ffmpegcolorspace ! xvimagesink

This second video shows the faceblur element in action, it detects any faces in the current scene and blurs them out, the frame rate and resolution on this one had to be reduced somewhat due to the complexity of the operation, it looks clearer when performed directly to an xvimagesink rather than attempting to encode at the same time.

Example gst-launch line: gst-launch v4l2camsrc device=/dev/video0 ! video/x-raw-yuv,width=240,height=136 ! videorate ! video/x-raw-yuv,width=240,height=136,framerate=6/1 ! videoscale ! video/x-raw-yuv,width=120,height=68 ! ffmpegcolorspace ! faceblur profile=/home/user/haarcascade_frontalface_default.xml ! ffmpegcolorspace ! xvimagesink

For some more examples of the gst-opencv plugins in action on a normal desktop machine take a look at thiagoss’ blog post and a couple of videos by Alexandre Poltorak (edge detection and face blurring).

Syndicated 2010-06-17 15:49:46 from Michael Sheldon's Stuff

Jokosher Summer of Code Projects

This year we’re lucky enough to have three students working on Jokosher as part of the Google Summer of Code, two under GNOME and one under GStreamer.

Andi Miller

Andi is looking into making it possible to do collaborative editing tasks between multiple Jokosher instances, between Jokosher and Pitivi and potentially between Jokosher and a small remote control (so you can use your phone/MID to start Jokosher recording/playing without needing to be sat at your PC). The project is progressing well with some Jokosher information and events already being exposed via a dbus interface.

Pēteris Krišjānis

Pēteris is working on finishing up some old work to provide telepathy support within Jokosher and then further extending this to add support for telepathy tubes. This will make it very easy for users to record VoIP sessions within Jokosher and the tubes support will also tie-in with Andi’s collaborative editing project, allowing him to send his dbus messages via telepathy connections to remote users. The most interesting use case from my perspective is for podcasters working over VoIP, in the scenario where both participants are using Jokosher it should be possible for them to carry out a standard VoIP call and then afterwards have the two Jokosher instances automatically synchronise a high quality recording of each participant’s side of the conversation; so while the VoIP call quality might not be perfect the final audio will sound as if they’re both in a studio together.

David Williams

David is attempting to add musical score editing support to Jokosher, allowing people to sketch out musical ideas that can be played back as MIDI instruments alongside normal recorded audio. He’s already made some good progress in creating a python GStreamer element that can output some simple MusicXML based on an internal model (which can then be rendered to MIDI via the musicxml2midi element), this will then later be connected to a score editing UI, with the potential for multiple interface types (traditional scores, guitar tablature, drum events, etc.).

So hopefully by the end of the summer we’ll not only have a number of very exciting new features but also three more core Jokosher developers :) .

Syndicated 2010-06-02 16:07:31 from Michael Sheldon's Stuff

GStreamer MusicXML2MIDI Release 0.1

A few months back I started writing a GStreamer element for converting MusicXML into MIDI, the eventual goal of this from my perspective is to allow for score editing inside Jokosher (without Jokosher having to deal with all the pain of the MIDI format itself). It’s far from being perfect and still has trouble with more complicated files, but hopefully it’ll be of use to some people in its current state so I’m releasing version 0.1.

Example Uses

  • Synthesising MusicXML directly:
    gst-launch filesrc location=song.xml ! musicxml2midi ! wildmidi ! audioconvert ! autoaudiosink
  • Generating a MIDI file:
    gst-launch filesrc location=song.xml ! musicxml2midi ! filesink location=song.mid
  • Generating an OGG Vorbis file:
    gst-launch filesrc location=song.xml ! musicxml2midi ! wildmidi ! audioconvert ! vorbisenc ! oggmux ! filesink location=song.ogg

Running the OGG Vorbis pipeline on the twovoices.xml test file produces the following output:


MusicXML2MIDI 0.1 – Source Package
MusicXML2MIDI 0.1 – Debian/Ubuntu Package for 32-bit systems
MusicXML2MIDI 0.1 – Debian/Ubuntu Package for 64-bit systems

Alternatively there’s a PPA available: https://launchpad.net/~gst-musicxml2midi/+archive/ppa/


All the source code is stored in a git repository: http://github.com/Elleo/gst-musicxml2midi. If you’d like to help out simply clone the repository and start hacking away, once you’re happy with your changes you can propose your branch for merging with my own.

Syndicated 2010-03-19 15:55:07 from Michael Sheldon's Stuff

Libre Droid


For the past few months I’ve been working on the Libre.fm music service. It provides Last.fm compatible APIs, allowing you to submit your listening habits and to stream creative commons music.

Over the past week I’ve put together an Android application called Libre Droid, allowing people to stream music from libre.fm directly to their Android mobile phones. Here’s a short video of it in action:

It’s now available for download (for free) from the Android marketplace, scan the image below with your phone (or click it in your phone’s browser) to download it:

Alternatively if you don’t have access to the marketplace (e.g. if you’re using Android on an unofficial platform like the OpenMoko phones) you can download the package directly from: http://mikeasoft.com/~mike/libredroid.apk

Syndicated 2009-08-05 19:57:38 from Michael Sheldon's Stuff

Jokosher For Windows

A Not-So-Secret Project

With Jokosher 0.11.1 on the verge of release I think it’s time that I made my not-so-secret project slightly more public. For the past few months I’ve been slaving away to bring Jokosher to the poor unfortunate souls who, for whatever reason, are still stuck using Windows. That task is now for the most part complete, as this pretty screenshot will attest:

Jokosher running on Windows

Testers Wanted

Jokosher’s 0.11.2 release will feature an easy to install Windows package, however I’m making a release candidate available now in the hopes that any major bugs can be discovered before the main public release. So if you have a Windows machine handy and feel like having a fiddle with Jokosher just download the installer package below. Everything you need is included in that one package, so installing it should be no different than installing any other Windows application. Then if you find any bugs please report them in the Jokosher bug tracker.

Download Jokosher 0.11rc4 Windows Installer
File a bug

Syndicated 2009-03-17 20:54:14 from Michael Sheldon's Stuff

Announcing Tango Friends

With only my EeePC available (and so no real work to distract me) on the way back from FOSDEM I decided to pass the time by hacking together a little web interface to TangoGPS’s public friends server, which allows TangoGPS users to share their location with other Tango users. So now you can stalk your OpenMoko toting friends even easier from any internet enabled computer. It uses OpenStreetMap for the maps and automatically queries the tango friends sever every 10 minutes.

It can be found at http://mikeasoft.com/~mike/tangofriends.

Syndicated 2009-02-10 20:44:59 from Michael Sheldon's Stuff

FBReader now working on the OpenMoko FreeRunner

I’ve just spent the day hacking on FBReader to make it work correctly under OpenMoko (OM2008.*). Until now it’s been pretty much unusable due to the GPE version of FBReader expecting you to be using a device that has some physical buttons which then get bound to vital functions like turning the page. The changes I’ve made are as follows:

  • Add scroll forward/backward buttons to the toolbar
  • Add fullscreen mode button to the toolbar (doesn’t have an icon at the moment, it’s the third button from the right)
  • Change fullscreen mode so that it doesn’t hide the toolbar (otherwise there’s no way to get back from fullscreen mode)
  • Switch to using the much prettier blue tango icons
  • Make the line separation larger so the text doesn’t overlap
  • Reduce the font size
  • Change the default colours to match openmoko’s colour scheme better (and so it’s a little easier on the eyes)

And most importantly…

  • Make it so that tapping the sides of the screen turns the book’s pages (left = backwards, right = forwards)

Here’s a screenshot of what it used to look like:

And what it looks like with my patches:

To install it simply run:

opkg install http://mikeasoft.com/~mike/openmoko/enca_1.9-r3_armv4t.ipk http://mikeasoft.com/~mike/openmoko/fbreader_0.8.2a-r6+elleopatches_om-gta02.ipk

For those interested the patch can also be downloaded from http://mikeasoft.com/~mike/openmoko/fbreader-openmoko.patch.

Bonus points for anyone who knows what book I’m testing it with in the screenshots (without googling) ;).

Syndicated 2008-10-12 19:09:22 from Michael Sheldon's Stuff

Jokosher running on the Neo FreeRunner

Just for a bit of fun I thought I’d see how well Jokosher runs on the Neo FreeRunner mobile phone. It actually seems to be almost usable, I might see about finally looking at bug #228035 (making Jokosher more usable on small screen devices) to make it a bit easier to use.

Jokosher on the Neo FreeRunner

Once some of the other more important tasks are completed I might also go back and take a look at implementing the Jokosher remote that we’ve had planned for a few years.

Syndicated 2008-08-16 23:38:15 from Michael Sheldon's Stuff

Improved Crash Protection for Jokosher

I’ve just about finished rewriting the crash protection code for Jokosher. It now supports recovering multiple crashed projects at any time after the fact (instead of forcing you to choose immediately after a crash has occurred). It also checks that the crashed project hasn’t changed since the backup was saved and makes sure the user really wants to restore the project if this is the case.

Jokosher has recently moved to using bazaar instead of SVN, as such this feature has it’s own branch, we’ll still need to see if this branch gets merged before or after the 0.10 release.

Syndicated 2008-08-10 00:23:23 from Michael Sheldon's Stuff

51 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!