Wednesday, June 28, 2006

Hyper Instrument Keyboard Link!

Wow. Now this I do find interesting, and if you are are a SL musician I think you will also.

Today I was approached by Foolish Frost who played to me a short piece of music on the Hyper-Flute I made for Second Life. As well as playing back note-sequences stored in a notecard, the instrument can also be played in real-time via mouse and HUD; and Foolish was also playing in real-time, but with a significant difference...

Foolish Frost and Botany Black have inventively created an external piece of software that will allow the hyper-instruments (currently flute and 'cello) to be played via your computer's (QWERTY) keyboard; something that is not currently possible with the current array of LSL functions.

We invite all Hyper-Instrument owners to try this out.

Here's how to do it, the set-up is very easy.

Firstly, you need to obtain the Hyper Instrument Keyboard Link software. At the moment this can be downloaded for free HERE, and works on PC's only. (Its only 264KB; a few seconds to download).

Second, you set-up the Hyper-Instrument in SL as normal (making sure that the HUD is not obscured by anything) and then run the external Keyboard Link software.

The software will cause your Second Life window to maximize on the desktop and ask you to click the upper left and lower right corners of the Hyper Instrument's HUD, (If you mis-align the HUD you can hit Esc and re-run the program to reset the placement).

That's it - You can now use the following keys to play the instrument!

23 567 89

When you are finished, hit Esc to end the external program.

This is exactly the sort of thing that holds me in Second Life, the coming together of strangers to make something happen, thanks Foolish and Botany.

Second Life Stats

On Wednesday 28th June 2006, either:

A) This resident is doing some serious spending?
B) Recent changes in open registration et al, has caused more of an impact than had been expected? or
C) The grid has just re-opened?

You decide...

Composing with Hyper-Instruments(#2)

In this blog entry I will explain the easy-to-use Notecard notation system used with the Hyper-Instruments (1, 2) I have made for use within Second Life.

The previous blog entry covered the Set-Up and Interface/HUD.

As with anything is SL, exact timing is very difficult to achieve. For this reason slow, haunting melodies will work better than fast and mechanical songs; this is also why I have chosen the Flute and the Cello as the first Hyper-Instruments rather than say a piano, where loose timing might be much more apparent.

Composing using a Notecard...

The Composer Editions of the Hyper-Instruments allow you to store, load and playback a sequence of musical notes and durations (+ settings for tempo and loudness and credits) in a notecard. Although you do not need to be able to read music in order to to do this, it will help to have an understanding of my simple Notation System.

In short, musical notes are defined by their pitch, their duration and their loudness. However, in my notation system, I have decided that it would be quicker (usually) to specify a tempo and loudness up-front (eg. in this section of my song, each note will be loud and will last for 0.5 of a second), and then change these settings when you want; rather than specify the duration and loudness of every single note.

The easiest way to pick this up for the traditionally non-musical person, would be to experiment, playing the instrument in real-time via the HUD; once you are happy with a simple song or phrase, write down the order of notes you have played (using the key labels on each note) and how long (in seconds) each note should be held.

For those with a more musical background the following charts might be useful.

(or if you prefer to work with MIDI numbers, as shown here):

Therefore, a simple rising scale of notes, can be expressed in a notecard like this:


T=0.6, 0.8
C1, D1, E1, F1, G1, A1, B1, C2



T=0.6 (means a tempo of 0.6 seconds will be used for all notes).
0.8 (means a loudness of 0.8 out of 1.0, quite loud will be used for all notes).
C1, D1, E1, F1, G1, A1, B1, C2 (is the sequence of notes, a C Maj. scale)
END (Defines the end of the sequence, optional if no other text is below).

This, might be written in Western Common Music notation like this:

Often it is quicker and easier to list multiple versions of the same note to change durations, rather than change the tempo, for example:

This :-

T=0.6, 0.8
C1, C1, E1, F1, G1, G1, C2, C2

Is neater perhaps than this :-

T=0.6, 0.8
T=1.2, C1, T=0.6, E1, F1, T=1.2, G1, C2, C2

(Although they both would produce the same musical result).


In Western Common Music notation both of the above could be written like this:

Rests, (silent notes) are written with an asterix (*).

For example:


T=0.6, 0.8
C1, C1, *, F1, *, *, C2, *


In Western Common Music notation, like this:

With respect to loudness, values can be anything greater than 0 and less than or equal to 1 and should appear before a note.

Volume/loudness instructions should be written like this:

0.1 - (this means use a volume of 0.1 which will be very quiet, 0.01 is quieter still)

1.0 - (this means use a volume of 1.0 which is the maximum loudness possible)

NOTE: Volume changes do not take any time to occur (theoretically). For example, consider these two items:-

1.0, C2 - (ie. A instruction to set full Volume, followed by note C2, will both be read and executed at the same time).

Therefore, as a further example,

1.0, C3,*,*,*,0.1,C1,*,*,*

...this will result in a loud high note, silence, then a quiet low note, followed by silence.
(or, for the more musically trained this would take place over 8 beats, or 2 bars of 4/4 perhaps?)

Changes in loudness can make more expressive passages and can occur dynamically, ie. whilst a note is being played. A score should not include successive volume items however (this would be meaningless in any case).

For example, here note C2 will get louder over time (crescendo), then fall back to silence (diminuendo):-

0.1, C2, 0.2, C2, 0.4, C2, 0.6, C2, 0.8, C2, 1.0, C2
1.0, C2, 0.8, C2, 0.6, C2, 0.4, C2, 0.2, C2, 0.1, C2, *

In Western Common Music notation, like this perhaps:

Further Detailed Instructions and Tips...


The first line should be reserved for the Title of the song and Composer or Arranger name only.

Be careful not to leave any Blanks or spaces at the end of lines.
Lines should not be longer than 255 characters in total (if they are they will be truncated).

Items on any line should be separated by commas, no comma is needed at the end of a line.

Unfortunately (due to SL script memory limitations) scores can not be longer that 270 items (if they are they will be truncated).

At the end of a Score use the word "END" on its own line.

If you get Stack-Heap errors you may have to reset all scripts in the HUD.

When you name a Notecard, dont use more than 24 characters!
(The title of the song on line 1 however can be much longer)

2) TEMPO - setting the speed/pace of the song.

