Where Sports Could Really Help Politics

In the case of infamous Julia Timoschenko, the 2012 European Soccer Championships were quite rudely, notourously and successfully hijacked by some interest groups with what-right-soever.

Then, why the hell has none of the majority of European politicians even tried to explain the necessities of more integration to the obviously unwilling, unpolitical people majority using this years Olympics?

Here is the stunning result of the United States of Europe (made using google docs online importhtml feature).

Modding the Novation ReMOTE 25SL COMPACT Drum Pads

A midi controller like the Novation ReMOTE 25SL COMPACT  plays very well the musical counterpart to your established cordless keyboard & mouse.

All the buttons & knobs come very handy when not only playing some twisted bass line or synthetic melody, but also when at the same time trying to control the countless parameters of todays virtual music studios, such as my favourite  Propellerheads Record.

Unfortunately, the finger drum pads of my newest ebay item are really lousy. Lousy in that their sensitivity curve only starts at a treshold above which your thumb will hurt. So forget about rolls, flams and expressive patterns.

Inspired by the various electronic drum pad mods out there, I gave it today a chance an tried to fix that gear.

For that purpose, you need to pull all the encoder knobs apart (they are not fixed, see first picture) and get rid of all the outer screws at the backside of the chassis (the inner screws hold the keyboard and it is easier to reassemble the gear when it stays attached).

Displace the encoders in order to open the deviceOpen the Device and Turn the Upper Part

Then, you can pull the upper part of the device (including the green main board) over the keyboard and turn it upside-down (see second picture). The keyboard is attached to the main board with two cables: a power supply cable (left) and a ribbon cable (middle). Both can be easily detached (but remember their position) such that you have more freedom to remove further parts.

Next, you can unscrew the main board from the upper part of the chassis and turn it again to the front.

When you have detached the main board, you can immediately access the drum pads.

Removing the rubber mat, you can put some washers under the piezos

As shown in picture three, the drum pads are located on the right part of the main board where they are covered with a rubber mat. The rubber mat can be easily removed. It is divided into 8 “chambers” (one for each pad) which are built on the downside like little cones. Such a cone will assemble the force with which your finger hits the pad and transduces it to the underlying piezoelectric sensors (or short: piezos) which are located in little holes (see picture four) in the drum pad base part.

What does not work very well: I tried to “sharpen” the cones by adding additional rubber caps (such as used as feet for table-top electronic devices). The result was that the rubber mat will no more close effectively, phantom triggers can apply when the device is completely closed again …  and most importantly: the play feeling was almost the same as before.

What did work amazingly well in contrast : I have put eight little washers (1,8cm ~ 0.7 inch) in the holes under the piezos and attached them using double-sided tape. This has the effect to level the piezos a little bit in their holes, at the same time the holes in the middle of the washers allowed the cones to develop a greater deformation pressure in the piezos. And the rubber mat will still close (it will level up only a little bit, but not that much that closing the device will cause phantom triggers).

Now playing the Kong Drum makes double the fun!

Converting Media Monkey`s XML To Native Instruments` NML – The XSLT saga continues …

I love solutions that can be readily transferred to the next problem.

Media Monkey appears to be the only media manager that copes with my 70 GB music library in a more or less decent fashion. But its Auto-DJ is lousy.

Beatport Sync was once a nowadays abandoned marketing deal between the named dj supplier and the ingenious Native Instruments people, creators of Traktor. Fortunately this deal has left some artifacts in the world-wide-binary  in the form of a sufficient and good-sounding two-deck party music player for the price of a … ummm … torrent?

The question is now how to transfer those precious MM playlists into Native Instruments collection format (which btw. contains information such as bpm, loudness and other stuff you won’t find in your casual librarian). So here is how you do it:

  • Export the MM playlist via “Create Report” (Berichte erstellen) -> Songlist (XML) into a dedicated MusicDatabase XML file
  • Transform the XML file via this XSLT stylesheet, e.g., by using XML Copy Editor
  • Import the resulting file as a collection into Beatport Sync/Traktor/…

Converting PAL to WPL or If the World was only XML, All we would need was XSLT!

It is turing-complete. It is declarative. It has a concrete spec. But seldom, there was a chance to put XSLT to test in practice (means: non-development-specific scenarios).

