Yaking Cat Music Studios

"Dear Synclafriends"
updated 10/23/99

go back to "Technical Information" menu
....go back to main page

.INDEX FILES 6/01/99
Subject: Converting Synclavier sequences to MIDI files using MIDINet


Submitted by Todd Yvega.  10/23/99



* The L-Page is now Patch-Savvy:

Until this release, the L-page only displayed and operated on the first
sound file listed in a patch.  If a sound file other than the first one
needed to be edited, the user was forced to delete from the patch all
sound files listed before it, thereby destroying it.  To facilitate the
viewing and editing of sound files within patches, the L-page has been
enhanced in several ways.

If you select a sound file in the I-page, that file will be displayed
when you go to the L-page.  At the bottom right of the screen (just above
the Current Catalog label) you'll see a patch assignment label.  This
will let you know where on the keyboard the currently displayed sound
file can be played as well as which key to play to hear the original
pitch (not taking de-tuning into account).  This information is also
displayed in the Velocity Keyboard window.  In place of the old "FILENAME
Active on Keyboard" message, you'll get something like "FILENAME Active
on C#3-A3, F#3".  This would tell you that the currently displayed sound
file is assigned to the range of C#3 to A3 with the original pitch
assigned to F#3.  When no transpose key is explicitly defined in the
patch, the system derives one from the SFM Octave Base parameter.  Any
such derived transpose key is displayed in parentheses.
Clicking on the patch assignment label will link you directly to the
I-page and back.  However it is not necessary to go to the I-page anymore
to navigate through your patch.  You can use the following commands from
the L-page:

F5 or <  Step down through the patch list
F6 or >  Step up through the patch list
F7  Decrement the partial
F8 or space  Increment the partial
1 2 3 4  Select a specific partial

If you select a different file in the patch from the L-page, the I-page
will reflect this when you next go there.  Using these commands, it's now
very easy to apply certain edits (such as changing start-, end- and
offset-marks, normalizing, reversing) to sound files within a patch
without disrupting the patch.  Bear in mind however that some operations,
such as extracting, clear partial 1 and place a newly created sound file
there.  Such operations of course will disrupt any patch on partial 1.

* Bug Fix:

The Zoom mode would not exit properly when invoking commands Q through W.
 This has been fixed.


* Mouse Activated:

You can now select any field on the I-page with the mouse.  You don't
even have to aim well since the field nearest to where you click will be

* "Default" Transpose Key Displayed:

A little background: Every Synclavier sound file has an Octave Base
parameter accessible from the SFM's "SET" screen.  This can be used to
specify both a default transpose key and tuning offset.  The default
Octave Base setting is 3.0900, meaning the third octave, the ninth pitch
up from C plus 0 cents (i.e., A3).  It's extremely handy to have sound
files automatically come up in tune when loaded from the B-page or
R-page, or when first typed into a patch on the I-page.

When a transpose key is not explicitly defined in the patch, the system
uses the Octave Base parameter embedded in the sound file as a default.
Unfortunately this has never been displayed, so the user had no way of
knowing for sure what the original pitch was, short of leaving the RTP to
go to SFM and look it up.  In order to always let the user know what key
to play to hear a sound at it's original pitch, all such "derived"
transpose keys will now be displayed.  You will be able to distinguish
between a transpose key explicitly defined in a patch, and one derived
from the Octave Base parameter, because the latter will be in parentheses.

I'd like to clarify one more thing about this murky subject.  When a
transpose key is typed into the I-page, it overrides the one derived from
the Octave Base parameter.  However, when a tuning offset is typed into
the I-page, it is combined with the "invisible" tuning offset derived
from the Octave Base Parameter.

* VK window patch assignment message:

The patch assignment message in the Velocity Keyboard window, referred to
earlier in the section about the L-page, is also emitted when an edit is
performed on the I-page.  This may seem redundant since it contains no
information that isn't already on screen.  This is done to replace any
earlier message (possibly placed there by the L-page or by a B-page or
R-page load) which may be rendered incorrect by the edit just made.

* Bug Fix:

Fixed a failure to update the tuning, total length or loop length
parameters in the Velocity Keyboard window when a partial was changed
with the space bar.


* Screen Rebounding:

The system now remembers the last two screens that you have visited.
When you exit a screen (by pressing ENTER), if you press ENTER a second
time you will be taken directly to the screen visited prior to the one
you are exiting.  (If you have only visited one screen, then pressing
Enter from the Main Menu will take you back to that screen.)  It is a
common working scenario to need to go back and forth repeatedly between
two screens.  Once you have visited two screens, you can effortlessly
switch between them just by pressing Enter twice from either screen.
Note that this works even with sub-screens such as the Keyboard Display
in the I-page and the various F-page screens.  You can rebound directly
to them without having to select them from their main screens.

* New Mouse Links:

Nearly every screen has an indication somewhere of the Current Catalog.
Many also have an indication of the Current Timbre.  We are in the
process of setting up mouse links so that clicking on the Current Catalog
label from any screen will take you directly to the D-page.  Once you
have selected a new catalog (or not), exiting this screen will
automatically return you to the screen of origin.  Similarly clicking on
a Current Timbre label will link you directly to the A-page and back.  At
the time of this writing, these links have only been added to the Main
Menu, The I-page and the L-page.  Hopefully by the release date most if
not all will be done.