Tempo/Timer instructions should be written like this for example:-

T=0.6 - (this means use a timer value of 0.6 seconds per note item, ie. a smaller value = a faster tempo)

If you do not set a tempo at all, T=0.5 will be used.
Tempo/Timer instructions can appear anywhere in a score, this way you can change the speed part way through a song if you want.

Tempo/Timer values faster than T=0.3 are allowed, but are not advised an may cause timing errors.
Tempo/Timer values slower than T=2.0 are allowed, but are of course very slow.


Notes can be written using the following notation :- (listed here from low to high)

C1 - (ie. play note 'C' in the first octave, 1 octave below middle C, this is the lowest note)
Cs1 - (ie. play note 'C sharp')
D1 - (etc, etc,)
C2 - (middle C)
C3 - (ie. play note 'C' in the third octave, 1 octave above middle C)
F3 - (ie. the highest note)

Don't forget silence! "It's the bits between the notes that make a song!"

Rests (or silent notes if you prefer) are written with an asterix.


A long note could be written like this:-

C1, C1, C1, C1

and a more characterful long note might be written like this:-

T=0.3, C1, C1, *, C1, C1, *, C1, C1, *, C1, C1, *


Volume changes do not take any time to occur (theoretically). For example, consider these two items:-

1.0, C2 - (ie. A instruction to set full Volume, followed by note C2, will both be read at the same time).

Changes in loudness can make more expressive passages and can occur dynamically, ie. whilst a note is being played. A score should not include successive volume items.

Composing with Hyper-Instruments(#1)

Over the next two blog entries I will discuss in depth the Hyper-Instruments (1, 2) I have made for use within Second Life including their set-up, interface/HUD and composing system.

Quick Set-Up...

1) Choose WEAR on the Hyper-Instrument directly from your inventory. Don't just choose attach; the instrument will be attached to your AV in the correct place.

2) Choose WEAR on the Hyper-Instrument's HUD directly from your inventory. Again, don't just choose attach; the HUD will be attached to the top-center position of your camera / screen.

3) Touch the small green button at the bottom of the HUD to expand and show the full HUD. Make sure you are not in edit mode.

The Interface / HUD, (what do all those buttons do?)...

As there are differences in Avatar models in SL, when you WEAR the HUD attachment you will be asked to specify if your AV is using the Male or Female model, this will set the right animations to use when the instrument is played.

• Expand / Collapse the HUD:

Single click here to open the HUD to full view, or to fold it away so it does not take up too much screen view.

• Pre-Load Soundfiles:

This feature will take about 1 minute and during this time your instrument and all buttons will not be accessible, however it is recommended that you Pre-load soundfiles (on your client and others around you) before you play the instrument; either in real-time play or automatic playback via notecards.