Fortunately, I now found at least one: The conversion of Picasa`s internal album format (PAL) to the Windows Media Player´s Playlist format (WPL).

The former format can be found in files stored under your %userprofile%\local settings\application data\google\picasa2albums\andthensomecryptichashkey\anothercryptichashkey.pal and looks like this:

<picasa2album>

<DBID>294e340d47652d5477f91360714c84b1</DBID>

<AlbumID>7b1bc1c49dad23fc8d3ffb35ddf2af68</AlbumID>

<property name=”uid” type=”string” value=”7b1bc1c49dad23fc8d3ffb35ddf2af68″></property>

<property name=”token” type=”string” value=”]album:7b1bc1c49dad23fc8d3ffb35ddf2af68″></property>

<property name=”name” type=”string” value=”Leni 4 Jahre”></property>

<property name=”date” type=”real64″ value=”40631.848380″></property>

<property name=”category” type=”num” value=”0″></property>

<property name=”albumcontactids” type=”num64″ value=”0″></property>

<files>

<filename>[Z]\Eigene Bilder\2010\August\P8163218.JPG</filename>

andsoforth…

</files>

</picasa2album>

The latter is a nice target format that can be automatically streamed by my DNLA-server running Twonky-Media, e.g., to a PS3:

<smil>

<head>

<meta name=”Generator” content=”PAL2WPL Transformation”/>

<meta name=”ItemCount” content=”3″/>

<author/>

<title>Bach Organ Works</title>

</head>

<body>

<seq>

<media src=”\\server\vol\music\Classical\Bach\OrganWorks\cd03\track01.mp3″/>

</seq>

</body>

</smil>

You got the point? So, here you got the converting stylesheet. Have fun!

 

How to polish a hidden gem or getting to run the Behringer BCA-2000 on current computing gear

Sometimes you have to decide between throwing a lot of money on state-of-the-art hardware or rather researching in gear that others have abandoned (and left it to you for a quarter of its value ;-).

But, the net is wise and so all the posts about driver problems with the Behringer BCA-2000 speak a common language: It´s a software problem, stupid!

The most recent drivers published on the manufacturers site will not only fail to handshake the impressive console attached via USB 2.0, they will also stay seated in the driver registry and prevent from correctly and completely downgrading to some functioning predecessors.

But, as said before the net is wise and here comes a tip from fellow musicians (!!): Start the devide manager devmgmt.msc from the console after having set the magic environment variable devmgr_show_nonpresent_devices to 1. Then you will be able to choose a new view option that will list all the devices that you have ever plugged to your machine for instant uninstallment.

Ok, so a new start with the old drivers (1.02). Gosh! It´s a bootloader design from which only the audio part (USB\VID_1397&PID_00ba) will be reocgnized, the usb part (USB\VID_1397&PID_00BB) says “no driver for that device found”.

Did I mention that the net is wise. And bless god, there is a lot of sysadmin talk about the microsoft device driver kit and how to write unattented installers for that manner. If you´d ever wanted to know the inner logic of setup.inf files (yes, there is some of it, though on a certain level of ape-type beings), have a look at that compendium. And finally, a great tip is the debugging of the whole pnp-activity through increasing the setupapi log-level and the monitoring of the c:\windows\setupapi.log.

This brings us closer to the solution: A format/classuid bug in the corresponding inf file which can be easily fixed.

Great, I now get around 5ms output latency at 88.2 KHz with an impressive arsenal of knobs at a percentage of the list price … nice start in the weekend.

Web Services for a Christmas Card

Every year since I gave up my own virtual domain host, it is the same procedure: I´m trying to get some interactive email running for our best friends and family, but on standard web services.

Last year, I hosted it as a Google Site post  and it was quite suboptimal. Especially the Embed Gadget with an integrated media player playlist is neither pretty nor will it automatically play in all browsers.

This year, I was more lucky. First, the Grooveshark Widget is a quite nice flash player to interface one of the most complete hosts for popular music. Next, I found the PasteHtml Service is a great host that publishes your java-script enabled web-page without hastle. A nice snow generator can be found under Kostenlose Javascripts.

So here is the quite satisfying result … and remember not to eat that yellow snow!

A Pragmatic Application of Machine Learning

While writing a simple parser for the movie index of my favourite tv mirror site, it strikes me that the “learning to extract useful information/facts from a junk of html/xml by example” would be a really helpful technology for people such as my parents.

You would simply highlight the interesting bits of a web-site in your browser and then give the plugin it a few hints how to generalize the seen syntax into some more specialized grammar / regular expression extractor.

From then on, the plugin would try to derive facts from any similar web-site. Or it could even store the result in myPDA 😉

Agent-Oriented Programming Revisited

How do you know that your holidays have had a (positive) effect?

– You start having private project ideas again.

So this one looks really entertaining: Building a permanent process (aka: agent – a term that I have bashed for several years now) on your NAS-Server that starts with some useful downloading and decoding tasks and that constantly evolves into your best helper and counsellor.

Basic building blocks:

  • A relational database (mySQL for the time being) as a persistent knowledge base.
  • A way to represent the knowledge in an ubiquitous fashion (rss-Feed with google-style API, maybe a Microsoft Agent to personalize it)
  • Actions which manipulate the knowledge by inserting, updating or deleting data.
  • Triggers which generate events from knowledge changes stored in a big event table.
  • Inference rules like JESS fed by the events and additional conditions stored in the knowledge base and firing actions.
  • Maybe some common-sense inferences such as given by opencyc.
  • Reflective Capabilities maybe some activation scheme à la ACT-R to focus and priorize processing inside the agent.

The first goal is to automize my interaction with Online TV Recorder upon given video patterns.

Next, it would be cool to get downloading recommendations based on my and my families preferences.

Then lets see what other tasks (a smarter CruiseControl?) we can mandate to MyPersonalDigitalAgent and make it describable by some neat DSL.