[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Modifying the SoundSmith format



In article <3aul4u$607@nyx10.cs.du.edu>,
Chris Deschu <cdeschu@nyx10.cs.du.edu> wrote:
>>Want details?  Mail me.
>
>Ian, why not post them so everyone can learn something? Thanks.

I guess.  They might be helpful if you're writing tunage that you want to
squeeze all the power out of MT-compliant programs (Instant Access 2.2,
DeskTracker 1.4, SSPlay for Orca/GNO).

Here goes:

* means effect will work without an accompanying note.
 
Effects 3, 5, 6, and F are present in SoundSmith.  The rest are borrowed from
ProTracker.  Also, effect 0 is defined the way Protracker does it, not the
way SoundSmith does.  For SoundSmith-style effect 0, use effect 8 instead.
 
Effect #    Name                Effect parameter
================================================
 
0*          None/Arpeggio       00 for no effect. xy otherwise.  This switches
                                rapidly between the base note, the note+x semi-
                                tones, and the note+y semitones.  Thus, to make
                                a minor chord sound you would use 37 and for
                                a major chord sound you would use 47.  This
                                effect sounds best on pure-tone instruments.
 
1*          Pitchbend Up        0-7F add to frequency in steps of 51 Hz.
                                This effect is cumulative, and happens on
                                every clock tick except the sequencing one, so
                                if tempo=6, 01 would add 255 Hz to the pitch
                                before the next sequence position.
 
2*          Pitchbend Down      0-7F subtract from frequency in steps of 51 Hz.
                                This effect is cumulative; see under effect 1.
 
3*          Set Volume          The volume is immediately set to this.
                                The parameter must be from 00 (soft) to
                                FF (loudest).
 
4*          Vibrato             xy where x is the depth and y is the speed.
                                If either or both are zero, the previous value
                                for that track is used.  A sine wave is used to
                                modulate the frequency of the note to create
                                this effect.
 
5           Add Volume          This is added to the inst. volume.
 
6           Sub. Volume         This is subtracted from the inst. volume.
 
 
8*         Old Arpeggio         xy, where this switches rapidly between
                                the base note+x semitones, the base note+y
                                semitones, and the base note+x+y semitones.
                                This is how SoundSmith defines arpeggios.
 
A          Volume Slide         xy, where if X=0, it slides volume down @ speed
                                =y.  If X is nonzero, it slides volume up @
                                speed=X, and Y is ignored.
 
B          Reserved            reserved.
 
 
C*         Portamento           Slides from the track's current frequency to
                                the accompanying note.  The effect parameter
                                determines how quickly the slide goes.  If
                                the speed is zero, the last non-zero speed on
                                the track is used.  If the note is zero, the
                                last target note for that track is used.
 
Example:   C5  1000      (slide from a C5 to a C4)
           C4  0304      (begin sliding, fairly slowly)
           --- 0300      (keep going)
           --- 0300
           --- 0300
           --- 0300
 
D*        Programmable NXT     xx where xx is the position (00-63) to jump
                               to in the next block.
 
E*        Multi-effects         E 00  = MIDI only: this note wil only go over
                                MIDI.
                                E 01  = GS only: this note will only play on
                                the GS' voices.
 
                         E 1x  = Fine pitchbend up
                         E 2x  = Fine pitchbend down
 
F*          Tempo change        xy where x is the clock rate and y is the how
                                many times the clock will tick between updates.
                                Defined clock rate values are:
                                0 = 50 Hz (SoundSmith)  8 = 60 Hz
                                1 = 100 Hz              9 = 120 Hz
                                2 = 200 Hz              A = 240 Hz
                                3 = 25 Hz               B = 30 Hz
                         All undefined clock rates are reserved for
                         future definition.


The songs "Vision", "P and L Inc", and "Unforgiven" that come with GS<>IRC
Music Disk #2 are a good place to see these commands in action.

Have fun,
Ian
--
Ian Schmidt - irsman@drift.winternet.com - Rush in '96! - INSOC:
"If you've got to belong to something, belong to us and we'll make you PC"