Basically single-clicking this button will load all the soundfiles ready for immediate playback when needed, if you choose not to do this, a short soundfile (and 1 for each note) will need to be loaded when you initially trigger a note, the effect is sluggish and laggy action until all the soundfiles have been loaded.

(Tip: When you Pre-load soundfiles you will also pre-load them on any nearby Avatars also, however of course if another AV subsequently comes within range, they will not have the sound pre-loaded and as such may well experience sluggish performance of songs).

• Toggle Sustain:

For use in real-time play on the HUD keyboard only, toggles ON/OFF if notes will sustain (stay on) when you click and release a note or if you will need to hold the mouse button down to sustain a note. This is useful depending upon the type of song you are playing, if you generally want silence between the notes (rather than legato) you might want to turn this off and manually release notes with your mouse button.

(Tip: if you have this sustain feature ON, default setting, clicking anywhere on the top, black section of the HUD, or re-clicking the same key will stop a note from playing, so you can manually over-ride a sustain).

• Change Loudness:

For use in real-time play on the HUD keyboard only, these three buttons can be used to change the loudness of the instrument; left to right, loud to quiet. Default setting is loud.

(Tip: You can change loudness settings whilst notes are sustaining for crescendo / diminuendo (get louder / get quieter) phrases).

• Load Notecard:

Single clicking this button will open a dialog menu (top right of screen) listing the names of any scores you have with the contents of the HUD. Choosing a song from the menu will load that song (a song is a sequence of note pitches and durations and settings for tempo and loudness) into the HUD. The loading process will also perform checks for typical errors in the notation and will report back (to you only) progress and when the complete song is ready to playback.

(Tip: make sure that the name of ANY of the notecards / songs in the HUD are not longer that 24 characters in length, otherwise the dialog will not appear at all).

• Play the Loaded Notecard Score:

As long as a notecard / songs has been loaded into the HUD, single clicking this button will automatically animate your AV, and play back the song (also the song credits, name and composer stored in the notecard will be announced). A second click will stop the animation and the song playback.

• Keyboard for Real-Time play:

You can use the 2 1/2 octave (30 note) keyboard to play the instrument in real-time. Depending upon the sustain setting (see above) your avatar will also be animated either when a note has been clicked and released (sustain ON) or only when the mouse button is held down on a note (sustain OFF).

OK so how do I wirte a song?...

In the next blog entry I will offer an explaination of the easy to use Notecard notation system (used to store and play-back songs on the Hyper-Instruments) and will also highlight some typical compositional strategies.

Tuesday, June 27, 2006

Hyper-Cello Song Competition

Today I have launched a Second-Life Song Writing Competition for the Hyper-Cello, prize money is 10,000L$ for the winner.

I have sent Notecards with the rules to all current Hyper-Cello owners, but for anyone else who might be interested in entering the competition, here are details:

To be able to enter you will need to own a Hyper-Cello.

The Hyper-Cello can be bought in world at < Scafell (30, 149, 49) > (SLurl).

Following the successful song writing competition I hosted (May 2006) for the Hyper-Flute I have decided to host another competition, only this time for the Hyper-Cello, and I hope that you will consider entering?

Remember, absolutely anyone can write a song, you don't need to able to read music or play an instrument, just have an ear for a good melody and be able to write the note-sequence down in the correct format in a notecard (as per the instructions included in the instrument HUD) - It's free to enter and the prize money is 10,000 L$ for the winner!

The winning entry from the previous flute song writing competition can be heard in the video here

After the competition, all entries will be available for sharing so this is also a great way to generate more songs for us all to play in our Cellos - (and Flutes as the scores are interchangeable).


1) Closing date for song entries is 15th July 2006. If you are thinking of entering please let me know so I keep a check on likely numbers.

2) To enter the competition, songs (notecards) should be dropped on the entry-box at the following location. - < Scafell (31, 146, 49)> (SLurl), before the closing date.

3) Song entries should be longer than 30 seconds and must be original music composed by you.

4) Robbie Dingo will judge competition and the judges decision is final.

5) Your entry notecard must include your name and the name of the song. You must be willing to share your song with other Hyper-Instrument owners after the competition has closed. Your entry must load correctly without errors when importing into the HUD.

