Archive for the 'Sample manipulation' Category

16
Jun
17

Sample Manipulation 4 – Databending

I started talking about manipulation of samples by describing The Black Widow, a PureData patch for controlling up to 4 samples using a flight simulator-type joystick control, and the Black Widow II, with improved features and an automatic mode.  I also described two other applications by Karlheinz Essl and Kevin Holland (Sineqube) which work similarly, manipulating 4 samples in real time.  The third post in the series described two applications which work in real time to manipulate a single, longer sample.

This post covers some non-real time methods of working on samples, often known as ‘Databending’.

The basic idea of databending is very simple: open a sound file with an application it’s not meant to be opened with, change the file in a semi-random way, then save it.  When you play it again as a sound file, it will sound different from the way it sounded originally.  Often quite a lot different.  Some good advice on how to do this can be found at http://www.intelligentmachinery.net/?page_id=29.

*

First of all, what sort of files does it work on?  I’d say you should always start by trying different formats of the same sound file – certainly an uncompressed format like aiff or wav, and a compressed format like mp3 or flac.  There can be a big difference in the results.  Once you’ve tried a particular technique on two or more formats, you might decide it generally works better on one of them, and then concentrate on that one; the next technique you try might work more effectively on another type.

*

Secondly, try some files with different musical content: one file with, say, fast percussive content, another with slow, sustained passages.  A particular technique might suit one style, but not another.

*

Next, what ‘other’ applications could you try?

Text applications are always good.  All files can be displayed as text, as you will have noticed if you’ve ever had occasion to read one – trying to open a pdf in Word by mistake, for example.  It generally looks like gobbledygook most of the the way through, although there’s occasionally a ‘header’ at the beginning with some readable stuff in it.

Sometimes, even the mere act of opening a sound file in a text program and immediately saving it can make significant changes to the way it sounds when you play it back again.  Notepad in Windows or Text Edit on a Mac can be used in this way.  Provided you save the file as ‘text’ and keep the extension (e.g. ‘.wav’ or ‘.mp3’) the same, you’ll be able to play it back.

The first example shows this.  The first extract is from the original sound file I used; the second extract is the file opened and saved in Notepad on a PC; the third extract is the file opened and saved in Wordpad.

Once you’ve got the file in a text editing application, however, there are many things you can do with it.  I’ve tried the following and got some interesting results: changing all lower case letters to uppercase; changing all zeroes to 1’s; changing 1’s to zeroes; cutting and pasting text from other places into the middle of the file; and swapping bits of the file around.  Occasionally you’ll end up with a file that won’t play at all, occasionally a file that sounds exactly the same as it did before – which is particularly disappointing – but usually you’ll have changed something about it in a hopefully interesting way.

Incidentally, I normally use ‘Save As . . .’ rather than ‘Save’, and give the new file a name which reminds me what I’ve done to it.  This has the double advantage of helping me to achieve the same effect again by working out what I did to the file, and ensuring that I don’t lose an original which I might need again – either in its original form, or as the source for more experimentation.

*

Some of these files that you end up with can be rather unstable and may sound different depending on which application you choose to play them back in.  So my next piece of advice would be to try some different applications to audition the results of your work – Windows Media Player, Audacity, VLC, Quicktime, and so on.

If you have a way of re-recording them as you play them, this would be good, as you can then save a stable file which will sound the same whenever you use it.

The second example illustrates this.  The first extract is the original sound file I used; the second extract is this file after processing in BBEdit Lite, played back using Videolan VLC; the third extract is exactly the same BBEdit Lite file played back using Apple Quicktime, producing a significantly different result.

Both files were re-recorded to preserve these differences permanently, as described above.  I use an excellent application called Wiretap Studio for this, but it isn’t freeware.  There are ways to do it without having to buy extra software – free applications like Soundflower (which I think only exists for Mac) or Jack will enable you to route the output of one application, which plays the sound file, to the input of another (like Audacity, for example), which records it.

*

Another, less obvious, way to ‘bend’ sound file data is to open the file in a picture editor like Photoshop, apply an effect and save the file.

This is slightly more complicated; I don’t know about other applications, but Photoshop won’t recognise sound files as pictures, so you have to do a couple of things to persuade the application to try opening it.

First of all, make sure to choose ‘All Documents’ (as opposed to ‘All Readable Documents’) from the ‘Enable’ list.  This makes all files, even sound files, potentially openable.

