Archive for May, 2013

25
May
13

UCreate Music, Part 3 – the software

In Part 2 of this series I dealt with the UCreate hardware.  Now we come to the software.

The issue of the UCreate software is a contentious one, as the software to allow users to swap around the sounds and effects in their UCreate could only be used by connecting to the UCreate website; but after a couple of years Mattel took down the website and it was no longer possible to do this.

There is a long and very interesting discussion on the subject – from which many of the ideas below originate – at http://nomeist.com/ucreate-music/199.

The way it originally worked was this: the first time you plugged in your UCreate it automatically connected to the website, and downloaded a program, which – on the Mac at least, looked like this:

UCreate window ishot-3

This confirmed that your device was connected, and gave you the Firmware version (I think version 9 was the last one) and the individual number of your device.  Each time you plugged in your UCreate and opened the program, this is what you would see.  As the instruction at the top suggests, if you rested your cursor on various parts of the picture, you were given an explanation of the function of the various controls, for example:

Rollover ishot-6

However, more importantly, if you clicked the tab on the right, ‘Music portal’, you were able to log onto the website:

UCreate portal screen 2

As you can’t do this now, I’ve had to rely on an old screenshot from a Windows PC.  I don’t have any screenshots of what you would find when you got there, and even the Wayback Machine only shows a background image, presumably because the site operated via a Flash app; but you were able to download some alternative sounds directly to the UCreate device, and move the effects around.  What users anticipated was, as time went on, more sounds and new effects would appear, perhaps even a community of users sharing their own creations.

Instead, the site was closed, and you now see only this:

Failed to connect

Not only was access to the existing sounds and effects withdrawn, but, worse still, also the means of loading them into the UCreate devices; and everyone who used one was stuck with whatever sounds they currently had installed.

For most, this was the original sounds the UCreate came with, or one of the extra packs that had been available on the website.  I had the extra packs, but couldn’t use them because there was no separate software available to install them on the machine.

Some astute users had observed that the downloading process occurred in two parts: first the sounds were downloaded from the website to the host computer; then they were transferred from the computer to the UCreate.  The time-lag between these two operations allowed their own sound files, suitably renamed to match those being downloaded, to be quickly substituted between downloading and transferring.  The timing of this was crucial, and could be a bit hit-and-miss, so one proficient user, ‘scragz’, even wrote a routine for Macs that automated the task (https://github.com/scragz/ucreate-loader); but if these were still in the machine when the site was taken down, these were the sounds you were left with.

The following article describes how samples can now be loaded into the UCreate, and furthermore how you can create and use your own samples in the device.

*

First of all, I should say that this isn’t entirely straightforward,  but there are basically 3 steps to getting your UCreate to accept new sounds.  These are:

Step 1. Get your computer to recognise your UCreate device;

Step 2. Create the right kind of sound files for the device to use; and

Step 3. Load the sounds into the device.

Fortunately, there is now a step by step video tutorial on YouTube at https://www.youtube.com/watchv=Ehh1fn6D2Lk&list=PLJSvyfpaaK7ESfsIWcdwDMCS-YhIw1xc4 which tells you exactly how to do it.  This was made by Krimzon Ninja, who’s done some marvellous work in sorting this problem out, following on from a user by the name  of ‘marbs’ who created a program a couple of years ago (http://marbs-online.blogspot.co.uk/) which he called ‘u-load’.

[Edit: the YouTube link no longer works.  You can download Krimzon Ninja’s tutorial here]

Part 1 of the tutorial lists the programs required, and setting up the folders you need on the computer.

Part 2 describes how to get your computer to recognise the UCreate.

Following the instructions in the videos is the best way to do it, but these are my original notes from the first version of this article, which may help:

Step 1. Getting the computer to recognise your UCreate device.

If you just plug your UCreate into the computer and run u-load, you’ll get this:

screengrab 1

which is no help at all.  What you need to do is install a USB driver to communicate with the device.

The way to do this is as follows:

a.  Download the driver installer program ‘Zadig’ from here: http://zadig.akeo.ie/ (choose a version according to whether you’re using XP, Vista or Windows 7), and unzip it with a program such as ‘7-Zip‘.

[Edit: Now, what I’ve been told is that not every version of Zadig will do. There are different versions for XP and Vista or later.  I used this one: http://sourceforge.net/projects/libwdi/files/zadig/zadig_v1.1.1.137.7z/download which worked fine].

b.  Start Zadig, go to the ‘Options’ menu, and select ‘List All devices’.  marbs’ instructions said ‘choose GENERALPLUS-MSDC from the drop-down list’.  I didn’t have this on the list, so I used the ‘Edit’ function to rename the one item that was there – I don’t know if this was necessary or not, but as there was only one file in the list, and only one USB device plugged in – the UCreate – I knew it must be the right  one.  Just make sure you identify the correct device or terrible things might happen!

c. Then click the ‘Install Driver’ button.

This picture shows the Zadig window, with the 4 actions to take:

Zadig List all devices2

1) Choose ‘List All Devices’ from the ‘Options’ menu.

2) Only one item appeared on the list, which is the long box partly hidden under the drop down menu.  Probably a good idea anyway to make sure the UCreate is the only USB device connected, to avoid confusion. I checked the ‘Edit Name’ box so I could rename it ‘GENERALPLUS-MSDC’.