A good song, for the purpose of judging this competition will be one that is idiomatic of the hyper-cello. That is to say one that has been written specially with THIS instrument in mind and takes into account its features, range and well yes, cope with the timing problems that exist in SL. The winning song should be varied, yet memorable; original, include a strong melody and make use of silence too. For examples of original and strong, effective melodies, sing just about any Beatles tune! The winning entry from the previous flute song writing competition can be heard in the video here.

I will go through the entries and announce the winner to all as quickly as I possibly can after the closing date.

Good luck and have fun with it!


Hyper-Cello Song-Writing Competition - Results (July 06).

4 entries received, in no particular order:

Rene Undertone, 'Java Morning'
Kagami Muromachi, 'Lakeside Reflections'
Jennifer Mahoney, 'Reflection on Mill Pond'
Codalisa Levitt, 'An Eroglance'

My thanks goes out to Rene, Kagami, Jennifer and Codalisa for their time and effort. I am so pleased that you entered your songs in this competition and that they will now be made available for free in the sharing vendor for others to hear your work. If you own a Hyper-Cello (or even a Flute as these songs will play on all the Hyper-Instruments) I urge you to go pick up the scores and play these songs.

Before I announce the winner of the 10,000L$ prize, I would like to offer a short review/summary of the 4 pieces...

As before, again it was a difficult decision to make as all the entries were really well implemented for the 'cello. In my opinion, 'Lakeside Reflections' and 'Java Morning' are almost at opposite sides of the spectrum to one another, the former uses a very low, moody, flowing and continuous theme with very few pauses and the latter sits more in the mid range of the cello and plays with few notes and well positioned pauses. Both are really quite effective.

With respect to 'Reflections on Mill Pond' and An 'Eroglance', it is very clear that both Jennifer and Codalisa have spent much time reflecting and perfecting and these songs, and they both really feel like they were written specifically for the Hyper-Cello. Without doubt Jennifer's song is technically more involved, and a quick glance at the score shows that she has given consideration to the loudness dynamic of nearly every phrase - it's a great work Jennifer! On the other hand Eroglance just 'sings' on the cello and the intro. theme (which is repeated twice at the start) sticks with you immediately. The interval jumps on the second line and throughout are beautiful.

Jennifer and Codalisa's songs were so hard to choose between, but as I have to do this..... An Eroglance wins, congratulations Codalisa (10K L$ coming your way now), and Jennifer, please take your pick of any instrument or instruments in my vendor as a runner up prize, whatever you want, it's yours.

Thanks to all 4 song-writers.... until the next time.