1 photoshop open

In my experience the ‘Format’ option was greyed out, but make sure it shows ‘Raw’ to enable a dialogue box like this to open up:

2a photoshop raw options

Clicking ‘OK’ should enable Photoshop to open the sound file, and give you a visual representation of it.  It’ll look something like this:

5a DI Loops

If it doesn’t open and you get the dialogue box at the top of the following picture – which happened to me a lot – reduce the numbers indicated until you get the dialogue box at the bottom, then it will open.

3a larger than file

After that, you can apply some effects to the file, then save it.  As mentioned above, I would keep the suffix – usually .aif or .mp3 – the same, but change the file name to reflect the process it had been subjected to.  I had some success with Gaussian Blur, Noise and Despeckle, but any one of the many effects could do something to the sound.

The first example here shows the original sound file; this file with a Gaussian Blur filter applied; then this file with a Despeckle filter applied.

The second example shows an original .aif file with a Noise filter applied; and an original .mp3 file with a Noise filter applied, to show the different effect an identical filter may have on a sample which was identical in every way except the file format.

*

If you have problems opening a sound file saved by a graphics application such as Photoshop, the free Audacity can probably help.  Even if you get the dialogue box shown at the top of the following picture, you can still use ‘Import’/’Raw Data…’ to open the file, and then save it in the format of your choice.

4 Audacity Import

Using the above methods you should be able to make some random, unpredictable and interesting changes to your sound files.

10
Feb
16

Sample Manipulation 3

In an earlier post in this series I passed comment on the program ‘REplay PLAYer’, mentioning its creator, Karlheinz Essl, and describing it as ‘ a multi-featured program for manipulating a single sound sample’.

I was talking in that post about programs suitable for manipulating a group of four short samples, so I didn’t go into ‘REplay PLAYer’ in more detail.  However, I thought it would be worth adding a post on programs for manipulating a single longer sample.

‘REplay PLAYer’ is my favourite of these – it costs a bit to buy it, but I’ve found it very useful in the past, and it has a couple of features which make it particularly versatile in use.

It’s described on its webpage, http://www.essl.at/works/replay.html, as a ‘generative sound file shredder . . . based on the paradigms of granular synthesis. The program de-constructs a given sound file and re-composes it by using realtime composition algorithms [and] can be used as a tool to generate an infinite and every-changing sonic stream from a single sound file for artistical, compositional or mere recreational purposes. It can also be regarded as a computer based instrument for live performances, as an interactive sound installation or a generator for ambient music.’

The following screenshot indicates some of the program’s important features:

REplay PLAYer1

First of all, the sound file of your choice can be imported into the program, via the ‘Shredder’ menu, and settings can be adjusted affecting changes to the samples’ volume, pitch, EQ, panning and stereo spread which are automatically made, tailoring the way in which the file is ‘shredded’.

Better still, three of your favourite VST or Audio Unit plug-ins can be imported and used alongside the built-in effects – the picture shows two that I often use, brainworx bs_solo (Stereo imaging) and GSi TimeVerb (Reverb).

In this way you can allow your sample to run while small or large changes are made to it.  At any time you can change, for example, the range of pitch, volume or panning variations, turn them off or set them to move randomly from one value to another.

In addition to this, what makes ‘REplay PLAYer’ – as described – a ‘computer based instrument for live performances’ is the ability to control a number of the parameters in real time via MIDI.

I didn’t feel I needed to control all the possible features, but programmed my trusty Korg NanoKontrol to alter Volume, EQ, crossfade, glissando (i.e. pitch) and the amount of signal sent to the three plug-ins.  All knobs and sliders had to be set to CC#7; the following parameters could be set by assigning the knobs and sliders to the following MIDI channels:

Channel 1: granularity
Channel 2: density
Channel 3: glissando
Channel 4: minimum pitch
Channel 5: maximum pitch
Channel 6: crossfade between original and shredded sound
Channel 7: volume range
Channel 8: mix into plug-in 1
Channel 9: mix into plug-in 2
Channel 10: mix into plug-in 3
Channel 11: EQ low
Channel 12: EQ mid
Channel 13: EQ high
Channel 14: panning
Channel 15: spread

As the Menu suggests, ‘REplay PLAYer’ will also record the results of its work to a file (aiff, ulaw, wav or raw data) on your hard drive.  It’s important to note that the program is set to start or stop working in the ‘Shredder’ menu, and recording is set to start or stop separately in the ‘Record’ menu; audio is turned on or off in the ‘Audio Status’ window.

