The Orchestra Editor for digital sound synthesis allows you to design a scheme of waveforms and instruments, then use this scheme to generate sounds.
WaveformOrch.xml implements each of the waveforms described in the
Catalog of Waveforms. It also implements an instrument imposing a simple envelope upon
an oscillator. This instrument provides one test tone for each waveform.
The text that follows explains how to view the various components of the orchestra, including the main document attributes,
the waveforms, the waveforms, the instrument, and its test tones. Once you have learned how to navigate to a test tone,
you'll learn how to generate a test wavefile, and to hear the result.
Initially, the orchestra editor should resemble Figure 1.
To load the file, click on and use the file chooser to locate
in its download directory.
Since many flavors of XML file are employed on this site, I like to clarify that a file describes an orchestra by appending “Orch” just
before the dot. However the Orchestra Editor enforces no such naming conventions. Instead, the file chooser checks file in the
current directory. If the file has an XML extension, the chooser peeks into the file to discern if it references the proper XML
XML files which reference the proper schema are highlighted in the file list (as are directories). Files without XML extensions, or XML files
which do not reference the proper XML schema, are greyed out.
Once the file is successfully loaded, the orchestra editor will display the file path and the topmost component of the configuration scheme. This new display is shown in Figure 2.
WaveformOrch.xmlhas been loaded.
To the right of the Orchestra: WaveformOrch component is a show-content icon (). Clicking on this icon reveals the child items shown in Figure 3. Notice that the show/expand icon toggles to a hide/collapse icon ().
Expand Attributes by clicking on the item's icon. This action reveals the document-attribute editing panel pictured in Figure 4.
Attribute panels are the exception to the practice of saving changes immediately to file. Within any attribute panel, you make whatever attribute changes you wish and then click on . The editor checks your choices. Only if it agrees with these choices does the editor save the changed attribute values to file.
There are five document attributes:
Continue your tour by hiding () the attributes panel, then expanding () the Waveforms collection. The editor should now appear as pictured in Figure 5.
Six new control icons are revealed in Figure 5:
Were just looking right now, so don't touch ANY of these. Instead, click on for Waveform #304: Rounded 4. Next, click on for both the Attributes and Harmonics items. The editor should now appear as pictured in Figure 6.
Waveform #306 in Figure 6 four harmonics. Harmonic #1 is the fundamental, harmonic #2 is the first (octave) overtone, harmonic #3 is the second (octave + fifth) overtone, and so forth. To view the amplitude and phase of the first overtone, click on for Harmonic #2 and click on for the Attributes item. The entry for Harmonic #2 should now expand as pictured in Figure 7.
Each Harmonic item has two Attributes:
WaveformOrch.xmlconsistently represent the largest amplitude (not necessarily the fundamental) as unity. When the Sound engine generates a waveform, it first uses the harmonic information to generate a raw shape, then normalizes this shape so that the largest sample magnitude is unity.
The tour now shifts from waveforms to instruments. Hide () the Waveforms collection, then expand () the Instruments collection. Expand Instrument #1: LinenOscillator; under that, expand Attributes, Parameters, Signals, and Units. The definition for Instrument #1: LinenOscillator should now appear as pictured in Figure 8.
Instrument #1 contains three units.
Note statements invoking Instrument #1 are expected to have 9 parameters. Of these, parameters 1-6 are predefined and unmodifiable (hence no shift-item-id icons). Explanations of these parameters may be found here. The definitions of 7-9 are specific to Instrument #1.
The tour now drills down into the current instrument's test tones. Under Instrument #1: LinenOscillator, collapse () the Attributes, Parameters, Signals, and Units items. Now expand () the Test Tones collection. The definition for Instrument #1: LinenOscillator should now appear as pictured in Figure 9.
To see how Test Tone #304: Rounded 4 links to Waveform #304: Rounded 4, expand () Test Tone #304: Rounded 4. Under that, expand both Attributes and Test Parameters. Now reveal the Attributes panels for Test Parameter #7: Amplitude, Test Parameter #8: Frequency, and Test Parameter #9: Waveform. Notice in Figure 10 that the value for Test Parameter #9: Waveform is 304.0, which is the desired waveform ID.
Collapse the items under Test Tone #304: Rounded 4.
To hear a test tone, you must first generate a wavefile. Clicking on the the run icon () initiates a progress dialog resembling Figure 11.
This dialog contains a text field identifying the wavefile path, a progress bar, and two buttons. You can click on to abort wavefile generation in progress. This button greys out when the file completes. Click on to return to the orchestra editor.
When the Sound engine has successfully generated a wavefile, a play-sound icon () appears just right of the run icon. Clicking will toggle the icon to and begin the tone. While the tone is playing you can click on to stop it. When the tone completes, toggles back to .
|© Charles Ames||Page created: 2014-02-22||Last updated: 2017-08-15|