3) Actually, I can’t remember what was selected here.  I didn’t change what it already said, which is probably what is showing here.

4) Clicking this button starts the installation.

d.  The installation wasn’t instant: it took a couple of minutes, and some messages came up about restarting devices.  I switched the UCreate off, restarted the computer, switched the UCreate back on, and started u-load.

This time I got the following message:

screengrab 2

which was a whole lot better, indicating that u-load now recognised the UCreate, and was ready to load sounds and effects into it.

You only have to do this once, then your device is set up.

One final thing: I think it only fair to point out what marbs says at the end of the README file: ‘To use the original application delivered with your ucreate, you have to deinstall the [USB] driver in the device manager.’

In other words, you won’t be able to use the UCreate’s original software now, unless you can do this deinstall. I’m not sure whether Zadig does this or not; but I believe it’s designed not to remove existing drivers, so it would be possible, I presume, to restore the UCreate to its original state with this or with the Windows Device Manager.  It’s a moot point whether it would worth doing it, of course, since the website on which the original software depends no longer exists.

(Doing this on the Windows computer, incidentally, didn’t stop the original software from running on the Mac when I later connected the UCreate to that).

This is what you see when you press 1, then ENTER for ‘Help’:

uload help

This tells you exactly what u-load can do: ‘Make’ = group your sound files together into a big file which can be used by the UCreate; ‘Write’ = load these file groups onto the UCreate.

*

Step 2.  You need to create some sound files of the type that u-load and the UCreate can use (with the extension ‘.lop’).

Part 3 of the tutorial video describes how to create your own samples with the program Audacity.

Part 4 shows how to convert your samples to the format used by the UCreate with the programs Lopgen_a – Lopgen_e.

The 5 Lopgen programs can be downloaded from: https://drive.google.com/file/d/0B_ZkjKZUhAHQbWVsSWhuZXBFOFE/view?pli=1

There are some restrictions on the samples you create – principally making sure the files are not more than 5 seconds long.  There were reports in the past of some UCreate devices being irreparably damaged by not doing this.

The Lopgen programs don’t require the UCreate to be plugged in, they just work on sound files stored in a particular location on your computer.

All you have to do is create ‘.wav’ sound files with the correct attributes, and then have LopGenerator turn them into files the UCreate can recognise.

Edit the files in Audacity, to ensure:

a. they’re mono and 5 seconds long:

5secs

b. The project rate is 8000:

8000

c. They’re saved as ‘Other uncompressed files’ and, by clicking ‘Options’, the header is set to ‘WAV (Microsoft)’ and they’re encoded as ‘Unsigned 8 bit PCM’.wav

d.  Finally, you need to remove all Metadata before saving the file.

Once the file or files are done, copy them to the folder with the appropriate version of Lopgen in it, and run Lopgen.

*

Step 3: The final step is to load the sound files into the UCreate.

Part 5 of the tutorial video shows how to do this using the program ‘u-load’.

To do this, you’ll be typing 2, then ENTER (‘Make SamplePackage’, as the Help screen tells you), which will create a file which you can load onto the UCreate with a ‘Write’ command.

But first, you need to rename the sound files you created, and put them in particular directories.  There are 12 buttons on the UCreate for sound files – not including the two at the bottom for your own recordings – so u-load will be expecting to see 12 files with the names ‘sample_0.lop’, ‘sample_1.lop’, ‘sample_2.lop’, etc., up to ‘sample_11.lop’.