This is a recent track created using REplay PLAYer, and a picture of  my set-up in action:

Replay

*

Another program I’ve used on occasions for manipulation of a single file is ‘Metamix’.  This program gives the user less control than ‘REplay PLAYer’ – a deliberate choice on the part of the designer, Jason Freeman – but works well with some sound files.

As described here: http://www.generativeart.com/on/cic/papersGA2003/b16.htm, the way ‘Metamix’ works is that a ‘simple generative process remixes an audio track, using an infinite integer sequence to reorder and layer chunks of the original audio . . . The program includes twelve such sequences, chosen from Sloane’s exhaustive collection, The On-Line Encylopedia of Integer Sequences.’

These three screenshots of ‘Metamix’s control windows shows the elements you can choose – the twelve number sequences are given names, as can be seen, such as ‘Wide Exponential Slow’, ‘Up and Down’ and (my favourite) ‘Joy Ride’.

metamix1
metamix2
metamix3

As the document above explains, ‘To remix the audio track based on an integer sequence, the software first marks the audio track at equal-length time intervals and labels those markers with the natural numbers. Each time it obtains the next number in the integer sequence, it begins audio playback at the correspondingly-numbered marker.

‘When a new number from the integer sequence triggers audio playback at a marker, one or more previous layers of audio playback may continue uninterrupted. This layering renders the discrete generative process in a smoother, more fluid manner. To further this effect, MetaMix also gradually fades each playback layer in and out over the course of its lifespan, creating gradual crossfades between old and new playback layers.’

In other words, ‘Metamix’ can create quite a dense sound, with short, overlapping sequences, or a more spacious sound with longer extracts from the original source file.

The following example is typical of the way I’ve used Metamix.  At the beginning is a short extract from an existing piece, beginning with assembled street sounds and continuing with a repeating marimba theme.  Other instruments were omitted from the old piece in creating the new one.  This is followed by an extract from the new piece, after the old one has been worked on by Metamix:

*

I haven’t yet attempted to produce a Pure Data patch which will work on a single file in these ways.  If I do, you can be sure I’ll be writing about it here!

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].

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.

19
Apr
13

UCreate Music, Part 1

This post concerns a very interesting device which was made a few years ago by Radica, a Mattel company.  It was manufactured for a very short time between 2009 and 2010, and supported only until 2011, but examples still appear on eBay, sometimes for very reasonable prices. I got mine for less than £10, which I thought was pretty good for a comparatively sophisticated machine.

ucreate box

Front low angle IMG_1320 Edit

The way it works is by playing loops, which you can choose from its memory – one each from 4 banks of 3 loops, in the categories ‘Back Beats’, ‘Riffs’, ‘Licks’ and ‘Runs’ – and apply effects to.  You can also record two of your own samples to add into the mix.

This is how you would normally use it (ignore the toggle switch and sockets on the left-hand side: this and other modifications I made are described later):

Controls IMG_1319

There are two reasons why the UCreate captured the imagination of electronic music-makers.  First of all, you could connect it to your home computer via a USB socket on the back and make use of software that would allow you to save recordings of songs, reorganise the loops and effects and download new loops from Mattel’s UCreate website.  I’ll return to this topic later.

The second thing was the range of 8 special effects, and the fact that these are available not only to the loops played back by the UCreate, but also to any audio source connected to the Mic or  Line in sockets.  The effects – referred to as ‘FX and Filters’ – comprise Tremolo, Distortion, Flanger, Phaser and Echo, a variable low-pass filter, and two unique and unusual effects called Forward/Reverse Looper and Rewind Spin Looper.  These work by recording very short samples and replaying them in various ways controlled by the user.

The way the effects are controlled is also highly unusual:  a large Button on the front panel can be pushed and tilted left/right and up/down to vary two parameters of the effect – for example left/right controls the speed of the flanger, up/down controls the depth.  If you find a setting you want to leave for a while, a ‘Hold’ button fixes it where you’ve set it until ‘Hold’ is pressed again.  The fact that the whole Button is lit up when in use  with flashing blue LEDs is just the icing on the cake.

Leaving aside the loop playback feature for the moment, this effectively makes the UCreate an inexpensive, but versatile multi-effects unit, playable in real time.  Although only one of the effects is available at a time, the Forward/Reverse Looper and Rewind Spin Looper in particular, together with the ability to control these in real time with the Big Button, makes the UCreate a useful and unconventional device to have.