Fixed a bug that prevented the mouse from working as expected when
clicked in the left or lower margins of the terminal window.

Fixed a bug that caused sound files with an Octave Base parameter of
6.0777 or greater to be out of tune and assigned to the wrong key.

Back to top of page

Submitted by Todd Yvega.  6/01/99

It has been discovered that if either the .INDEX subcatalog or the
.INDEX1 subcatalog exceed 65535 sectors in size, the index update
procedure can fail.  (The default size of the .INDEX subcatalog is 10000
sectors, so unless you resize it this won't be an issue.)

Upcoming news:  The Synclavier Music Printing software has been made
PowerPC compatible.  A "Capture Printer Output To File" option is added
so that your scores and parts can be imported into graphics applications
such as Adobe Illustrator.

Back to top of page

Submitted by Todd Yvega.  4/29/99


Following is a list of the new user definable defaults (beyond all the
usual Q-page stuff):
(The first two existed previously but were undocumented.)

MIDI Input Channel
MIDI Echo State

Keyboard Multichannel Routing   (for initialization)
On/Off status of the click      (for initialization)
Click Display Mode (BPM or ms)  (for initialization)

Click Rate                      (for null sequence)
Sequence Speed                  (for null sequence)

Enabled MIDI Real Time Effects  (for null timbre)
Velocity Sensitivity    & Response (for null timbre)

Final Decay*                    (for loading sound files)

* (Just set final decay of partial 1 before writing your defaults.  The
partial can be null - no need to bother loading a sound file first.)

Basically the way this works is you set all the values you want, then
"write defaults" on the Q-page.  From that point on, your Synclavier will
not only use these values when it boots up, but will also use the
appropriate values whenever you erase your sequence, SKT a null timbre
from a blank track, or load a sound file from the B- or R-page.  There
are several advantages to be gained from this which may not be initially
apparent, but I don't want to take the time right now to point some of
them out.  I plan to do so however in the release notes.

Back to top of page

Submitted by Todd Yvega.  4/29/99


I have completed overhauling the tempo/meter mapping stuff.

To clarify:  From it's inception, the tempo and meter maps played fine
when imported from a MIDI file or when created from a click track.  But
the tools provided for navigating and editing the maps were heavily
flawed, particularly in the case of meter events.  Typically after
inserting, deleting or changing just a few events, one would end up with
a corrupted sequence or a system crash.  The forward-step and
reverse-step functions were very unresponsive and frustrating, only
seeming to move about half the time and often skipping over events.
(Turns out they were doing their job but the displays weren't updated so
the user thought nothing happened.)  Often when inserting an event then
changing it, an event other than the one inserted was changed instead.
All in all, using it was like pulling teeth in a mine field and many of
us simply became conditioned to avoid using it if at all possible.

Now I find it to be quite accommodating and a real joy to use.  It may
take some time to unlearn some of those ingrained aversions.

Back to top of page

Submitted by Todd Yvega.  4/29/99


When erasing a tempo/meter map, you can now choose whether to preserve
your notes relative to the beat (i.e., sequence sounds different but
matches original click.), or to preserve their actual times (i.e.,
sequence sounds identical, but has no relation to original click.)

Use click-speed-erase to revert to unmapped, preserving beat relations.

Use click-erase to revert to unmapped, preserving actual times.  (Tip: If
you chain quarter notes on a track before erasing your map you'll have a
click track that matches the music.  You can use this later to recreate
your tempo map.)

Using this new feature in conjunction with the "Generate map from track"
feature (which now preserves durations), we can freely convert sequences
back and forth between mapped and unmapped types.  We can change the
number of "ticks" per quarter note without otherwise affecting the
sequence.  This will enable us to mix and match selectively recalled
tracks from any and all sequences regardless of their original tempos.
More on this in the release notes (if I can swing it.)

BTW, One minor thing on this subject: When erasing the tempo/meter maps,
the sequence's original tempo is restored.  That is to say, the tempo
which was set when the map was created, which the notes will still
correspond to.  Previously the tempo was left at the first tempo in the
map, which typically had no relation to the notes once the maps were
erased and hence was counterproductive for the user.

Back to top of page

Submitted by Todd Yvega.

Gee I'm sorry to impose on your respective in-boxes twice in the same
week, but the bug that I'm here to pronounce fixed had many enemies.

Anyone who has ever created a tempo map from a "click track" (by holding
click while pressing a track button) has probably noticed that the
durations were not preserved.

For example, all the legato notes in the sequence would get detached from
one another or would bleed over each other, depending on blah blah blah.
This problem rendered what would be a tremendously useful feature only
marginally useful.

Anyway, it's fixed.  With the next release, when you create a tempo map
from a track, the sequence will still sound exactly the same.

I think this will amount to a substantial gain in the utility of the
sequencer.  The modification that made this possible will also enable us
to make a function that converts a tempo-mapped sequence back to an
unmapped sequence that sounds the same (thereby enabling EditView to work
with it, etc.)

Back to top of page

Submitted by Todd Yvega.

I have just completed overhauling the code which handles MIDInet's
"Export MIDI File" feature.

Previous versions of MIDInet only generated MIDI files correctly if the
Synclavier sequence had one of the following 11 click rates in
milliseconds per beat:

30, 32, 40, 48, 60, 80, 96, 120, 160, 240, 480.

If the Synclavier sequence was a tempo/meter-mapped sequence, then
MIDInet only generated MIDI files correctly if the Synclavier sequence
was set to one of those 11 click rates at the time the map was activated.

At any other click rate, notes and other events would drift off the
click, and in the case of tempo/meter-mapped sequences, the tempos would
be wrong.

The new version generates MIDI files correctly for all Synclavier
sequences.  This version will be released in a month or so as part of
Release 4.20.

Another problem related to exporting MIDI files is that only the first 23
tempo events and the first 8 meter events were exported.  This was
actually a problem in the Synclavier's RTP.  I have repaired this as well.

Back to top of page

Submitted by Todd Yvega.

A bug has been discovered which occurs when storing on optical disk any
sound file exceeding 32 Megabytes in length.  I wanted to let you know
about a work-around in case any of you will be needing to do this.

€WHAT'S GOING WRONG: (skip if you don't care to know)

