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