I began by using the UCreate in this way, making just a couple of small modifications to it.

First, I added a socket for an external power source; then, as I had done with a number of my other instruments, I added banana sockets for connecting a larger external 8ohm speaker and a DPDT switch to cut out the internal speaker when this is in use.  There is a headphone/external speaker socket on the back of the Ucreate (which also cuts out the internal speaker when a plug is inserted), but this is a 3.5mm stereo socket, as you would find on a PC or mp3 player and is more suitable for use as a Line out.

These are the audio and USB sockets on the back of the device:

Rear sockets IMG_1358

Next, imagining a situation when both hands might be occupied in operating the loops and effects and not able to control the volume, I added a socket for an external volume pedal.  This was a 3.5mm stereo socket with internal switches, like the Line out socket.  I used a small size socket purely because of the lack of space inside the case.

On the small circuit board attached to the on/off/volume control, I broke the connection to the centre of the volume potentiometer and rewired it to the socket so that when nothing was plugged into it, it was connected directly to the main Ucreate circuit board, as originally designed; when the volume pedal was plugged in, the potentiometer in the volume pedal was added into the circuit.  This would enable the maximum volume to be set by the original volume control and the pedal to move between this and zero volume.

The pedal itself was simply a cheap second-hand Bespeco volume pedal.  I removed the original sockets and the circuit board inside and connected the potentiometer to a 3.5mm socket, wired in a similar way to the socket inside the Ucreate.  The tip was connected to the input from the Ucreate and the ‘high’ end of the potentiometer in the pedal, the sleeve to Ground and the ‘low’ end of the potentiometer, and the ring to the potentiometer wiper, the centre tag. (I should have built this before, as it would have been useful with many of the instruments I had made or modified, and I’ll have to consider retro-fitting sockets to them so it can be used).

Vol Pedal IMG_1326

I then decided to take a closer look at the big control Button.  I tried dismantling the mechanism, but couldn’t seem to get it completely apart.  This may have been because it was pressed or glued together after the circuit board was wired in, and I wasn’t going to risk breaking it by trying to prise it apart if it wasn’t meant to do that.

Button partial dissassembly IMG_1328

However, I got it apart far enough to see that it used a joystick for the left and right and up down movement.  This was mounted on a small PCB, and on the bottom of the PCB there were three momentary switches, set out in a triangle.  These were like the ones you often get on game controllers: they’re soft and squishy, and when you press them they join two contacts on the PCB; when you take your finger off, they spring back into shape and the connection is broken.

Button circuit board IMG_1333

All three switches were connected the same, and later experimentation showed that they had exactly the same function as the ‘Hold’ button, except they were momentary instead of latching.

This gave me two thoughts: first of all, with essentially a joystick and a momentary switch under it, it would be possible to use the UCreate’s Big Button to control another instrument or effect that normally used a joystick or two separate potentiometers; and secondly, there was no reason why the UCreate couldn’t be controlled by two potentiometers or an external joystick.

The way to do this would be to put the Button back and separate the connection between the UCreate’s main PCB and the Button PCB, and then route these connections elsewhere.

The link was made with a 9 way ribbon cable; the names of these 9 connections were printed on the main PCB, and even where this didn’t mean a lot, it was easy to follow the the tracks on the Button PCB and see what their functions were.  So I cut the cable.

From top to bottom, the connections were:

VCC_33 – which connected to one side of all three switches

IOA15 – connected to the other side of the three switches

GND_ADCVCC33 – connected to one end of the two joystick potentiometers (the ‘low’ end, presumably)

LINE 3 – the centre tag of one of the potentiometers (the ‘up/down’ one, which I called ‘Pot 2’)

ADCPVCC33 – the other end (‘high’ end) of both potentiometers

LINE 2 – the centre tag of the other (‘left/right’) potentimeter which I called ‘Pot 1’

R154_1 – one side of one of pair of surface-mounted blue LEDs on the Button PCB

R68_1 – one side of the other LED

V BAT – the other side of both LEDs (+6v, presumably)

Essentially what I did was to connect the end of the ribbon cable that came from the main PCB directly to a DB9 connector on the back on the case.  This was marked ‘In’.  The other end of the ribbon cable, the one from the Button PCB, was connected to another DB9 connector, marked ‘Out’.