When you click on a filename displayed on the R-page, then click the
"Store" button, the system thinks that the file's length is its actual
length modulo 32 Megabytes (this means the remainder left after dividing
it's actual length by 32).
For example:

   a 33 Megabyte file will be saved as a 1 Megabyte file
   a 63 Megabyte file will be saved as a 31 Megabyte file
   a 65 Megabyte file will be saved as a 1 Megabyte file
   and so on.


Sound files exceeding 32 Megabytes in length will be correctly stored on
optical disk if you use the following roundabout method:

Click on the subcatalog's name rather than the filename, then click the
"Store Catalog" button.  Use the "VERIFY" mode so that you can skip the
files you don't want to store.  Once the intended file is stored, you can
click the "Abort" button.

Back to top of page

Submitted by Todd Yvega.

In case any of you will need to use the Kennedy tape drive in the near

I've discovered and repaired a bug found in all versions of FORMCOPY
since release 4.00 that prevents copying to or from the tape drive.

If you are using older Winchester disks (i.e., WREN VII or earlier) you
can still use a pre-4.00 version of FORMCOPY to copy to or from tapes.
However, if you are using newer large drives (such as a 9 Gigabyte), you
should only use the release 4.20 version of FORMCOPY for copying to or
from tapes.

Bear in mind that the tape drive is not usable while running the PowerPC
processor.  If you have the PPC processor upgrade and wish to use the
tape drive, you can bypass the PPC processor by booting from the floppy
drive (just like the old days).

Back to top of page

Submitted by Todd Yvega.

Subject: Converting Synclavier sequences to MIDI files using MIDINet

Many users have encountered problems with MIDI files that were exported
from the Synclavier using MIDINet.  Because New England Digital closed
down not long after this feature was developed, it had never been
adequately debugged or documented.  The problem is that this feature
works correctly only if the Synclavier sequence is set up in a certain
way, which is not explained in any of the manuals.  Moreover, if the
sequence isn't set up in the "proper" way, it will still be converted to
a MIDI file (misleading the user into thinking all is well) but the
converted file does not maintain the placement of notes relative to click
accurately (i.e., the notes drift as the sequence progresses.)  To solve
this problem, I offer the following tutorial:

How to set up a MIDI file compliant Synclavier sequence.

1.      Start with a null sequence.

A null sequence is what is current when the system first boots up.  You
can create a null sequence at any other time by erasing the *entire*
sequence (i.e., erasing the sequence when NO tracks are soloed.  Soloing
all the tracks and erasing them does not create a null sequence.)

Note:  Once you create the null sequence, it is important not to play it
until after you activate the tempo map (step 3).  This is because when a
tempo map is activated, a tempo event is placed at the beat where the
sequence is currently parked as well as at the beginning of the sequence.
 We only want a tempo event at the beginning.  When a null sequence is
created, it is automatically parked at the beginning.

2.      Set the sequence to 480 divisions per quarter note (the MIDI standard).

Press and hold the "click rate" button.  If the keyboard's window doesn't
display 500 MILLISEC, press the "continue" button until it does.  Dial
500 MILLISEC down to 480 MILLISEC.

3.      Activate the tempo map.

Press and hold the "click rate" button.  While holding it, press the
"start" button.  The Keyboard's window should now display 480,000 USEC.

You may want to reset your tempo display to Beats/Min.  To do this hold
the "click rate" button while pressing the "continue" button.  The
Keyboard's window should now display 125.00 BEATS/MIN.  You can now dial
this to whatever tempo you want.

Consider saving this sequence as a template so that you need not repeat
these steps in the future.

PS, MIDINet version 4.12 is screwed.  Use version 4.20 or 1.6.1.

Back to top of page

Submitted by Todd Yvega.