So, find the 12 sounds you want to load, rename them like this, and put them in a folder called ‘Samples’.

Type 2, then ENTER, and u-load will ask you to give a name for the file it’s going to create from your samples.  Type in the name, press ENTER, and it will gather the 12 samples together and create the file.

I wasn’t sure whether the file required the extension ‘.upload’ or not, so I created one with and one without.  The first screengrab shows the name ‘Beats’ being entered, then ENTER:

create Beats2

At this point, I had to close u-load, switch the UCreate off and on again, and reopen u-load.

Type 4, then ENTER (‘Write SamplePackage’): u-load will ask you which file to upload.  Give it the name of the file you just asked it to create, it will load the samples onto the UCreate, and you’re ready to go!

write Beats finished2

*

To add files to the two spaces originally used on the UCreate for your own recordings, create .lop files as above, and put them in a folder called ‘Recordings’.  They can be loaded into the two special spaces by typing 5, then ENTER (‘Write RecordPackage’).  u-load will ask you for the name of the first file to load: tell it the name, and press ENTER.  It will then ask you for the name of the second file: give it that, too, press ENTER, and the two files will be loaded onto the UCreate.

*

[Particular thanks to KrimzonNinja.  He acknowledges his influences at the end of the video tutorial].

13
May
13

Guitar FXBOX – Part 1, the software

I haven’t blogged about the guitar before, although this is the conventional instrument I play.

There are enough places on the web to find descriptions of commercially produced effects – of which there are many thousands – and, with possibly one or two exceptions, I won’t be writing about these.

However, I thought it might be worth describing some which I’ve been using which were written using PureData and which together I’ve called the ‘FXBOX’.

Some of the effects I’ve bought have cost £100 – £200, but for no extra expense other than a computer – which I assume you must have, as you’re reading this – and a little know-how, all these effects and more are available.

I have to say, I didn’t write the majority of these effects myself. The know-how has come from examples in tutorials or instructions for PureData, like this one: http://en.flossmanuals.net/PureData/ or this one: http://pd-tutorial.com/ or from the PureData forum at http://puredata.hurleur.com/.

A particular inspiration was Pierre Massat’s ‘Guitar Extended’ blog. Pierre has developed a sophisticated system using an Arduino and a Raspberry Pi to make and control the sound of the guitar, which you can read about in detail here: http://guitarextended.wordpress.com/.

In my case, there were a small number of particular effects I wanted to combine in a single unit, and my good fortune was to find this Spectral Delay patch by Pierre Massat (from an original by Frank Barnecht, based, in turn on work by Johannes Kreidler, whose tutorial is referenced above): http://guitarextended.wordpress.com/2012/02/07/spectral-delay-effect-for-guitar-with-pure-data/

This became the central element of the FXBOX project. What is does is to give different delay times to different harmonics of the input, producing an effect which Pierre likens to ‘hundreds of sparks or stars that fall like raindrops or broken crystal’ – a poetic, but apt description. More conventional echo effects are also available from this patch.

In the FXBOX I put a couple of conventional effects before the Spectral Delay, namely Chorus and Distortion, and a variable attack patch; at the end of the chain I added patches for panning and stereo imaging. The two interesting effects which remain are a pitch controller – the normal guitar input can be raised or lowered by up to an octave – and an unusual ‘freeze’ effect, which can produce either a static drone or a very odd series of pitches in response to the input.

This screenshot of the main page shows the various effects and their controls: FXBOX10 Screenshot I’m very grateful to Pierre and others for making their patches available for everyone to use.