In this way, if you wanted to control the UCreate from another device – a larger joystick, perhaps – all you would need to do was connect it to the DB9 ‘In’ socket; if you wanted to control another device with the Big Button, you would connect the other device to the DB9 ‘Out’ socket; and to use the UCreate as normal, just connect the two sockets together with a DB9 cable.

In order to make space for the DB9 sockets, which are quite big, I had to remove part of the bottom half of the case, which stuck up inside:

Inside sawing IMG_1341

I think this was probably a carrying handle, but I didn’t think I needed it, so I sawed it off and created a lot more space in the back of the case.

In fact, I didn’t connect the Button directly to the ‘Out’ socket.  Although the Button works brilliantly well for the Reverse and Rewind ‘stuttering’ or ‘scratching’ effects, there was a lack of precision when it came to such things as the filter cut-off frequency, speed and depth of flanging, and so forth.  Apart from anything else, joysticks don’t usually use much of the possible travel of  an ordinary potentiometer, so there was also a restricted range over which the Button was operating.

So I decide to squeeze a couple of potentiometers into the case, which would be selectable in place of the Button.  The two connections for the centre tags of the potentiometers (‘Line 2’ and ‘Line 3’)  coming from the Button PCB went to one side of a DPDT switch, and the poles went to the DB9 ‘Out’ socket.  The wires from the other side of the DPDT switch went to the centre tags of two potentiometers, which I squeezed in the front of the case.  The two connections for the ends of the potentiometers went to the potentiometers and to the socket.

In the event, I also added a 10k preset, set at about halfway, in the circuit at the potentometers’ ‘bottom’ end: it seemed to me that some parameters – e.g. the filter cut-off frequency, and the volume pot when using the tremolo effect – were going too low, at the expense of effects that could be obtained with higher resistance.

The way the UCreate works, the potentiometers  – and the potentiometers under the Button, come to that – have no effect unless one of the ‘Hold’ buttons is pressed, so I needed to add a momentary button, preferably somewhere near the potentiometers.  There was just about room, and what I decided to use was a toggle switch with a centre off position, momentary on in one direction, latching on in the other.  This would enable me to engage the momentary switch, adjust a potentiometer, then when I had exactly the sound I wanted, latch the switch on.  So the two connections for the switch went both to the DB9 socket and to this new switch.

In fact, they went to a third place: a standard (1/4″ or 6.35mm) mono jack socket to which a ‘Hold’ footswitch could be attached.  I used a standard size jack in this instance because I had some nice ready-made footswitches: they’re apparently sold for use with tattoo machines, but come with standard jacks attached, which is very handy.

Hold Pedal IMG_1356

So that’s how I modified my UCreate, producing a versatile and quite easy to use multi-effects device.  This picture summarises most of the changes I made:

Inside closeup w. captions IMG_1346

I don’t know if they’re all the same, but the grille on the front of mine came off very easily, so I took the opportunity to remind myself of what the 8 effects are, and what order they come in.

Front grille off IMG_1324

The front and back of the device now look like this:

Front and back IMG_1352

and here’s what it looks like in operation:

In operation 2 IMG_1348

Read the UCreate User Manual here: N9496 UCreate Music Manual 1L-English

In Part 2 of this series of articles I describe modifications made to some other devices in order to work with the UCreate.

24
Jan
13

The Black Widow MkII and more on sample manipulation

I recently came to use the Black Widow sample manipulator again and decided to make some improvements to it.

IMG_1245

Black widow controls

Initially, I improved some of the existing features: what I had at first perceived as ‘unreliability’ in its responses to button commands was really only a difficulty in making the required number of presses to ‘fix’ volume, filter or pan settings on a sample.  This involves making one, two or three quick presses on the hatswitch button – like making a single, double or triple mouse-click reliably – not perhaps one of my best ideas, and a little difficult to execute, especially without any feedback as to whether the fix had been made or not.  So I added indicators to show if the fixes were on or off.

I then moved the sample arrays onto the same page, so there was no need – as there had been in the original – to move from page to page on screen to see what was happening with the samples being played.  This screen also now has the various indicators for volume, filter, playing position within the sample, etc., visible next to the representation of the waveform in the array:

monitorscreen