Here is the full score for An Eroglance:
(Plus a programme note, Codalisa hope you don't mind me including this also?)

An Eroglance by Codalisa Levitt
D1,T=0.3,E2,F2,T=1.0,D2,D2,T=0.3,A1,T=0.4,D1,T=0.3 ,E2,F2,T=1.0,D2,D2,*
T=0.4,D1,T=0.3,D2,E2,T=1.5,C2,T=0.4,G1,D1,D2,E2,T= 1.2,C2,*
T=0.7,0.3,C2,C2,T=0.4,B1,B1,T=0.6,E2,T=0.3,0.2,B1, T=1.2,A1,*
T=0.4,F1,As1,*,As2,Cs2,F2,*,F1,F1,G1,G1,B1,T=1.5,D 1,*

This song is about the Greek myth of Orpheus and Eurydices. It begins with the two of them having the permission to leave Hades. She is happy that she can go with him, her true love. Then there is the reminder, the qualifier of the deal, to not look at one another until out of Hades. And of course Orpheus looks, and poof, Eurydices is stuck in Hades for keeps. So there is that sorrow there and that is what the Eroglance is. I called it the Eroglance. It is like the romances in Second Life I believe. They are good until someone is tempted to look as in knowing too much real life.

Saturday, June 24, 2006

Hyper-Flute (Demo)

Before I go ahead and set-up the Hyper-Cello song writing competition, I have decided to put together a short demonstration video of the Hyper-Flute, both to show the range of possibilities with these instruments and also to capture the winning song from the previous competition (held May 2006).

This video shows my avatar playing (at the New Globe Theater) a short composition titled 'Celestial' which was written by Second Life resident Amillia Case.

Watch the Video

Although there are post-production edits in the video, the soundtrack was captured directly from Second Life and is exactly as the Hyper-Flute sounds when played; no additional reverb or other audio editing has been employed..

Friday, June 23, 2006

A Surprise Prize. (Film #2)

Arriving back from a weeks holiday to find that the Film 'STAGE' wins ('Best Film') in the June Alt-Zoom festival!

This was even more surprising after seeing the fantastic line up of the other 24 entrants, which can all be viewed here.

Here was the line up:

Stage, by Robbie Dingo, (Best Film)
A Whale of a Tale, by AngryBeth Shortbread, (Best Story)
NMC in Second Life, directed by Pierce Portocarrero, (Best Cinematography)
A Little Problem, by Otis Pertwee, (Best Editing)
Flexitail, by Beatfox Xevious, (Technical Accomplishment)
Racetrack, by RacerX Gullwing
The Trouble with Goblin Engineering, by Tuber Potato
Suddener Fights, by Sandro Melnitz
A Community That Cares, by Moo Money
MachiniHUD2, by Spin Martin
Hot Date, by Rob Danton
At The Red Carpet, by Tao Takashi
Tales from Susi's Mountain Gallery - Episode 1, by Susi Spicoli
Agent Smith Beta, by Joseph Montagne
Bio of a Duo, by Moebius Overdrive
Base Jumping, by Digi Vox
Bang Bang, by Melonie Giles
Dynamite, by Vikkie Christianson
Dark Night of the Soul, by Aces Spade
Everything is Transformable CC Remix, by In Kenzo
Rocket Riding, by Susi Spicoli
GothBurgh Castle, by Insky Jedburgh
Regina Spektor Party, by RacerX Gullwing
Meeky Rosie This, by Clames Clanger

Anyways, I have decided that the prize money (of L$10,000 or c. US$29.50 / GB£16.21, if floated) will now be re-depoyed as prize money for the next SL song-wring competition I am planning to run soon very soon, (Thanks Alt-Zoom, MooMoney and Buh Buh Kuh Fairchild).

Last time I ran the competition it was for the Hyper-Flute.

This time it will be for the Hyper-Cello.

Monday, June 12, 2006

Finished! (Film #2)

The film is complete:

(Still not happy with some of the jerky movements in the slow camera pans, but hey).

YouTube link to the Film here.

Time for a holiday.

Saturday, June 10, 2006

Filming Ends - Storyboard. (Film #2)

I now have all the movie files I think I need to put the film together, (and yes some of the shots are not as smooth as I would have hoped for due to frame skipping as mentioned in the previous post). I used a hand drawn story-board to work against whilst capturing the footage, but now that the footage has been obtained I have put together a more accurate story-board:

Briefly, the story unfolds as follows:

Line 1: Titles; Young Boy#1 (c. 5 yrs old, the son) playing with a toy train set; Middle aged Father#1 playing piano;

Line 2: Various shots of Father#1 playing piano, there are two piano stools;

Line 3: Boy#1 joins Father#1 at piano, they play a duet;

Line 4: This section portrays both Boy#1 and Father#1 aging (Boy#1 now c. 30 Father#1 now c. 75);

Line 5: Father#1 'exits' through a fade-away leaving Boy#1 playing alone; Also a reminder of the train set;

Line 6: Various shots of Boy#1 playing piano; Then Boy#1 (now called Father#2) is joined by Boy#2 (his son, c. 5 yrs old).

Line 7: Various shots of Boy#2 and Father#2 at piano, duet again, some distance shots fading to black;

Line 8: End scene, Father#2 and Boy#2 close up of faces as they turn to face each other; End Credits.

With everything in place, the editing process begins...

Thursday, June 01, 2006

Filming Starts. (Film #2)

A whilst since I posted here, been busy though. The music for the film is complete now (a 3 minute piece for two people at the same piano), and filming has started.

There is definitely something askew with the Mac client for Second Life (I'm assuming that this does not apply to the PC version?). It stalls/skips a frame or two once every three seconds or so, regular as clockwork. At first I thought it was due to my relatively slow broadband connection (0.5Mb) but the skipping of frames also occurs with things that happen client-side only, even when I disconnect and leave SL running. This is so annoying I very nearly decided to give this project up.

However, I have decided to carry on (although I know those frame jumps will bug me throughout the filming process and even more so once the film is done), oh well...

Alt-Zoom's machinima film festival is looming and as it's good to have a deadline to work to, I have decided to use their date for submissions as a target date to complete the project. Co-incidently the Alt-Zoom theme for this month is 'Biography' which my film will fit well.

The film is (going to be) titled 'STAGE', referring to - A) the set looking a little like a stage; B) a reflection on the stage-s of life; and C) inspiration taken from the following:

All the world's a stage,
And all the men and women merely players:
They have their exits and their entrances;
And one man in his time plays many parts,

(from As You Like It 2/7, Shakespeare)

So..... back to the filming...