SynJam:
What is SynJam?
Joining the Band
Picking the MIDI
Playing the MIDI
Jamming Along
Using Microphone
Toy StatusArcadia:
Home
Download
Community:
Forums
Java Chat
Firewall/Router Help
Arcadia Toys:
Collaboration
DomiNation
Empyrion
synChess
synJam
synJet
synPool
synSpades
synSpace
synVille
synVideo
Turnabout
Other
Games:
Well of Souls
Warpath
Rocket Club
Developers:
TurnAbout API
New Parks
New WoS Worlds
Rocket Club
Models
Company:
Synthetic Reality
Golden Souls
Donate $
Contact Us
|
synJam is one of the toys which
can be played in Arcadia. It is a collaborative
music performance and composition 'game'...
|
What Is SynJam?It's a toy that allows
everyone to hear the same MIDI file, and then to add their own notes to it in real time. You can add additional instruments and tracks to each song as you see fit, and save your results as new MIDI files which
you can then share with your friends.
It's similar to
the Collaboration toy, only for the ear.
The expectation
is that the original MIDI file acts as a
super-metronome (giving not only the beat, but
the initial melody etc), and that over several
passes the song takes on a richer life, until the
original MIDI tracks can be removed and the song
lives on its own.
And that's it.
It's a head-on collision between a MIDI player
and a multi-track recording studio, with Internet
multiplayer elements and a little time travel
thrown in for good measure. Get it.. measure? A
music joke!
|
But How Do I Actually PLAY It?Oh, you mean, how do you
get your notes into the song? Well, you have
three basic ways right now:
Virtual
Piano
The main screen
has a little picture of a piano keyboard on it, and you can mouse
click on that. This requires no extra equipment,
but you can only play one note at a time and it's
easy to miss.
MIDI
Controller
If you have
something like a Electric Piano that has a
MIDI-OUT plug, you can connect that to your
computer (with an appropriate cable.. I like the
MIDI-to-USB cables as the joystick ones never
work right for me)
Microphone
Something I am
still working on is my microphone-to-midi
decoder.
When you have that turned on, then what the
microphone hears is analyzed for pitch, and
volume and then I synthesize MIDI key up/down
events to match. At least in theory.
It's not really
very good yet, and I find people are pretty
intimidated as a rule to 'sing' into the
microphone since other people can hear you. And
if you're a good enough singer that you don't
mind THAT, then you're probably pissed off that
it doesn't do a better job capturing your
beautiful voice :-)
You can also use
all three methods at the same time, if you have
enough hands.
|
How To Join The
BandCurrently, only the Server Moderator
can add players to the band. (In Arcadia, one player is the
'moderator' of the server - they have a little
crown next to their name. If there is no
moderator, you can grab the crown by
right-clicking on your own name and selecting
"Make Me the Moderator." You can also pass
moderatorhood to another player).
To get someone
in the band, the moderator right-clicks on their
name in the Arcadia Player List and selects
"Let X join the band"
No more than
eight people can be in the band at any given
time.
|
How to Pick a
MIDI FileNote: a MIDI file is not an MP3 file. SynJam is
all about the MIDI and can deal with no other
file format.
In the upper
right corner of the sheet music is a little set
of buttons which I hope are familiar:
- OPEN (a
MIDI file)
- SAVE (to a
new MIDI file)
- STOP (if
the file was playing, this stops it)
- PLAY (start
playing the file from the beginning
The OPEN button
opens a File Browser, rooted in the toy's
"Midi" folder. (SynJam can only
load MIDI files from this folder, or sub-folders
of it.)
If you installed
Arcadia to the default location, your MIDI folder
will be here:
C:\Arcadia\Toys\Toy12\MIDI
If
you have a MIDI file you would like to use with
synJam, you must copy it to this folder
first.
|
How to Play/Fetch
a MIDI FileOnce you have Picked which MIDI
file you would like to play, you can push the
PLAY (right-pointing triangle) button to start
playing it. Anyone can push their own PLAY button
to hear the song, but if the moderator does it,
then it forces *everyone* to play the song at the
same time.
In the Arcadia
player list is a column of information labelled
"Song" which indicates whether you have
the same version of the MIDI file as the
moderator. If it says "same" then you do.
Otherwise it will say "????" if you don't have
the file at all, or some number if you have a
file of the same name, but which appears to be
different from the version the moderator has.
If you need to
get the same version as the moderator,
right-click on the moderator's name and select
"Fetch Song From X" to start a
download from the moderator. (Not everyone is
able to serve files in this way, so you may need
to try fetching from someone else who appears to
have the same version as the moderator). You can
only fetch files from the toy12/midi folder and
its sub folders.
|
How To Jam Along
With The MIDI FileIf you're in the band, and the
MIDI file is playing, then you can jam along to it.
The easiest way to do this is simply to click on
the virtual piano keyboard.
Of course, when
I say 'easy', I really mean 'hard' or 'fiendishly
difficult'
The really
easiest way is buy yourself a MIDI capable
keyboard and a matching cable to attach it to
your PC. Then you can play on a real piano and
have your notes sent to synJam.
And the WEIRDEST
way is to use your microphone.
|
How To Change
Your InstrumentYou can use the Toy Options dialog to pick any of
128 "General MIDI" instruments. (some
of them are kinda weird, and your fellow
musicians will appreciate it if you don't just
pick "gunshot" and
"Helicopter" over and over again.
Mercifully there is no "fingernails on
chalkboard" -- but some instruments come
close.)
As a
convenience, you can also right-click
on the piano to bring up a menu of your 25
'favorite' instruments. (It is pre-loaded with my
own favorites, but each time you use the Toy
Options dialog to select an instrument, that
instrument is added/moved to the bottom of the
right-click menu, so you can pre-load your
favorite 'patches' for easy access)
NOTE:
During the first recording pass of a song, you
can change the instrument any time you like, but
those instrument changes will become part of your
'track' and you will not be able to change them
in later passes in the same recording session.
|
How To Change Your DelayFor this you have to use
the Toy Options dialog. Leave it at zero if you
don't understand it.
Because latency
on the internet prevents two players from hearing
each other in completely real time (well enough
to meaningfully 'jam' together), each player can
choose a time delay. Your time delay determines
how much later in time you are hearing the MIDI
file than the moderator is.
As a musician
plays along to the MIDI as he hears it, his notes
are sent to all the other players. Those players
with a greater delay setting than the musician
(i.e. downstream of the musician), will
hear the musician's notes 'in the right spot' of
the MIDI file, and can jam along with those notes
in what feels to them like real time (even though
the musician actually played those notes a few
seconds ago).
Players who are upstream (lower delay) than this
musician will NOT hear his (or her) notes during
this pass of the MIDI, but WILL eventually get
the notes added to their copy of the MIDI file,
and will hear them in subsequent passes.
Visualize a
river with the MIDI notes flowing down it. Each
musician stands at a different spot on the bank
and pours their notes into the river. Only
listeners downstream of a particular musician
hear his notes as they stream by. But the river
is really an infinite loop and after awhile (the
next pass), all the notes from the previous pass
stream past you again.
Audience members
generally have the highest delay, so they can
hear all the notes in the same pass they were
created.
|
How To
Save/AutoSave Your Jam SessionPress the SAVE button to
open a dialog which lets you save the current
session. The dialog lets you choose to filter
various channels from what gets saved (you can
mute individual contributors, for example). You
can also add a brief alphanumeric string to
remind you what you liked about this session.
The file is
always saved to your "midi/jams"
folder. So on a normal installation, it will look
something like this:
c:\Arcadia\Toys\Toy12\Midi\Jams\synjam-12345-me
and bill-originalMidiName.mid
So, to recap:
- it is in
the sub folder "midi\jams" so
it doesn't overwrite a file in
"midi"
- it always
starts with 'synjam'
- following
that is a numeric time stamp, so you can
tell what order you saved the files
- It has your
'memo' text ("Me and Bill" in
this example)
- It has the
name of the original MIDI file you played
against.
You can also
enable the auto-save feature (a checkbox on the Toy Options dialog) which will
automatically save 'interesting' Jam sessions
(with the memo set to "autosave")
Right now a jam
session is interesting if it has 'enough' notes
added by actual players (not just the original
MIDI file)
|
Muting/Clearing TracksFrom time to time, you
might wish to mute one or more tracks, or even to
completely empty a track of notes. SynJam gives
you two interfaces for this:
Muting
Via the Player List
Right-click on a
band-member's name and select "Mute
X's Instrument." This will mute notes being
played in this pass by that player. (Right click
again and select un-mute to bring them back).
Muting
Via the Options Dialog
The options
dialog has a list of all the tracks (players plus
the original MIDI file tracks). Right click on
any one of them to get a list of options:
- Clear This
Track (Completely remove all notes from
track)
- Mute/Un-Mute
this Track
- Mute All
But This Track
- Un-Mute All
Tracks
The Clear Track
feature is the only one which actually deletes
notes from the track. Use it when you don't want
to keep anything played on that track. Note that
some MIDI files put multiple channels of
information in a single track.
|
How To Earn
BravosAs you play the game, you earn
performance points for taking part. This makes
your "Rating" change (as seen on the
Arcadia Player List... I am a "Player/Groaner
with 0 Bravos")
As I earn
points, I earn the right to bestow
"Bravos" on other players (I can NOT
give MYSELF Bravos...but I do earn good karma for
giving Bravos to others).
The actual
mechanisms that generate points must remain a
secret, but you can bestow a Bravo on another
player by right-clicking on their name and
selecting "Applaud X (I can
give up to N Bravos)"
The idea is you
get Bravos when other people give them to you.
And they have to first earn some performance
points (by playing) before they can give Bravos.
When I give you a Bravo, it does NOT make me lose
any Bravo's other people have given me, it just
spends some of my earned points.
|
How To Use Your
Microphone to JamWarning: This is kinda
creepy at the moment, and works best if you croon
gently in your highest falsetto voice (ergo,
perfect for maximizing your embarassment!)
Basically this
depends on using the Arcadia Speech feature,
which is enabled by clicking the little
microphone toolbar button. This opens the Arcadia
Microphone window. Set the mode to "Push to
Talk"
and then right-click on the push to talk button
(right-clicking makes it stay down without your
having to hold your mouse on it. Click it again
to turn it off)
It will then
complain that you should click on someone's name
(and if you do, you will be sending voice TO
THEM, and they will get a good listen to your
embarassing falsetto) You
probably don't want to do that, since it will also
cause a lot of lag during the jam session.. (so
maybe I will disable that)
Anyway, if you
were successful, an extra window will appear on
the Sheet Music, with lots of squiggly lines in
response to what the microphone hears.
This still won't
actually 'play the piano' until after you open
the Toy Options dialog and click the
checkbox for "Use Microphone As
Controller"
Once you do
that, you will see it start to plink away at your
Piano keys in response to what it hears. Heaven
help us all.
|
SynJam OptionsYou open the options
dialog by clicking on the Toy Options toolbar
button (that's supposed to be a wrench on a
baseball) It has three basic sections.
MIDI
File Information
This summarizes
the current MIDI song, and duplicates the
load/save/stop/play button. The play button also
doubles as a pause button, but this is local to
you only (other people do not pause, not even if
you are the moderator.. and come to think of it,
there is a chance that when you resume from
pause, as moderator, you will actually force
everyone to start over from the beginning)
Your
Preference Settings
- Your
current instrument (also adds
instruments to the bottom of the
right-click-on-piano favorite 25 menu
- Your
current delay (how far
downstream you are from the moderator)
- Autosave enables
automatic saving of 'interesting' jam
sessions
- Decorate Keyboard adds green lines
to notes used by the MIDI (to help you
stay in key)
- Use Microphone as
controller - lets mic input generate
note events.
The
Current Track List
The dialog is
resizable, so you should be able to see all the
tracks at once. The list includes all the tracks
from the original MIDI file at the top, and then
the 8 musician tracks (for the current pass)
below that. Right-clicking on a track gives you
the muting/clearing options for that track.
|
More About MIDI -
Events, Channels, Tracks, and StreamsFor our purposes, MIDI is
just a way of 'describing' a piece of music.
Events
As such, it is a
morass of individual time-stamped
"events" where an event is something
like "I changed my instrument to the
flute", "I pressed down on the 'C' key
of my piano", and "I lifted the 'C' key
of my piano"
SynJam puts very
little between you and the events. The SynJam
Sheet Music shows you the start and end events
for each note, and draws a colored bar between
them so you can see 'how long' each note lasts.
In traditional music notation, the individual
notes are 'decorated' (solid oval, hollow oval,
with varying squiggles added to let you know how
long the note is held. This uses less paper, but
doesn't give you a natural feel for the length of
the note, and is not great for showing multiple
instrument parts at the same time.) OK, OK, I am
rationalizing.. I draw the score the way I do
because it was fun and easy to do it that way. I
won't try to defend it any more than that :-)
Channels
A MIDI Song can
have up to sixteen 'channels' in it. You might
think of a channel as being an instrument. One
channel might be a piano, while another is a
flute. The piano channel can be playing multiple
notes at the same time (all ten of your fingers
mashing keys on the piano, for example), while
the flute channel can only play a single note at
once.
In theory, two
flutes could share the same channel for the most
part (each being just one of your piano fingers,
as it were), but the problem would come in when
both flutes wanted to play the same note at the
same time. The MIDI channel would then get
confused (like two fingers both mashing the same
piano key.. there is only one note to be played,
and if the fingers wanted different start and end
times for that note.. well.. it would be weird)
So, in general,
each instrument gets its own channel. And thus
each MIDI event includes a timestamp, a
description of what sort of event it is (key
down, key up), the key in question (A above
middle C), and the CHANNEL it is assigned to.
Over the course
of a song, a single channel can change
instruments, so that it is a flute for awhile,
then a piano, then a flute again. So from that
perspective, perhaps it is better to think of a
channel as being a musician, with a bank of
instruments lying about them, and the ability to
put one down and pick another up without missing
a beat.
Tracks
When you record
a MIDI song to disk as a '.mid' file, you are
basically writing down those million events. You
could just write them down in one big pile and be
done with it. And some MIDI files do exactly
that. But others try to be nicer and break the
events into logical categories (like the
channels) and save each channel's events in a
separate 'track' of the recording. (Why not just
call it a separate 'channel' of the recording?
Well, you can have many more than 16 tracks).
Additional tracks can be used to hold 'meta
info.' For example, many MIDI files use several
tracks just to hold Title and copyright text
information about the song. (This is nice, and
you should respect that).
And, just to be
confusing, many MIDI files mix it all up, with
some tracks holding NO midi channels, some
holding one MIDI channel, and some holding
multiple MIDI channels of events.
Streams
This is just a
synJam word in this case. When I say stream, I
mean "a source of MIDI events." When
synJam first opens the MIDI file, it creates N
streams (one for every track of the .mid file).
Then an additional 8 streams are created for the
8 players. When I press a key, the MIDI event for
that is placed in MY stream. (it is also sent to
all other players, who then add it to the stream
they have reserved for my notes).
So, each stream
is an ordered list of MIDI events.
Then, when the
time comes to PLAY the composite MIDI song,
synJam pulls the events from all known streams,
in order and sends them off to your computer's
MIDI out driver, who then does the magic of
actually turning those events into sound.
SynJam's
time-travelling ability allows each person on the
server to be feeding their MIDI out driver at a
different point in time, so that downstream
players get all the events from the upstream
players in time to feed them to their MIDI out
driver without it becoming 'starved' for input
(and adding a stutter to the song).
But I try not to
actually use the Stream word in the game, and
just make you think there are a lot of Tracks
(some of which were in the original MIDI file,
and some which are just related to the musicians
on the server.)
|
Tell Me More About The Main Display - What's with
the lines?The Main Screen has... Three
sections (not counting the regular Arcadia stuff
like chat and player list)
Score
Sheet
This is Uncle
Dan's Own Version Of Music Notation. It borrows a
bit from every other form of notation. That
vertical line down the middle is 'now' and the
music scrolls under that line. You 'hear' a note
when it passes under that line. Notes are
horizontal bars which indicate their start and
end (so a long note is a longer bar). Most of the
song's notes are 'grey' but the 'selected stream'
notes are colored.
You can sort of
make out a standard musical staff (two groups of
five horizontal lines each, with a treble and
bass cleff graphic - not necessarily drawn in the
right place, I point out)
It's currently
just an output device, but if you are downstream
of another musician, you will see their notes
appear to the right of the centerline (and
upstream player notes will appear on the left
side, but you won't hear them until the next
pass.)
In general, the
notes from the MIDI file are a light gray, and
the notes coming live from the musicians are
different colors (each musician has their own
color). And finally, the 'selected' track is in a
easy to see darkest color.
Virtual
Piano
Along the bottom
of the window is a little piano keyboard with the
seven most popular octaves (my opinion only). Use
your mouse and click on it. You're a musician! It
only works when a performance is in progress.
Note that it also shows the keys being played by
the 'selected track'' (the highlighted notes on
the Score Sheet)
Microphone
Status
When you have
the microphone stuff turned on, you will see
analysis info in a little black window in the
lower left. Think of it as an oscilloscope with a
computer watching it and looking for notes in the
chaos.
|
Please just tell me what to DO!Sure! Let's say you and
two friends want to try it out. Your names are
Alan, Bekki, and Celeste. Alan and Bekki like to
play instruments, but Celeste just wants to
listen.
- All three
of you start up Arcadia and join the same
server and select synJam. Let's pretend
Alan is the moderator
- Alan then
right-clicks on both his own name and
Bekki's name in the PLAYER LIST and
selects "Let <name> in the
band!"
- After that,
Alan and Bekki will show extra decoration
in the player list, so you can tell they
are musicians.
- Alan,
Bekki, and Celeste then each open their Toy Options dialog.
- Alan picks
an instrument (let's say a piano) and
sets his 'delay' to 0. (everyone wants to
hear him)
- Bekki picks
an instrument (let's say a cello) and
sets her delay to 3 (she wants to hear
Alan 'in local real time', so she makes
herself 3 seconds downstream of him.)
- Celeste
doesn't pick an instrument, but sets her
delay to 6 (she wants to hear both Alan
and Bekki in 'local real time')
- Alan also
pushes the Open MIDI button and picks a
starting midi file
- Everyone
sees when that happens, and they get a
little message if they don't have that
file. They could right-click on Alan's
name in the player list as 'fetch' the
MIDI file from Alan.
- Alan pushes
PLAY (and since he is the moderator, this
causes everyone to play the MIDI file)
- Alan hears
the MIDI file start immediately
- Bekki hears
the MIDI file start 3 seconds after Alan
hears it
- Celeste
hears the MIDI file start 6 seconds after
Alan hears it (and 3 seconds after Bekki
hears it)
- Alan then
clicks on his virtual piano ('along with
the midi file')
- Alan hears
his note immediately, and sees it appear
on the sheet music in time with the MIDI
file.
- Bekki hears
Alan's note 3 seconds later, but on the
same spot on the sheet music (which is
running 3 seconds behind Alan)
- Celeste
hears Alan's note 6 seconds after Alan
pressed it, but also sees it in the right
spot on her sheet music
- Celest also
hears Bekki's notes in the right place on
the sheet music.
- But Alan
does NOT hear Bekki's notes.. he does see
them appear 'in the past' on his sheet
music, but they arrive too late to be
heard
- The song
comes to its end, and Alan and Bekki are
tired of adding more notes, so Alan
presses STOP
- Alan hears
the music stop as soon as he presses STOP
- Bekki hears
it stop 3 seconds later
- Celeste
hears it stop 3 seconds after that.
- Alan then
presses PLAY again and it all repeats as
before, only this time EVERYONE hears
Alan's and Bekki's notes from the first
pass. Alan and Bekki can now add
additional notes, with the same
who-hears-what as during the first pass
|
I can't get it to WORK!NOTE:
You probably have to wait for Arcadia to finish
playing its opening theme music before you can
successfully open MIDI files in synJam -- Ironic,
huh? If you just can't get it to work at all, try
disabling music from the ARCADIA options dialog.
I expect you're
not alone. But work through this:
- download
and install toy as normal, play it in
SOLO mode
- click on
the Top Options tool bar button (baseball
with wrench on it, on the far right)
- click on
Select MIDI and pick a song
- click on
PLAY
- If you
don't hear anything, then check your MIDI
volume (windows volume control) and
generally verify that you CAN play midi
files in general. But there may be
conflict if you have two MIDI playing
programs running at the same time.
- Make sure
you are the moderator and then
right-click on your name in the Arcadia
Player LIst and "Add XXX to
Band" which makes you a musician
- If you do
hear it PLAY the selected song, and the
Score Sheet is scrolling along, try
clicking on the virtual piano. You should
hear what you play, and see your notes
get added to the Score Sheet.
- Now, attach
your MIDI keyboard if you have one and
press its keys.. you should see its notes
get added just like when you used the
virtual piano.
The microphone
analysis code is fairly math intensive, so you
might find your computer is not up to the task.
You really aren't missing that much yet. I have
lots of work to do on that feature.
|
Toy Status:The game is fairly
complete for its original objectives - allowing
people to Jam together in semi-real time, using a
MIDI file as a meta-metronome. Now it just needs
a little spit, polish, and game attributes added.
To
Install Toys:
- Run Arcadia
- Select your
'channel'
- Push the
"Check for New Toys" button
- Follow
Instructions.
|
|
|