Above each array are also indicators ‘REVERB ON/REVERB OFF’ and ‘ECHO ON/ECHO OFF’.  I thought simple versions of these two effects would be useful, and added them to each of the output stages.  Having run out of buttons on the Black Widow, these effects are manually turned on and off by using the ‘W’ and ‘E’ keys on the computer keyboard.  (Although ‘E’ makes sense for echo, ‘W’ doesn’t for reverb, but I chose these two letters so as not to conflict with another program I commonly use, where ‘R’ and ‘V’ have particular functions; and ‘W’ happens to be next to ‘E’).

Also, on the right-hand side, indicators for ‘Auto Speed’ and ‘Number of sections done’ refer to the next change I made: a function to allow the Black Widow program to run automatically.  It’s designed to do this in a similar way to the way it’s operated manually: one sample at a time is operated on, and there are built-in delays between stages to allow a particular selected combination of settings to play for a while before being changed.

The particular settings are chosen by random numbers generated by the program.  In normal operation this will allow them to range between minimum and maximum values in each case.  In the event that this wide range is not required (for example, turning the  filter to minimum usually has the effect of turning the sound off, as does turning the playback speed to zero), there is now a page on which minimum and maximum values can be set for each parameter of each sample:

sampleeditor

It’s possible here to fix any parameter, so it cannot be changed during ‘auto’ mode; and to fix any sample to play back at normal speed, full volume, average filter setting and centre panned.

Finally, I added a third section in which samples can be recorded into the arrays, rather than loaded from existing sound files.  This could be useful for variety in a ‘live performance’ in which short samples (90 seconds is PureData’s default maximum) could be recorded and almost immediately loaded and manipulated, manually or automatically.

The screen that opens automatically when the app is run has had to be expanded, and now looks like this:

mainpage

It looks a bit complicated, but I haven’t mastered the method of producing a neat GUI; however, it works fine, and is easy to use if the numbered steps are followed.

A link to the PureData patch for the Black Widow Sample Player and manipulator can be found in a later post in this series.  The next one is here.

Here’s an example of the Black Widow in operation:

The 4 short samples used here are a recording of  a park, birdsong, running water and a live performance of the Cracklephone.

*

It’s perhaps worth mentioning here, as I haven’t done so anywhere else, a very handy little device I used, not wanting to have a full-sized keyboard in the way when I was trying to use the Black Widow controller.  This is the so-called iPazzport, a miniature keyboard and trackpad, which connects to the computer by USB.  It looks like this:

iPazzport

If you imagine that the trackpad is slightly smaller than the trackpad on a laptop, this gives you an idea of just how tiny the keys are – but I was still able to press the correct key when required.  In case of difficulty it comes with a stylus and a small attachment which fits on the end of the finger, with a point underneath it.

Mine was about £10 off eBay, but I don’t know how readily available they are now: the one you see these days is a wireless version which costs a bit more, between £15 and £20.  There are now some similar items – also wireless – styled rather more like TV remote controls, which look as if they might have larger keys.

*

Also worth mentioning here, if you’re interested in this kind of thing, is the work of Karlheinz Essl.  You can read about him here: http://en.wikipedia.org/wiki/Karlheinz_Essl_junior and on his website at http://www.essl.at/.

Of particular relevance in relation to the Black Widow project is one of the various programs Essl has created for sample manipulation, fLOW, which is described like this: ‘fLOW . . . generates an ever-changing and never repeating soundscape in real time that fills the space with flooding sounds that resemble – metaphorically – the timbres of water, fire, earth, and air. This ambient sound scape generator adjusts itself through various parameters and controllers that are represented in real time on your screen.’  It comes with four samples, which are are loaded and manipulated automatically via a comb filter, ring modulation, frequency shift and a flanger, but you can also load your own samples into it for a more personalised experience.

Flow

You can read about fLOW and download it from http://www.essl.at/works/flow/download.html.  I don’t remember how much it costs, but it isn’t very much, and well worth the money.

This is an extract from a track created with fLOW. The source file was an edited recording I made of a boat passing through a lock in Earith, Cambridgeshire:

It’s well worth reading more about Essl, too.  His main preoccupation is one that I’ve become interested in in recent years: ‘music that is created at the moment of its sounding (“realtime composition”)’. Improvisation, looping and manipulation of sound and music samples are all part of the same field, and chance can play a significant role.  In a later post I’ll be mentioning another his programs, REplay PLAYer (found at http://www.essl.at/works/replay.html), a multi-featured program for manipulating a single sound sample.

[Edit: that post is here]

*

Finally, a very nice freeware program with similar features which I’ve used is Sineqube’s Sapling, which is described here: http://www.sineqube.com/blog/?page_id=157.  Sapling provides an easy means to load 4 samples and vary – manually or automatically – the speed and volume of playback, and the length of a loop created within each sample.  It works well with short samples and allows a very useful combination of automatic and manual adjustments to be made in real time as the samples are played, and a facility for recording the output to disk.

sapling screenshot 2

This is an extract from a track created using Sapling.  The source file was an edited version of some recordings I made on my iPhone of a windmill in Burwell, Cambridgeshire:

*

With all of these programs, including the Black Widow in Auto Mode, I enjoy setting up the conditions and listening to the samples play, although for a more permanent record of what was created, I normally edit the recorded results.

*

[Edit: more modifications have been made to the Black Widow Controller (although not for sample manipulation). See this post.

MIDI controls have been added to the Black Widow MkIII, described here].

26
Oct
12

The Black Widow – Sample Manipulator

I was lucky enough to get a decent joystick for a good price from eBay, a Speedlink ‘Black Widow’:

Black Widow + Box IMG_1150

Obviously, this is a bit more sophisticated than the controller with small joysticks which I used for the StyloSim, and the kind of thing used for semi-realistic flight control programs, having a throttle on the left-hand side and joystick on the right, and a nice feel to it.

As for musical applications, it connects to a computer via USB, as can be seen in the photo, so is very suitable for use with PureData’s ‘hid’ (Human Interface Device) function.

I thought at first of designing an instrument, but felt this would be less easy to operate than the Cybersynth or Theresynth, which used gamepad-type controllers.  An effects device like the StyloSim would be possible, but at the moment would seem like going over old ground: something I might come back to later.

Instead, I decided on a device for manipulating samples.  At the time I thought this was an original idea, but I have subsequently discovered someone who does this – in quite a different way, but using the same kind of device: http://www.youtube.com/watch?v=9wdb6-QLnQ0.

That was Johannes Kreidler, a very interesting contemporary German composer making music with cutting edge electronics.  Check out his website at http://www.kreidler-net.de/english/index.html or type ‘Johannes Kreidler’ into YouTube.  Kreidler is also an expert on PureData, as it happens, and wrote the very good tutorial ‘Programming Electronic Music in Pd’, translated into English at http://www.pd-tutorial.com/english/index.html.

So, I used PureData to create a simple device for manipulating samples with the Black Widow.

There are 4 buttons on the front of the Black Widow:

Black Widow Buttons IMG_1154

These are used to control up to 4 separate samples: when the Black Widow Pd app is first opened, the buttons are pressed one by one to load the 4 samples; when in use, the throttle, joystick and other controls operate on the sample whose button was last pressed.

As for the other controls, these are: on the left, the throttle, which includes two buttons on the reverse,left and right:

Black Widow Front IMG_1151

Pressing the left-hand button on the back of the throttle and moving the throttle forward from the central position increases the sample playback speed; moving the throttle backwards from the central position increases the playback speed, but plays the sample backwards.  When the button is released the speed and direction are fixed.  Pressing the right-hand button on the back of the throttle toggles the playback direction.

Moving the joystick to the left pans the sample to the left; moving it to the right pans it to the right.  Moving the joystick forward from the central position increases the playback volume; moving it backwards from the central position increases the centre frequency of a bandpass filter.

The other buttons on the joystick have the following functions:

Black Widow Stick Buttons IMG_1155

The button F3, when pressed as the sample is playing, sets the start point of a section within the sample; F4 sets the end point.

The hatswitch has 4 functions: RIGHT cycles playback from the start point to the end point of a section set with the F3 and F4 buttons; DOWN pauses playback; UP Restarts playback; LEFT fixes a volume or filter setting.

F2 restarts playback at normal speed from the beginning of the sample.

This is the control window, in the process of loading a sample:

Loading sample

There are some problems with it: it doesn’t always seem to respond to instructions, particularly the ‘Fix’ command from the hatswitch, don’t quite know why.  Also, the interface isn’t very practical: if you want to look at what you’re doing as well as listen, there are separate windows for each sample which you have to bring to the front.

Sample 1

However, it mostly works as described, and is quite entertaining to play with!  I’ll post a sound file shortly.

[Edit: the Black Widow has been superseded by the Black Widow, MkII, described here].




andymurkin

May 2023
M T W T F S S
1234567
891011121314
15161718192021
22232425262728
293031  

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