One or two people whose patches came from posts on the Pd forum, I know only from their online names: ‘ralf’ for the Freeze function [http://puredata.hurleur.com/sujet-6100-fft-freeze-help], and ‘dack’ for the Pitch Shifter from his ‘Guitar multi-effects rig’ [http://puredata.hurleur.com/sujet-2525-guitar-multi-effects-rig].

The various patches which are required to make the FXBOX work are here [Edit:  these are the revised files after changes described in Part 3 of this post]:

http://www.andymurkin.net/Electronica/FXBOX/abswitch~.pd

http://www.andymurkin.net/Electronica/FXBOX/crossfader~.pd

http://www.andymurkin.net/Electronica/FXBOX/expression.pd

http://www.andymurkin.net/Electronica/FXBOX/FXBOX22.pd

http://www.andymurkin.net/Electronica/FXBOX/Guitar_specdelay~.pd

http://www.andymurkin.net/Electronica/FXBOX/LoopGenerator.pd

http://www.andymurkin.net/Electronica/FXBOX/midiin.pd

*

All the variable controls are available on the screen, but I decided for practical performance purposes it would be best to have presets which could be selected quickly.

In addition, after starting to use the FXBOX, I rapidly came to the conclusion that it needed a controller which was easier to use than the laptop trackpad. For one thing, you can’t adjust a setting manually and still keep playing. So I set about designing a controller which would also be compatible with PureData. Some controls might practically be operated by hand, but essentially this would have to be a foot controller with buttons and pedals for the various presets, and for adjusting settings which might need to be changed while playing.

The second part of this post describes the controller.

02
May
13

UCreate Music, Part 2

In my first post on the Radica/Mattel UCreate, I mentioned adding In/Out connectors to enable the UCreate to be operated by external controls – e.g. joysticks – or the UCreate Button to be used to control other devices.

This post describes two of my devices which I modified for this purpose: the StyloSim and the Black Widow.

*

The StyloSim is a two-joystick controller, used for simple flight simulation games.  It has two medium-sized joysticks, which are very nice to operate, but no buttons.  Examining the controls using the [hid] object in PureData suggested that the chip it uses would support the use of buttons, but this function is not implemented.

StyloSim6sm

The essential task, then, with the StyloSim was to add two DB9 connectors, matching the connectors on the UCreate, so the UCreate’s effects could be controlled by the StyloSim, and whatever the StyloSim was used to control (at the moment, just one PureData program I’d written to add volume, filter and panning effects to an audio input) could also be controlled by the UCreate Button.

I checked to see that the ‘high’ and ‘low’ ends of the potentiometers in the StyloSim were both the same: they would have to be connected together to control the UCreate, but would also have to be left in a state where they correctly controlled the StyloSim chip.  They were connected, so I snipped the 6 wires between the circuit board and the potentiometers of the right-hand joystick (which I called ‘VR1′ and’VR2’).

The wires from the potentiometers were connected to the ‘Out’ socket, and the wires from the circuit board were connected to the identical pins of the ‘In socket’.  In this way, whatever else I connected, a DB9 lead connecting these two sockets would allow the StyloSim to function as normal.

In fact, I had another addition to make: the potentiometers would have no effect unless the UCreate ‘Hold’ switch was on.  As with the UCreate itself, I added a 3 way toggle switch, centre off, momentary in one direction, latching in the other, and connected this to the appropriate pins on the DB9 ‘Out’ socket.

Hold & LEDs IMG_1363

These connections were enough to ensure that, with the use of DB9 leads, the StyloSim could control the UCreate effects, and that the UCreate Button  – which had only one joystick – could control at least some of the things the StyloSim could control.

However, the UCreate also now had a ‘Volume Pedal’ output, which just required a potentiometer connected via a 3.5mm stereo socket.  As I had two more potentiometers available in the StyloSim, I connected one of these to a switched socket.  I used ‘VR4’, the up/down potentiometer of the left-hand joystick, as this was set not to return to centre when released, so would be very suitable for setting a volume level and then leaving it.  When nothing was plugged in, the joystick would remain connected to the circuit board inside the StyloSim; when a lead was plugged in, it would control the UCreate volume.

(In practice, unlike the volume pedal, the joystick – because of its limited travel, presumably – didn’t take the volume right down to zero, so was less effective than the pedal, but useful as long as complete silence wasn’t required).

I also made two more modifications, which weren’t strictly necessary, but which were not too difficult and, I felt, enhanced the design.

First of all, I chopped off the USB lead and added a socket instead.  This is only because I find it annoying to have fixed leads hanging off devices – it makes them awkward to carry about and store away.  Sometimes USB leads are small and fiddly, but at least they’re colour-coded.

(There is some variation in exactly which colours are used, however.  There’s supposed to be a convention, but as you can imagine, manufacturers find plenty of opportunity to use colour combinations of their own.  Those who are colour-blind – like me – have to be especially careful, but more often than not you can work out which lead is which.  Looking into a socket from the outside, 1, on the left-hand side, is +5v, and should have a red or orange wire connected to it; 2 is ‘Data -‘, and has a white or sometimes a yellow/gold wire; 3 is ‘Data +’ and has a green or sometimes grey wire; and 4 is Ground, with a Black or sometimes Blue or Brown wire.  I have come across other combinations, unfortunately, of which those using white or yellow for ground are the most annoying.  Often there are 5 wires, with an extra connection – frequently black – for the shield around the cables.

Looking into a plug, 4 is on the left-hand side and 1 is on the right.

I’ve mentioned before that I shouldn’t be using Type A sockets as the output of a device that’s being connected into a Type A socket – on, for example, a computer.  I should be using a Type B or mini USB socket; but this rule is to avoid connecting two devices together that both supply power, which might cause excess currents and start fires, and this isn’t going to happen with the devices I’m using – the StyloSim, for example, receives 5V from the computer, but doesn’t provide power of its own).

Finally, partly as an indicator that the connection with the UCreate had been properly made, partly because flashing lights are always good, I also added blue and red LEDs to the front of the StyloSim, and connected these to the relevant pins on the ‘Out’ socket.  These flash in time with the rhythm of the sounds from the UCreate, when the ‘Hold’ switch is on, so you can tell if the UCreate is ready to receive instructions.

These pictures show the new additions to the circuitry:

Inside IMG_1360

StyloSim rear IMG_1362

and this one shows the StyloSim in operation, controlling the UCreate, with the DB9 and 3.5mm connectors in place, the volume set fairly low, the ‘Hold’ switch on, and the LEDs flashing:

StyloSim in operation IMG_1364

*

Essentially, I did exactly the same to the Black Widow.  The big joystick on the right-hand side was connected to the DB9 ‘Out’ socket, and the ‘throttle’ on the left-hand side to the 3.5mm volume socket.

In this case, however, there were buttons available, so I was able to use the ‘F4’ button on the top of the joystick as a momentary ‘Hold’; for a latching Hold, I added an SPST switch at the bottom of the front panel, plus the two LEDs, which are illuminated when either Hold switch is activated.

Black Widow in operation IMG_1386

And this is the rear of the instrument – not that neat, but it all works:

Black Widow rear IMG_1387

*

As for the UCreate itself, I made three further changes – but these were more additions, rather than modifications:

1.  External power supply. I was pretty certain the UCreate would work with a 5v supply, and was about to use an old mobile phone charger for this purpose; but while I was looking through things I had lying about, I found a better quality one which I’d been given and which was rated at 5.5v, 350mA.  I replaced the connector with a 3.5mm mono plug to match the socket I’d installed in the UCreate, and it seemed to work perfectly, cutting out the battery supply when plugged in, and powering the device.

2.  Switch box.  It occurred to me that there might be occasions when, if I was using the Black Widow and the UCreate at the same time, it might be handy to be able to swap the joysticks quickly from controlling one thing to another, and a way of switching the DB9 leads from one device to the other would be useful.

I was looking into buying a DB9 switch box, which would have been about £5 – £6, but in the end I decided to be stingy and bought three DB9/DB25 adapters for about £4, as I found an unused two-way DB25 switch box amongst my stuff.  I had bought this for an as-yet-unrealised MIDI project: as this will probably remain unrealised for some while, I thought I might as well use it in the meantime.

DB9 to DB25

I did find a diagram on the internet to show how the DB9 pins were, according to the RS232 standard, allocated to pins on the DB25 connector, but it doesn’t really matter, as all 3 connections (in/out, A and B) will be the same.

Switchbox IMG_1389

The Black Widow ‘Out’ is connected to the ‘In/Out’ socket on the switch box; ‘Out A’ is connected back to the Black Widow ‘In’ socket; ‘Out B’ is connected to the ‘In’ socket of the UCreate.

3.  Feedback circuit.  As the UCreate has input and output sockets next to one another on the back, I thought a circuit that connected part of the output signal back into the input, in conjunction with some of the effects – for example, the filter or flanger – could potentially produce some interesting sounds.  Having just finished the modifications described in my first post and put everything back together, I decided to do this externally, so added two 3.5mm splitters to the line in and out, and connected them with a lead containing a volume control:

splitters & volume lead2

This allows some feedback sounds to be added to the linked samples or to sounds at the line or mic in sockets, and the amount can be limited by the volume control.

In Part 3 of the series, I look at the UCreate software.




andymurkin

May 2013
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
2728293031  

Enter your email address to follow this blog and receive notifications of new posts by email.