Contents:
Virtual Composer is a virtual music editor, compiler and QuickTime Musical Instruments executor designed to execute perfectly time-wise complex polyphonic music using QuickTime's Musical Architecture. Its emphasis lies on manipulating a musical score in ways similar to a how human performer would execute a real score in an real instrument.
Being a professional pianist, I wrote this program to help me understand more how my piano pieces should sound, but have added several useful facilities to aid the professional musician/composer as well.
If you are simply looking for a simple way to turn your musical doodles into printable notation, this program is not for you. Buy another program.
The latest version of this program can always be downloaded from here.
To run Virtual Composer you need:
Virtual Composer needs the extensions QuickTime and QuickTime Musical Instruments. It also needs certain other components in order to be able to export as AIFF and MIDI, which in earlier versions were part of the basic QuickTime set but later were moved into other extensions. If you have a fast Macintosh, you can install QuickTime 6.x/7.x, but I found that version 5.0.1 fails miserably on my slower, Performa 5200CD, 75Mhz PowerMac because I use RamDoubler. (See section Known Bugs) You may want to stay with QuickTime 4.1.2 if you have a slower Macintosh with a clock speed of less than 200-250Mhz or not enough memory. If you have a 68k Macintosh, install QuickTime 4.0.3, which is the latest version that runs on 68k Macintoshes. You DON'T need the Pro version, but if you have it, you can do some serious music hacking on those exported MIDI files. (see Phil Taylor's Hack For Musicians below).
To summarize:
Virtual Composer needs at least the following components when you install, in order to function reliably, listed in order of importance:
The included Virtual Composer files are by:
Virtual Composer, ©Ioannis Galidakis, 1999-2002, all rights reserved.
THE AUTHOR OF THIS SOFTWARE, DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
ALL RIGHTS OF THE CORRESPONDING COMPOSERS, PRODUCERS, ARRANGERS, MIXERS, SOUND EFFECTS SPECIALISTS AND OWNERS OF THE WORKS REPRODUCED AND CONTAINED HEREIN, RESERVED WORLDWIDE. UNAUTHORIZED COPYING, HIRING, LENDING PUBLIC PERFORMANCE AND BROADCASTING OF THESE WORKS PROHIBITED. WHERE APPLICABLE, OBTAIN PERMISSION FROM THE OWNERS OF THE ABOVE WORKS.
Extended macro definition file "Bach Ornaments", courtesy and © Phil Taylor.
All scores of the "E-motion (part one) suite" project are © by Childe Roland of Aeon Music Productions and may not be modified or distributed without the explicit consent of the author.
"Prelude and Fugue" project and "Fugue for Prelude BWV 999" are © by Ioannis Galidakis and may not be modified or distributed without the explicit consent of the author.
"Immer wieder kehrst du Melancholie..." and "Yaaph" are © by Jean-Christophe Levinson and may not be modified or distributed without the explicit consent of the author.
Macintosh, Finder and QuickTime are © and registered trademarks of Apple Computer, Inc.
Petrucci font © by Coda Music, used with permission.
Other names and software © of their respective owners as applicable.
Converting
Files Created with Older Versions
If you have already registered Virtual Composer and you have created
files with versions of Virtual Composer prior to 2.9.5 use the enclosed
utility "Convert VCFile 2.7->2.9.5" to convert your files into the newer
Virtual Composer format. If you have created files with versions between
2.5 and 2.6.8 use the enclosed utility "Convert VCFile 2.5-2.7" to convert
your files to the newer 2.7 format. You don't need to convert the example
files. Only your own files.
NOTE: As of release (2.9.5) the file format has changed. Use
the enclosed converter to convert your files to 2.9.5.
If the converter fails to properly convert your document to version
2.9.5, try opening your document with Virtual Composer version 2.9.4, SaveAs
a separate file, and try to convert that via the "Convert VCFile 2.7->2.9.5".
If despite all your efforts the document still fails to be converted properly,
email
me the UNCONVERTED document and I will try to convert it for you.
Virtual Composer is a USD 50 shareware. If you like it you are expected to register it. The unregistered version is identical to the full version and fully functional, except that it cannot save files in its internal format. Otherwise the program is fully functional and you can edit and play to your heart's content. If you want to register Virtual Composer:
Send a check for the equivalent amount of $50 payable to me (Ioannis Galidakis), an International Post-Office Money Order for the same amount payable to me or the equivalent of this amount in CASH in your local currency wrapped inside Carbon paper inside a regular postal letter to my address:
Ioannis Galidakis
Achilleos 41,
P. Faliro, 17562.
Athens, Greece.
email
If you reside inside the European Union Euros are preferred. Otherwise send whatever currency your country uses.
Alternatively you could register online, through Kagi, here, if you desire to use a credit card.
If you register through Kagi, Kagi will send you a registration code along with your credit card transaction confirmation, usually within minutes.
After you acquire the registration number, select "Apple->Register...", input this number on the "Registration Number:" field, input anything you want on the "Registration Name:" field and click "Register".
For site licensing information contact me through email.
If you are a managing editor for a Macintosh magazine or an online distributor of software, you have my permission to distribute the entire Virtual Composer package exactly as it is when you download it from Virtual Composer's home page. You are NOT allowed to modify the package in any way and for every online distribution or magazine in which Virtual Composer gets distributed, you are expected to send me a quick email to tell me about it and for every magazine in which you include it, you are expected to send me a complimentary copy via snail mail at my home address (see Registration) of the specific issue in which Virtual Composer gets published.
Virtual Composer is a "linear" multichannel editor. What this means,
is that edited channels run in parallel.
Allowing a single channel to accept more than one note at a time, is
allowed by using chords but it is discouraged.
The "Linear" behavior is consistent when you create MIDI files which
have a specific number of channels, such as 8, or 13, and you are sure
that the final executable will contain EXACTLY as many channels as the
Virtual Composer document.
Before you enter a document's symbols you need to do one thing: First
find out how many Logical Pages you will need, which is easy: Count the
bars in your actual score, divide by 16 and add 1. The resulting number
will be the number of Logical Pages.
Then you need to divide your score into voices and this is slightly
more complicated. With multi voice pieces such as explicit 2, 3, 4 or more
voices where the composer wrote them explicitly as such it is easy because
the indications are already there by the composer or the edition you are
using. With cheaper editions however or with simpler melodies the voices
may not be immediately visible. You need thus to logically divide the notes
of the score into voices and decide which symbols go into which voice d
which symbols are going to be "incidentals". Usually the upper melody is
voice 1 so you can input it in Virtual Composer as channel 1. Then for
every lower voice place every note in channel number n starting with channel
2 and going onto lower channels until you exhaust all the notes. If your
score shows "incidental" notes (which are notes which do not have explicit
voices associated with them) place them inside chords in already existing
channels. (See also section on Chord Notes).
To activate a page for editing, select the Selection Cursor and click
inside a page once. Since only one active Logical Page can be edited at
any time, all editing operations apply only to the Logical Page you are
editing. In particular, you cannot select a range that crosses Logical
Page boundaries. Neither can you tie notes if the tie crosses Logical Page
boundaries. Cutting, copying, pasting and deleting of note ranges takes
place only within the edited Logical Page. Thus if you leave "gaps" in
a channel between Logical Pages the music will desynchronize since the
program's parser parses symbols by ignoring gaps. To avoid "gaps" and to
avoid missing accidentals, it is recommended that you select the command:
"Play->Check Syntax" after you input your score, which will show
you if there are any offending places. (See section Checking
For Syntax Errors below).
Editing operations are enabled only if the edited page is "In View".
That is if at least some part of the edited page is visible. If you move
onto another page where the original edited page is out of view all editing
operations will become disabled. All editing operations also will become
disabled if you select "Channel->Edit->None/Show All" or if you
disable a channel through "Channel->Activate n".
There are two ways to create chords. You can create chords that run
between channels or you can create chords within the same channel. Here's
an example on how to create a simple chord inside the same channel:
Here's an example on how to create a simple chord that runs between
different channels:
While you can create chords using either of the methods above, beware that if you apply any global controllers to a channel that contains chords, only the chord symbols belonging to that channel will be affected. So, in effect, stereo chords can only be created using the split-channel method above. Also, allowing chords inside a single channel ups the memory requirements of the program tremendously. So don't use single-channel chords unless it's really necessary. If you MUST use single channel chords, count the maximum number of simultaneous symbols in your music and enter this number in the "Max Chord Notes" field, to minimize the memory requirements for the new document. In other words, if your musical score does not contain chords with more than 2 simultaneous notes, don't input a number greater than 2 in the "Max Chord Notes" field.
You can tie consecutive notes or chords, but now that Virtual Composer allows single channel chords, there are some cases which may be indeed quite strange. Consider for example the following:
In the above example, the chord heads (E) are all tied. The first three incidental notes (C) are again all tied and the only "free" incidentals are the chord bottom notes, except for the last chord, where both incidental notes are free. In addition to all this, all chord heads have non-trivial ornaments. So what is the program supposed to do in this case?
The answer is basically dictated by the ornamentation. Since non-trivial ornaments exist on top of the tied notes, the ties on the chord heads are essentially ignored, whereas the ties on the C's are not. Such cases are indicative of the wild possibilities that can exist in Virtual Composer, but if you can avoid them, so much the better. The above case for example, could not possibly get converted effectively into abc.
Note also that a "tie" in Virtual Composer, denotes the explicit "lengthening" of a note's duration, whether because the tied TO note belongs to a different bar or for other reasons. You should not confuse a "tie" with a "slur". Virtual Composer supports only regular ties and not slurs. While ties can exist only between CONSECUTIVE symbols, slurs are an entirely different beast, and as such are not implemented in Virtual Composer.
Ties are allowed ONLY between notes of the same pitch or rests. However, it is conceivable that the user ties two consecutive notes and then "shifts" either member of a tied pair up and or down some. In such a case, Virtual Composer will pick up the LAST note and play that, ignoring the first note. Be careful not to create such situations.
If you wish to tie chords, all chord incidentals have to be of the same order in both chords. That is: In order for the second chord note of the first chord to tie to the second chord note of the second chord, they have to have the same "order". Order is determined by how you add chord notes below a chord head. If for example you start with two chord heads C, and add one E above the first chord head and one A below the second chord head, those notes have order 2. Now if you go and add an A below the first chord head and an E above the second chord head, if you try to tie these, the corresponding to be tied chord notes will not have the same order, so only the chord heads will be tied.
Thus, if you wish to properly tie two chords, you should first add the chord heads and then add correspondingly the incidental chord notes in the same order below or above the chord head.
Since virtual pages are independent editing sectors, you cannot have ties that cross page boundaries. This means that you cannot tie notes if the tie needs to go INTO bar 1 of the next page.
There are two solutions for this: The first is to silence the "to be tied to" note, if this note lies in bar 1. Select this note and reduce its volume to 0, to make it inaudible. In this case, the original note (the one the tie starts FROM) will naturally sound a bit shorter, since the tie will not be there, but you could also apply a forced sustain on it, to prolong its duration.
The second solution is to leave out the last bar on the offending page, and continue editing from the first bar on the next page. This way, you are transferring the contents of bar 16, 32, etc, onto bar 1 of the next page, into which you can tie normally.
Since the parser ignores gaps that occur at the end of the page, if those gaps occur in ALL channels, the compiler will parse the music correctly. See section on Tuplets on Page Boundaries.
To speed up editing operations recalculation of bars takes place when a bar is completed time wise (i.e. when the sum of all the symbol durations in a bar equals the Metre time). However recalculation may happen at any time that the program considers appropriate. The editor is optimized for speed if you are editing near the end of Logical Pages. What this means is that you get the fastest response if the bars past the edited bar to the end of the edited Logical Page are empty. If you have completed for example 100 bars on channel 1 the editor can be quite slow if you are editing bars near the beginning. It is therefore highly recommended that you input your symbols in parallel between channels rather than sequentially since the editor's internal symbol calculator recalculates the entire document starting at the current edited bar to gain speed. Also, keep in mind that the smaller the durations (thus the larger number of symbols per Logical Page) the slower the editor will be, as it has to deal with more data.
Replacing Symbols In The Middle Of A Page
Follow the steps below:
It is recommended that the to-be-replaced symbols and the replaced-with
symbols have equal durations. Otherwise your replacement may force major
recalculations.
When you select one of the "Play" menu commands that executes a Virtual Composer document or an AIFF file, the application allocates all necessary memory, queues the music via QuickTime's Music Architecture system and executes the music. Playing is asynchronous, meaning that as soon as the music starts executing, the application returns to its main operations allowing you to continue editing your document. After the music starts, you can easily switch the application to the background and continue working with other programs. If you have a fast Macintosh, you can leave Virtual Composer in the background while it is playing an entire folder. See section Playing Entire Folders.
You can search for three kinds of patterns through the following dialog:
A "naive" pattern is specified using the repeated syntax T[M], where T is the symbol type and M is an optional modifier accidental. If the symbol type is a note, T is the name: (A, B, C, D, E, F, G) and M is one of the following: [#, x, b, bb, a, aa]. If it is a pause, T is P. For example, the above pattern will force the program to search for a C, a B sharp, an E and a D. Similarly a pattern like "GA#CxPPDbGaBbb" will force a search for a G, an A sharp, a C double sharp, two consecutive pauses, a D flat, a G with an Anaeresis and a B double flat
The pattern is searched on the specified channel.
If option "Match Accidentals" is checked, the search algorithm will try to match the pattern exactly. If not, accidentals are ignored on both the specified pattern and the found pattern. That is, the pattern "GA#CxPPDbGaBbb" will match the more general channel pattern GACPPDGB and conversely, the pattern GACPPDGB will match all score patterns of types G[M1]A[M2]C[M3]PPD[M4]G[M5]B[M6], where M1, M2, ..., M6 are any accidentals.
An "intervalic" pattern is specified using an appropriate sequence of strings, "±n,"/"P,", where "+" or "-" represents the direction, "n" represents the step between two notes which can be either diatonic or chromatic and "P," represents a pause gap between two symbols where at least one is a rest, with a comma always appended at the end.
The following search example in the Fugue IV document, will pick up most occurrences of the main theme if "Diatonic" is on:
From C to B# there is -1 diatonic step, from B# to E there are +3 diatonic steps and from E to D there is -1 such step.
Similarly, if you wanted to use chromatic intervals, you could check "Chromatic" and search instead via chromatic intervals. In this case, your string would have to be "-1,+4,-1", as from C to B# there is -1 chromatic step, from B# to E there are +4 chromatic steps and from E to D there is -1 such step.
Finally you can search for rhythmic patterns if you check "Rhythmic":
A rhythmic search patters consists solely of the durations of the pattern notes in thirtysecondths. Thus, the string "32,16,16,32", above, will try to match instances of a whole, two halves and another whole. If you need to search for rhythmic patters which contain dotted notes, simply use their exact duration in thirtyseconds: I.e., a dotted quarter would be 12, a dotted eighth would be 6, etc.
If option "Wrap Search" is checked, the search algorithm will continue searching from the beginning on subsequent repeated searches via the "Find Again" menu item.
If you don't want to specify a search pattern explicitly through the dialog, you can enter it via the "Edit->Copy" or "Edit->Copy Bars..." commands. Simply copy something and then use: "Edit->Find Clipboard".
The search specifications are preserved, so if your search was intervalic, the clipboard is converted to the appropriate string before it is searched for.
Note: If you need to perform intervalic searches that contain pauses in them, use the symbol "P," as follows: Suppose you are searching for the pattern: ABAPDE. Your diatonic search string will then have to be: "+1,-1,P,P,+1,". In other words, you have to include the "P," symbol for every inconsistent pair: (note, pause), (pause, note), (pause, pause).
Also, if a contiguous note segment contains tied notes, you HAVE to
specify the tied notes as "+0,", otherwise the search will not locate the
desired pattern properly. For example, the following variant of the theme
(red), will not be picked up by a "-1,+3,-1," pattern search:
It WILL be picked up, if you used either a diatonic "-1,+3," or a chromatic "-1,+4" string or if you used an explicit diatonic: "-1,+3,+0,-1," or a chromatic: "-1,+4,+0,-1," search string.
All the above applies when the document contains chords as well, except
that your search specifications have to take into account chord incidentals
in the search order, IN THE ORDER YOU HAVE ADDED THEM. For example, in
the following:
You will have to specify the chord interval as well for a diatonic intervalic search, so you'd have to use "-2,+3,+1," for example, if you are searching for the first 3 notes. In this particular case, your search will be matched three times in channel 1.
Replicating The Exact Search Syntax
You can perform a cool little trick to see what the pattern of what you are searching for looks like. Here's a simple example:
Version 2.8.3 and higher supports stationery and locked documents. You
can create a stationery document by selecting "Save As..." and selecting
"Stationery" from the saving options popup menu. You can lock a
document via the "File->Lock..." command. A document can be neither
stationery nor locked (normal), stationery, locked or both. Here's a summary
of what you can do with the various states:
| Status\Function | Edit: | Play: | Print: | Export As: |
| Normal | Yes | Yes | Yes | All Types |
| Stationery | No | Yes | Yes | All Types |
| Locked | No | Yes | No | AIFF only |
You can revert a stationery into a regular document by unchecking the corresponding "locked" and "stationery" flags on the finder's info window, however you CANNOT revert a locked document, so exercise caution when locking documents. ALWAYS LOCK ONLY COPIES of your originals and NEVER the original. If you lock your originals you will not be able to recover them. I have added the locking option for composers who want to make sure that their documents will not be modified by other users when they distribute them.
Regular Virtual Composer documents have what is called in Mac parlance, a "resource fork". The resource fork is actually a separate file segment which can be manipulated with special routines and it exists only on a Macintosh. Windows files have no such fork.
Because the resource fork is proprietary to Macintoshes, it gets lost when a document containing such a fork is transferred in a network. Same thing applies to the Internet, unless before you send the file you first compress it using Stuffit and/or encode it using BinHex.
To overcome this problem, as of version 3.1 I have added provisions for the program to be able to save in a file that has no resource fork. I will herefrom denote this format, "Windows format", for obvious reasons, in that such a document cannot only be sent efficiently over the Internet without any encoding, but also because this format will be used in subsequent versions of Virtual Composer for Windows.
The Macintosh version of the program will open both kinds of file formats and read/write/play normally both of them. If you desire to send the file over the Internet, it is recommended that you save it first in this format. Then you can just attach it to your email message and send it over. It will be comfortably read by versions of Virtual Composer higher than 3.1 on either machines.
CAUTION!! Beware however of a little glitch: On the Macintosh, associations between applications and their documents are generated using an elaborate method of using "creator" and "type" codes, which you may be familiar with.
On a Windows machine, such associations are usually generated by observing the last three letters that are appended to the file name, after the dot. The so called "File Extension". Files or documents created in a Windows machine have no "type" or "creator" information that the Macintosh version of the program can use when it tries to open a file. As such, I have made provisions for the Mac version to also look for the extension ".vcw" and to treat such files as "openable".
Note however that "openable" in the Macintosh sense is not always the same as "recognizable" by the program, unless the document indeed contains valid Virtual Composer data inside. If you therefore create a file on a Windows machine or change the file extension of an existing file to ".vcw" and pass it to the Mac version of Virtual Composer and the file does not contain valid data, it can cause Virtual Composer the crash very badly.
A very crude test is made by Virtual Composer at the time of opening to try to ensure that the file is a valid Virtual Composer file, but there is a likelihood that the test may pass even though the file does not contain data the Mac version can use. In such a case, you will get the dreaded crash.
It is therefore advisable that you NEVER change the file extension of a file to ".vcw", unless you are certain that the file contains Virtual Composer data.
Virtual Composer files saved as Windows files will have a new desktop icon associated with them with the letters "PC" on it. To see this icon you need to rebuild your desktop, because the bundle resources of the program have changed and your Finder will not know about it until you rebuilt your desktop.
As of version 3.2, I have added one more file format to the available ones, which henceforth will be called "binary" or "executable". The corresponding saving option can be found in the Format popup menu when you save your document.
Executable documents contain nothing but the binary code that's passed into the QuickTime synthesizer, after you compile your score. They cannot be printed, but they can be edited. They provide for a convenient way to replay a long score quite fast.
Virtual Composer will open such a document and will allow you to "Play->Instant Replay" it. A small window with minimal information will be displayed while you have such a document open:
Saving in the above executable format is quite convenient for long scores which take a long time to compile.
As of version 3.5.9, you can export Binary Documents as
AIFF, MIDI or Movie. To do this:
Virtual Composer's Export Formats
You can export the music in a variety of formats:
Virtual Composer's Execution Clock
The following info is for people who would like to know the program's exact timing considerations:
The program's clock executes 512 units in one second. I have defined Virtual Composer's note durations to correspond to time "units" via:
dur/32 * 512, where dur takes the values (in thirtysecondths): [1 (= thirtysecondth), 2 (= sixteenth), 3 (= sixteenthDotted), 4 (= eighth), 6 (= eighthDotted), 8 (= quarter), 12 (= quarterDotted), 16 (= half), 24 (= halfDotted), 32 (= whole), 48 (= wholeDotted)].
Accordingly, Virtual Composer will execute exactly 32 thirtysecondths (or one whole) in one second, at tempo 100%. You can easily deduce all other execution speeds based on the value of the "Tempo" scroll bar. (For example, at tempo 50%, Virtual Composer will execute at half the speed of 100%, which gives 16 thirtysecondths (or one half) in one second. (To calculate the execution speed of tuplets, you need to do some simple math based on the sum time of the tuplet group).
Needless to say that all of the above applies only iff you have not accelerated/decelerated any sections of the document.
Versions prior to 2.8.3, were very sensitive to desynching when tuplets
were present in the document or if the document contained non-homogenious
accelerated sections. A simple and elegant solution has been implemented
in version 2.8.3 which corrects timing errors stemming from tuplets and
accelerated sections, roughly trying to re-synchronize the channels after
they have been desynchronized by either irregular durations or incorrectly
accelerated sections. As such you can now care a little less about desynching
in those cases and concentrate more on the music.
As of version 3.0 the accuracy algorithm has been improved further.
The algorithm now detects and accumulates desynchronization errors properly,
so many of the older examples that desynchronized slightly now sound almost
perfectly. Particular examples that were improved are: The Allemande with
the triplets from Partita #5 and Goldberg variation #20.
As of version 3.2 the resynchronization algorithm is now optional and the appropriate option has been added in the "Play->Preferences..." dialog: Automatically Resynchronize Channels.
Although it is recommended that you always leave this option on, its effects are most noticeable when the score contains a large number of tuples, irregular durations or non-uniformly accelerated sections.
You can still easily break the program's perfect timing, by accelerating/decelerating single channels. If for example, you ritard just one note on a specific channel, the rest of the notes on this channel will lag behind the music. Accordingly, this can be used to create arpeggios or other similar effects. I leave the details to your creativity.
If your Macintosh has poor sound output quality (less than 22kHz) or small speakers, a pair of earphones might help a lot. The best results can be heard if you have large external speakers or if you redirect the output to your favorite amplifier. In any case, headphones do make a lot of difference, so try listening to all the examples through a good pair of headphones. (I use the Sennheiser eh-1430). Alternatively, you can hook your Macintosh's speaker output to the back to an external amplifier and feed the music to your stereo system. The results of this are impressive.
Animation can take place on three windows: The main Music window, the
Digital Overview window and the Virtual Keyboard window. (from version
2.8.8 and above).
The animation on the main window simply animates the score symbols.
On the Digital Overview window it animates the digital note streaks. On
the Virtual Keyboard it animates the keyboard keys. To find out how to
animate the Digital Window and the Virtual Keyboard Window, consult the
corresponding sections: The Digital Overview
Window and The Virtual Keyboard.
Keep in mind that all animations are a function of your machine speed.
While most of the included pieces perform satisfactorily under their indicated
speeds on my 75Mhz Performa, don't expect the animation to be able to follow
the music if you set the score's speed to some ridiculously high value
like 200% and the score consists of 16ths or 32tdths.
I have tweaked the animation algorithm to the best of my knowledge,
but if you have a slow Macintosh, slower than 120Mhz, the animation might
break at high speeds.
It is also recommended that you shut down any background applications before
executing any music with animation.
With this note, bare also in mind that using any of the menus while the animation is active or clicking on windows will desynchronize it. You can, however, scroll the corresponding animated window to follow up the animation if the speed is not very high.
For best results, decide which window you want animated, bring it to the front and select "Play->Compile & Play All". Don't switch windows or pull down menus while the animation is active. You can however scroll the corresponding window to catch up with the animated symbols if option Autoscroll Pages IS NOT enabled. In general, the Digital Overview window offers the best total animation, since its contents are drawn very fast.
Many users have asked me to have the program scroll automatically to the new page when animation is active.
As of version 3.2, this is possible, but read the following VERY carefully. An appropriate option has been added in the "Play->Preferences..." dialog: Autoscroll Pages. This option works in conjunction with the option Animate Symbols and if you set it to on, the program will automatically scroll the display to catch up with the animation.
If the Autoscroll Pages option is enabled, the animation algorithm will automatically scroll to the appropriate place while the music is playing, including going back to replay repeated parts if option Honor Repeats is enabled.
Note however that because the autoscrolling option forces the program to swap pages in and out as appropriate, which in turn causes a slight delay when the page is turned, it is recommended that you don't use it if you want to animate the Virtual Keyboard window or the Digital Overview window. If you want those windows to animate smoothly, turn this option off. To summarize:
It is conceivable that channel 1 for example may contain less notes or be less "dense" than channel 2. In such a case, input 2 as the guiding channel, which will force the algorithm to observe this channel when scrolling forward or backwards.
Needless to say that you should avoid specifying an empty channel as the channel guide, because then autoscroll will not take place, as the animation algorithm looks at the locations of the channel that's guiding the animation. Since an empty channel has no symbols, autoscrolling will never take place in this case. In general, you should specify as a guiding channel the most "populated" channel in the document.
PLEASE, DO NOT INTERFERE WITH THE ANIMATION, especially if the option Autoscroll Pages has been enabled, once the document has started to animate. You can of course stop the entire thing by pressing Command-Period, but avoid doing anything else, as this may cause a horrible animation desynchronization.
Beware that if your machine is a slow one, the autoscroll effect may not quite work as expected. This feature also does not work on 68k machines. You need to be running the application in a PowerPC machine.
I have added a syntax-checking algorithm which simply checks for gaps
between pages and for missing or possibly forgotten accidentals. It is
HIGHLY
recommended that you perform a syntax check as soon as you finish inputting
all the notes in a new document. It will save you a lot of grief trying
to find out what's wrong and why the music does not sound right. The command
forces the program to notify you if you have forgotten to place accidentals
in bars and if there are time gaps between Logical Pages. If the "Syntax
Errors:" window comes up, double-click on one of the errors to be transferred
automatically to the offending bar and channel. Make your corrections and
recheck your document. To understand what Virtual Composer flags as errors,
you have to understand that Virtual Composer needs EXPLICIT accidentals
on all notes, except for those indicated on the scale signature. Thus,
the following example, even though not really incorrect, contains errors
that in similar situations may give you hard time and may have you searching
in the document for corrections: The third note in bar 1, C, will be interpreted
by the program to be a C natural, but technically it needs an anaeresis.
The same is true of the 4th and 6th notes in bar 2. Those G's will be assumed
by the program to be G naturals, but chances are that if you have altered
G into a G#, they will be erroneous.
Instead, the correct syntax should either be:
or:
Note that Virtual Composer simply ignores the sharp on the F since
F's are sharped to begin with.
The program usually ignores repeats in order to save memory. If you
want to have it honor any repeats, check option "Honor Repeats"
on the "Play->Preferences..." dialog. Doing so, forces the program
to reserve and allocate extra memory for all repeat symbols when parsing
the document channels and then plays through them properly. Because of
additional constraints when executing documents with repeats, the program
performs several additional checks, including a complete Syntax
Check. If any serious errors are found, the score will not be played,
contrary to the case where repeats are not honored, in which case the program
does not really care what's on the score and if all channels are properly
aligned. This happens in order to prevent the parser from parsing inconsistently
any potentially incomplete or misaligned channels between repeats. Repeats
have to be balanced and cannot be nested.
The following score for example will not play if "Honor Repeats" is
on, since the channels are misaligned.
The following will not play because the repeats are not balanced.
The following will play fine.
You should also avoid tying notes or pauses if the tie crosses repeat bars. The following will play, since technically there is nothing wrong with it, but musically it is nonsensical, so it will naturally desynchronize the parser.
Note that since repeats need to be balanced, you need to place an explicit repeat bar on the first bar, if you want bars 1-n to repeat. In official nomenclature a repeat bar on the first bar is not required, but Virtual Composer needs all repeats in pairs, so it is required.
From version 2.9.1 and above the program also honors alternate repeat bars via the use of two additional Cursors, the normal repeat (|1) and the alternate repeat (|2) Cursor. Selecting either cursor and clicking inside a bar, will place regular repeat markers above them:
In the above example, if option "Honor Repeats" is on, the order of the played bars will be: 1, 2, 1, 3, 4, etc. The syntax checker will perform additional checks which pertain to the alternate repeats. Those checks make sure that:
The current implementation allows for repeat sections longer than 1 bar. So, for example, the following case is also allowed:
Also, beware that accelerating/decelerating sections between repeats, may cause the music to desynchronize. If you want the last bar to decelerate or if you MUST create an ending effect in scores which contain repeats, it's best to leave the last bar or the bars which are accelerated/decelerated out of the repeats. If you MUST include accelerated sections inside repeats, read the corresponding Accelerando/Ritardanto and Desynchronization sections.
Ornament execution throughout history depended heavily upon many different factors, including, but not limited to, the era the music was played. In most modern implementations, most of the regular ornaments, such as mordents, inverted mordents and long trills start ON the note indicated by the ornamented symbol and THEN do the appropriate shake. For example a regular mordent on a C, will execute as C-D-C and an inverted mordent will sound as C-B-C.
Shakes and Crown Trills are interpretation-dependent, but generally they are executed similarly to how Virtual Composer executes them in real time.
At the time of Bach, however, those rules were not as clear cut and
several variations were allowed. The "official" rules at the time of Bach
were, for example in the case of C:
Mordent on C: D-C-D-C, UNLESS the previous note IS D.
Inverted Mordent on C: B-C-B-C, UNLESS the previous note IS B.
Long Trill on C: D-C-D-C-D-C-...., UNLESS the previous note IS D.
Such executions as the above, were actually what we call today "double-trills" and fell back to single trills only if the previous note was the same as the first note of the trill, to avoid unneeded symphony.
As of version 3.5.3, I have added options for activating/deactivating single/double trill execution, to conform with the rules of Baroque music. The appropriate option is "Baroque Style" in the "Play->Preferences..." dialog. If this option is checked, all trills will be double, regardless of what the previous note was, which will allow you to fine tune playback of your favorite baroque pieces.
To summarize: Virtual Composer will interpret trills as follows:
and Shakes, as follows:
Another options has been added: "Ignore All Ornaments" which will disable all ornaments, so you can see what the piece sounds like with no ornaments added, without removing the corresponding symbols.
Using Implicit and Explicit Ornaments
The ornament Cursors are helpful in creating note ornaments, but bare
in mind that in some cases they may be inadequate in describing the situation
exactly. Look at channel 1 at the start of the "Courante" for example:
The second note is an E and it needs an inverted trill. Virtual Composer's
internal mechanism interprets ornaments by simply picking the previous
note (for inverted trills) and next note (for regular trills) looking at
the scale signature. Since in this case the scale is G major, (and thus
there is no D#), the above example will incorrectly interpret this as E/D(natural)/E.
You would need to code such examples manually, as follows:
Another example where a trill would fail to describe the situation
would be the crown trill at the end of the "Gigue_pt1" and "Gigue_pt2".
One would think that the following should be sufficient:
but it's not. Even though the trill on D will start correctly as a
D# and the next note will be a correct natural E, the previous note will
be erroneous, as it will simply be C natural, conflicting with the C# alteration
on the previous notes. Instead, you need to code this also manually:
Different Metres and Signatures In The
Same Document
Sorry, no metre or signature changes in the middle of the document. Implementing this would be a tremendously big hassle and would present specific problems related to the way the virtual pages of documents are implemented. See section on memory. If you MUST create such documents, you can create two different documents in Virtual Composer with a different metre or key signature, export them as abc and merge them with BarFly. Check the abc section. If there enough registered user requests, I MIGHT consider it in the future.
Virtual Composer is NOT a fancy music printer. There are virtually thousands of parameters one may want adjusted or fine tuned when printing musical scores and those parameters really go far beyond the scope of this program, which is to create perfectly timed polyphonic music. Virtual Composer is just a "quick-and-dirty" printing solution, as it is basically aimed at musical performance. If you want fancy printing, you can export as abc and print via BarFly or buy Igor or Lime.
When you print a document the program divides it into Physical pages. A Physical page will be as much score as will fit in one Physical paper page. Since the length of the bars and logical pages is determined using strict mathematical distancing it is almost impossible to arrange the bars of a physical page to terminate exactly at the end of a line without altering the bar sizes explicitly contrary to their exact positioning. I may incorporate this feature in a later release if I have time and I can figure out how to do it without much fuss. (The author is working on a solution that will allow the program to print bars terminating exactly to the right of the page, but it will take a while, so don't expect it out soon).
You cannot alter any printing positioning parameters but you can alter the note stem height and the minimum distance between the notes. This should be enough to produce decent quality printouts barring exact bar termination. You can experiment with the various features of your printer such as reducing or enlarging the printout, printing in landscape mode or in high resolution mode. Before printing you might also want to remove all the extra colors which might have been used to accent certain notes. See the Edit Menu for this operation.
From version 2.8.6 and up you can get 3 lines per page in normal portrait
mode at 100% if the setting for paper size is set to A4. Since most printers
for US users default to "US Letter Size", you may want to set your
paper size to A4 if you want to print 3 lines per page. If you want more
than 3 lines per page, decrease the scale percentage to an appropriate
value.
You can also use Virtual Composer to print out empty Manuscript Paper.
Select "New" from the File Menu and print the blank document after
you set the Metre and Scale parameters. You can either set the number of
Logical Pages to and arbitrary large number or repeatedly chose the "Print..."
command until you get the desired number of Physical Pages from your printer.
You can use the "Play->Folder..." menu command to play entire folders. Here's what happens when you select this command: Virtual Composer at startup allocates a Play List of size equal to the "Size" number you specify in the "Play->Preferences..." dialog. This play list is initially empty. If you select "Play->Folder..." then Virtual Composer scans the contents of the selected folder and adds any of its own documents or any AIFF files it finds to the play list. Then it plays the Play List. Two things are important here: Subfolders are not added to the play list, unless option "Include Subfolders" on the dialog "Play->Preferences..." is checked and the files added to the Play List are added in the order they appear in the folder's Finder List View. So, if you have a project which contains many files, make sure you sort the files to your liking by adding special characters to the file names and the included folder names before building the Play List. To have the folder contents sorted correctly, you can add numbers at the beginning of their file names. Look at the "Examples" folder where some projects have their files numbered as such.
To interrupt the playing of a Play List, press "Command-Period". If you do while a Play List is executing, the entire Play List will be aborted and not just the currently playing file.
Play List playing is of course asynchronous, in the same way a regular "Play->Compile & Play All" is asynchronous, but when a Play List executes all the menus except the "Play" menu will be disabled, to prevent inadvertent modifications to the active document while it plays.
You can in principle play an entire folder or project in the background, after you select "Play->Folder..." but I do not recommend it, unless you have a very fast Macintosh. If you do, you can give Virtual Composer the folder and let the program deal with opening, playing and closing all relevant files in the background. Do not expect the application's performance in opening and playing documents to be of the same order as when the application is in the foreground. When applications are running in the background, there's always a severe speed penalty that has to do with the fact that the processor does not yield as much time to a background application as the time it yields to a foreground application.
Once a document has been compiled, it can be replayed instantly via
"Play->Instant Replay". The tune that's kept in memory is whatever
segment was last compiled and mixed. That is: The "replay" tune is updated
every time you choose "Play->Compile Only", "Play->Compile &
Play All", "Play->Selection", "Play->From Caret" or "Play->Backwards".
The replayed version does NOT reflect changes that may have been made to
the document between compilation and replaying.
You can replay instantly after changing any or all of the associated
QuickTime instruments. Once a piece has been compiled, change the channel
instruments to your liking and select "Play->Instant Replay".
You can also save your document as an executable which can be loaded and replayed instantly. See section on Binary Documents.
Activating/Deactivating Channels
You can use the "Channel->Activate n" menu to create all possible voice combinations in a document and to create their corresponding mono/stereo AIFF files (below). Disabling a channel removes it from the editor and the channel will not participate when the music plays. You can also use this feature to create multiple printed copies of the same document if your document gets cluttered from having many channels printing only the channels you are interested in seeing. (You could for example print both the Saraband and the Double off the Coupled files by disabling the corresponding channels).
The Global Channel Controllers
Versions 2.9.1 and above add advanced global channel Controllers. These controllers are INDEPENDENT of the actual document contents and operate solely on the basis of the QuickTime synthesizer. They are initialized just before mixing occurs and are applied to each channel separately.
Here are some of the most common ones:
CAUTION! Playing a regular CD may temporarily disable the "Stereo/Pan" controllers. If you hear no stereo from Virtual Composer and the controllers are correctly set, restart your machine and launch Virtual Composer PRIOR to playing any CDs.
NOTE: The following controllers DO NOT work with QuickTime 4.x/5.0.1/5.0.2:
Breath, Foot, AfterTouch, Tremolo, Sostenuto, SoftPedal, Chorus, Celeste and Phaser. Apple has been notified of this and in fact the QuickTime team has confirmed that this is a known issue, but don't expect it to be fixed any time soon. The reason probably being that the original engineers who programmed these features in QuickTime have by now left Apple, so pretty much no one knows about their proper use, except me and Phil Taylor. However, should there be a future QuickTime release that fixes those controller bugs, Virtual Composer will honor them, since it follows stringent programming guidelines and the application's implementation is not dependent on those bugs programming-wise.
(At the time of this writing, QuickTime 7.x is out, but I haven't had a chance to check whether Apple has fixed this bug or whether these controllers work with the newer QuickTime version).
If you are an advanced QuickTime Hacker, you can fiddle with the QuickTime controller knobs after reading Phil's Advanced Hack for Musicians and be able to tweak some of the ones that don't work so that they may in fact start to work, but I don't recommend it. Do it at your own risk.
(For example, the "Sustain" controller works, but if your instrument is a continuous sound one, like a violin, the sustain will be infinite and the sound will never pause. This is because this controller defaults to "infinite sustain" in QuickTime. By creating a new instrument which has a specific non-infinite sustain, you may be able to change the effect of this controller).
In addition to the Global Channel Controllers above, you can add local
QuickTime Controllers that act on individual notes. A new Cursor has been
added as of version 3.0 which resembles a little scroll bar. To add a local
controller, activate this cursor and click against a symbol: A similar
scroll bar icon will appear at the bottom of the page:
If you subsequently click on this icon, the local controller settings
dialog will come up. It looks like this:
The QuickTime Controller popup menu allows you to select from within the same selection as the corresponding Global Channel Controllers. The main difference here is that local controllers OVERRIDE the Global Channel Controllers on a per note basis: While Global Channel Controllers act on an entire channel, the local controllers operate locally and may very well override any Global controllers you may have set.
What this means, is for example, that while by using the Stereo controller you could send an entire channel to the left speaker, you can, now using local controllers, control where individual notes get sent, independent of what the global controller does.
A couple of notes here: Local controllers ALWAYS operate on pairs. That is, if you activate a local controller that alters the Portamento for example, you need to have another one later on, to cancel it. Otherwise, the Portamento effect will affect all the notes from the note is applied on, till the end.
You can delete individual controllers using the Eraser Cursor, but any editing operations such as cut/clear/paste, will remove the controllers from the caret ON.
If you save your final piece as an AIFF file you will notice the QuickTime sound export dialog that allows you to specify the output options for the file (below). These are the File Use (mono/stereo), the Sample Size (8 bits/16 bits) and the Sample Rate (44.1kHz, etc.).
In versions prior to and including 2.9, Virtual Composer put all the music into one QuickTime Music track, with a Pan (more commonly known as "Stereo") setting of "middle". This necessitated the use of splitting the music into separate AIFF files and then joining them to create true Stereo AIFF files.
From version 2.9.1 and above you can make use of special global channel controllers and particular the Pan/Stereo controller which can distribute the sound uniformly between the two speakers in your Mac. So now there are two ways to produce full stereo files:
The new way via use of controllers:
Follows a simple example of how to create very high quality stereo
AIFF files by using QuickTime's global channel controllers:
The old way:
Follows a simple example on how to create very high quality stereo AIFF files by using Virtual Composer's "Play->AIFF->Mix..." file command:
Note that you can reverse the speaker channels by reversing the order of file selection in the subsequent dialogs of the "Play->AIFF->Mix..." command. This means that the file you pick first will go to the right speaker. The second file will go to the left. Reversing the order -i.e. picking the second file first- will naturally reverse the speaker order.
Note also that by creating stereo AIFFs you may encounter the QuickTime bug. In particular spurious notes in the AIFF, including the final ones, may not sound right. (Notes shorter or longer). See section on Known Bugs, below.
AIFF export dialog settings are preserved as defaults if you save your preferences at least once.
Pieces that are variations of themselves can be coupled easily with
the command "Play->AIFF->Mix..." The Sarabandes and Doubles from
English Suite #6 by Bach and by Handel are such examples. The double is
a very close variant of the Saraband so it can be coupled with the original
so you can hear both at the same time.
This effect could have been achieved by creating a single 10-channel
file and putting all the notes from both the pieces in but this would have
cluttered the score. (I have added those corresponding files anyway, named
"Coupled". You can achieve the results below by disabling the corresponding
channels on the Coupled scores). Instead, follow the steps below to listen
to what both pieces actually sound like:
You can save segments only of the score as AIFF/MIDI files, by selecting a range of symbols with the Selection Cursor prior to selecting "Save As..." AIFF or MIDI. The saving procedures of Virtual Composer look at your selection first and if it is non empty, they save what's under the selection (all channels). If the selection is empty, Virtual Composer saves the entire file. NOTE: If you have deactivated some (or all) channels under the selection make sure that the selection is non empty. Otherwise the program will generate an error.
Creating AIFFs of Documents With Different Time and Scale Signatures
You cannot change the Metre or Scale signature in the midst of a document. See Different Metres and Signatures. However, this is not really a nuisance, since you can create two separate documents (having different Metre signatures), save them as AIFFs and then stitch them together via "Play->AIFF->Join...". The Lute Suite contains several files with some of them having different time signatures. Consult the section on Mastering Large Projects.
You can use the "Set Volume..." settings to enhance the music considerably. You may want for example to make a theme more audible. This involves a few steps:
If you check option "Display Dynamics" in the "Edit->Preferences..."
dialog, Virtual Composer will display for you the dynamics of the entire
piece at the center of all pages:
While this can clutter the score considerably, it is not much of a nuisance and you can easily discern which parts the dynamics indicate, particularly since the indications are always associated with their corresponding channels. It is obvious for example, above, that the ffff's correspond to the blue, red and green voices, while the solid mf's correspond to channel #1.
The approximate mapping that Virtual Composer uses between volume percentage and markings is as follows:
90-100: ffff
80-89: fff
70-79: ff
60-69: f
50-59: mf
40-49: mp
30-39: p
20-29: pp
10-19: ppp
0-9: pppp.
Changing the Staccato of Notes
You can use the "Set Staccato..." dialog to create staccato effects similarly to using the command "Set Volume..." above. Select the range of your choice and then select "Set Staccato...". A note with a staccato setting of 100% is continuous and sounds for its full duration. Settings of x% force the note's sound duration to be (actual time duration) times (x%), without altering the note's actual time. If a note's staccato is less than or equal to 80%, it will be indicated graphically on the score.
Accordingly, if a note's staccato is GREATER than 100%, the note will behave as if it is sustained through a mechanism similar to the Pedal mechanism on the piano. If this is the case, a small pedal mark will be displayed at the bottom of the page.
Changing the Staccato and Volume Settings Globally
You can change an entire document's settings using the global "Channel->Set
Volume..." and "Channel->Set Staccato..." dialogs. You can also
selectively change the Staccato and Volume of individual groups of notes
via the the corresponding dialogs in the "Selection" menu. The global
Volume and Staccato dialogs are very similar:
In the above example, clicking "OK" will set the volume of all eighths in channel 1, to 50%. If you had clicked "All Channels" instead, all eighths in the document would have been set to a volume of 50%. The Staccato dialog is very similar. You can optionally remove any previous individual settings, by specifying first "All" on the popup menus, with Volume and Staccato set to 100%, but this is not required.
In addition to the "Sustained Attack" effects which are simulated by setting the staccato percentage of notes in a selection to values GREATER than 100%, one can easily simulate what's called in official nomenclature, a "Delayed Attack".
Notes with a delayed attack, sound a bit after their corresponding score time. You can simulate such notes, using the following logic:
The Editor in Virtual Composer allows for chords which can consist of BOTH notes AND rests, provided the CHORD HEAD is a note. Therefore, you can input a chord whose head is a note and all the rest of the chord symbols, i.e. the chord incidentals, are rests. If now you force the chord to be an arpeggio, by clicking on the chord head with the arpeggio Cursor, the compiler will be tricked into thinking that the entire chord should be played as an arpeggio.
But all the bottom chord notes are rests! Which means that the compiler will execute the chord head after as many delays are introduced by the chord incidentals, forcing the chord head to sound a bit after the chord's time. Here's what it looks like in practice. The notes in red will be played as if they were delayed:
You can in principle create many variations on the above theme, by noting the many different parameters here. The basic parameters are, the number of symbols in a chord (let's say n) and whether arpeggios are executed as thirtysecondths or as sixteenths. Following this, one can easily see that the "delay" after which the chord heads in the above example will be executed, will be precisely 2 thirtysecondths AFTER the corresponding chord time, if option "Arpeggio Chord Notes" is set to 1/32, or will be 2 sixteenths AFTER the corresponding chord time, if the same option is set to 1/16.
In general, if n is the number of symbols in a chord and all are rests except the chord head which is a note, then the delay for the chord head will be:
(n-1) * x, where x is either sixteenths or thirtysecondths, depending on the option "Arpeggio Chord Notes" in the "Play->Preferences..." dialog, when you execute the music.
Note, of course, that this also forces the chord head to sound PAST it's actual time, by the amount it was delayed. So, if you want to be really diligent about it, you could apply an appropriate Staccato percentage to the entire chord, to reduce the individual symbols' durations, so as to shorten the duration of the chord head, a bit.
The possibilities here are too many to list individually. Feel free to experiment.
The "Selection->Set Volume... " dialog allows you to simulate real crescendo and diminuendo situations based on the starting and ending scroll bar values. The volume of the first note in the selection range will be set to the start volume, the volume of the last note in the range will be set to the end volume and the volume of all the notes in between will be set to a uniform increasing/decreasing sequence of volumes between the end values. Only notes are affected and if there are pauses in between they will be treated as if they were null notes. (In other words pauses will belong to the increasing/decreasing sequence but their volumes will be zero). (Fugues XX, VI, the Fughetta, the Minuet and the Preludes have been manipulated in this way).
The "Set Accelerando..." dialog allows you to micro-tune the speed of individual notes. After the dialog is brought up you can specify the amount (as a percentage) by which to accelerate or decelerate your note range. While this works as you should expect, beware that it can cause your music to desynchronize. This means in particular, that if you want a whole section to accelerate or ritard, you have to apply the settings dialog to ALL channels that fall under the selection or check option "All Channels" in the "Set Accelerando..." dialog and even then this is not guaranteed to not desynchronize the music. It is useful for creating "ending effects", effects where moderate sudden acceleration or deceleration is needed, such as when the document falls out of sync after a streak of tuplets or to break the program's perfect timing. Use it judiciously and with caution. Do NOT use it to change the overall speed of the score. Use the "Speed" scroll bar control in the "Play->Preferences..." dialog, instead. The example file "Prelude" from Suite IV has been modified at its last bar to create an "ending effect" using this feature. The "Prelude" from the Lute Suite has also been accelerated at its beginning as well as "Fugue XX".
Here's an example on how to accelerate/decelerate an entire section:
In the above example, the music will start with a speed of 100% that of the speed of the piece in the "Play->Preferences..." dialog and will decelerate uniformly to 50% of the actual speed at the end.
The acceleration works as follows:
As of version 3.4, the fermata factor in the "Play->Preferences..." dialog can accept extended input, allowing the possible factors to vary from 1 to 300% times a symbol's actual duration. This means that whereas in earlier versions the shortest duration you could have was one thirtysecondth, from version 3.4 and on, this value drops down to a hundredth of a thirtysecondth.
Values in the range 1-99% actually now SHORTEN the duration of the symbol the fermata lies on, so in this case it's more properly called a "negative" fermata. Values in the range 101-300% EXTEND a symbol's duration.
Of course negative fermatas in the range of 1-20% are ridiculous and will not even produce audible sounds except as clicks. However, on higher duration notes, namely quarters, halves, etc, putting a fermata on top of them and then setting the fermata factor to small values can force the program to simulate various non-existent features, such as appogiaturas or even luftpauses.
As with the regular applications of the fermata, you should place fermatas on all corresponding symbols in all channels, otherwise you risk throwing the channel out of balance.
The fermata factor is global and applies to ALL symbols in a document that have a fermata on them.
WARNING!! If you have older documents which used the old fermata format, they will now show a fermata of 2%, since the fermata input was changed from being an absolute multiplier (2 for example) to a percentage (200%). Open all your older documents, select "Play-Preferences...", change the fermata to a percentage and resave your documents.
The Virtual Composer examples have been converted automatically.
You can easily simulate a luftpause, by judiciously applying a fermata on the symbol PRECEDING the symbol which should have a luftpause before it. Here's an example:
Suppose you want a 1/32 luftpause between two quarters.
In all similar cases, Virtual Composer will display a small comma after the note which has such attributes, called, in official musical nomenclature: a Luftpause. An example document has been included in the Examples folder.
As of version 3.1 you can simulate arpeggios directly via the use of the Arpeggio Cursor. Input a chord normally, then select the Arpeggio Cursor and click on the chord head, making sure the tip of the Cursor clicks exactly on the chord head. The chord will then change visually to a chord with the familiar wiggled symbol to its left:
Chords which are arpeggiated, can be basically executed in two different ways, depending on the option "Arpeggio Chord Notes" in the "Play->Preferences..." dialog.
If option "1/32s" is clicked, the arpeggio chord notes will be spread out like thirtysecondths. If option "1/16s" is clicked, the arpeggio chord notes will be spread out like sixteenths. Look at the new included document, the Chopin Etude #5 to listen to how arpeggio chords sound when both options are enabled.
The arpeggio facility can also be used to simulate notes with a Delayed Attack. See the corresponding section.
Caution!! The arpeggio algorithms, assume that the chord to be arpeggiated has the correct internal structure and the notes have been input in descending order. I.e., it assumes that the chord head is the top note and the chord incidental order is the same as what is visually shown. In other words, the input incidental order is 2, 3, 4,... from top to bottom. If this is not the case, that is, if you input chord note incidentals which are not hanging at the bottom of the chord, the arpeggio algorithm will play a different arpeggio which will match your incidental input order. In such a case, the arpeggio symbol will not cover the entire chord. This is not really a bug. The arpeggio algorithm parses chords in exactly the order you input them, so if you intend to use arpeggiated chords, please input them from top to bottom always.
Alternatively, you can simulate arpeggios via the use of "Set Accelerando...".
By using some simpleminded logic, you can force one ore more channels to
lag behind, thus giving the impression that chords are played as arpeggios.
Here's an example. Suppose you have the following score segment:
Let us simulate some arpeggios on the first 7 chords:
All the above modifications in conjunction with the creation of Stereo AIFFs can produce some impressive results, which will depend on the effort you make and the particular modifications themselves. The combinations are many.
As of version 3.3 I have added an advanced heuristics facility. The facility's dialog is intended as an aid to the user to be able to set some of the basic parameters which control the volume and the staccato of an entire channel (or an entire document). Please use it judiciously and with caution, since the changes are not undoable. Here it is:
Most of the options are self-explanatory, so I won't go into detail explaining them one by one. I will only mention some things which I consider important in the dialog's application:
The application of the entire set of options can be either RELATIVE or ABSOLUTE.
If you set either option: "Initially Set Channel Volume To:" or "Initially Set Channel Staccato to:" to TRUE, all the options are applied AFTER the entire channel is reset to the values shown on the scroll bars to the right of these options. If BOTH these options are set to off, the entire set of the rest of the options is applied ON TOP of the channel's existing settings.
The subsequent volume and staccato percentages shown as Accent/Soften, Sustain/Shorten, are the actual values which get applied to the symbols that meet the program's criteria. In the above example, all accented notes will be set to volume 95%, all sustained n