Page  00000355 {TranSpell} Kazuaki Shiota University of Cincinnati College-Conservatory of Music Abstract This paper presents further development of real-time performance system, {TranSpell} 1, begun in 2005 and built using Max/MSP. {TranSpell} allows users to synthesize by extracting overtones from two fundamentals in real-time. The software is designed for composing a spectrally-based or microtonal music. The goal of this application is to create smooth transitions between two notes via extracted overtones in real-time process. The overtone extraction theory, controllers, TranScript scripting, timeline editor, MIDI protocol, interaction, and refinement of graphical user interface have been newly implemented within {TranSpell} and provide composers with a better musical environment not only to create works, but also to perform in real-time. {TranSpell} runs on Mac OS X and Windows XP. 1. Introduction In 2005, {TranSpell} was used for composing music for fixed media, films, and installations. Such pre-recorded sound files were incorporated with my live electronics music, but {TranSpell} was not capable of dealing with real-time performance. In 2006, I solved the problem, and performed with {TranSpell} at a Master's Recital and various concerts. NeXT Ens, the electro-acoustic chamber music ensemble, also performed a work using {fTranSpell} at several universities in the United States of America. Despite this progress, the environment for editing parameters was not suitably designed for users: over 20 parameters were manipulated in a single cumbersome list. Users were not able to save parameters individually, which also made the CPU usage heavy. The implementation of TranScript, however, solved the problem. TranScript allows users to control a number of sound attributes while reducing CPU usage. Moreover, the MIDI protocol has been implemented so that {TranSpell} not only can save data as a sound file but also SMF (Standard MIDI File) in order to print out or analyze the score. A SMF can be converted into the pitches of {TranSpell} so as to return to the original tuning system that contains microtones. Also, {TranSpell} allows users to interact with a MIDI keyboard. With use of the aka.appleremote2object created by Masayuki Akamatsu, users control the parameters with the Apple Remote Handler. Therefore, the real-time performance including interactions has been improved. The overtone extraction theory became able to deal with any microtonal intervals. Since { TranSpell} runs based on the over tone 1 The synthesis method was described in a previous paper [Shiota, 2006]. 2 Aka.appleremote object was developed by Masayuki Akamatsu. 355 extraction theory, the first section discusses the overtone extraction theory. The next sections concern TranScript, MIDI protocol, interaction, and GUI. The figure 1 shows {TranSpell}. The main window includes the notes, and the controller windows surround it. The TranScript text window is located on right. 2. Overtone Extraction Theory Overtone Extraction Theory is a theory of a synthesis method that extracts common overtones from two fundamentals. The extracted common overtones are called pivot tones, and they create a smooth transition from one fundamental to another: one fundamental can move to the other harmonically supported by the pivot tones. Thus, the name of {TranSpell} was derived from this smooth transition. 2.1 17 Notes Although the number of partials can be extended as many as possible, it is necessarily to decide the limit of the partials for practical use. This version of {TranSpell} allows users to deal with 17 notes; 15 partials and two fundamentals. The following procedures show how to create the 17 notes in the main window. First, the number of extractable overtones is 32 3 Second, due to octave equivalence, Shiota's overtone extraction theory excludes even numbered partials, which makes 164. Third, another fundamental is added to 16 in order to extract overtones. There are no restrictions on the selection of the second fundamental. Thus, 17 notes appear in the main window. 3 Current version of {TranSpell} is capable of dealing with 32 partials, but it can be expandable in the future. 4 Further discussion of Shiota's overtone extraction will be presented in other paper.

Page  00000356 2.2 Microtonal Intervals 3.2 The Main Window Overtone Extraction is executed within {fTranSpell} whenever the interval of the two fundamentals is changed by the user. In the previous version of { TranSpell}, the smallest interval was a semitone. In other words, the interval of the two fundamentals is limited to 12-tone equal temperament. The new version, however, allows the users to set any microtonal interval for the fundamentals. If the users set a microtonal interval, partials are synthesized from the interval, which can be derived from any equal temperament. Further discussion is presented in the next section, 3.2 The Main Window. 3. TranScript In the name {TranSpell} the curly braces surrounding the name refer to its scripting language, TranScript. Since TranScript can control any tasks that { TranSpell} can execute, the users can save time in composition by using a script instead of changing parameters of number box and sliders with mouse. However, in the beginning, learning the new script language take some time: the users have to learn the exact names of the commands that execute desired commands. For example, if the users want to raise the volume up to 100%, they have to type "volume 10.0" in TranScript in order to make this change. Even though they have memorized the commands, they have to type them correctly. 3.1 Auto Script TranScript, however, automatically creates the script corresponding to the changes the users made if the user _presses MD. So, they do not have to type the command such as "volume 10.0". This method also applies to multi parameters so that the user can save as many parameters as they want. The old version of { TranSpell} was not able to save parameters individually, which made the CPU usage heavy. There are 116 parameters and all of them can be saved if they press M T. So, all what they do is to listen to the sound with changing the parameters, and press either RD or MT. Additionally, the saved TranScript is editable in the TranScript text window. The date and time is also saved, so it will be helpful for editing. If they create another set of parameter settings, the new one will be automatically separatede by theocurly sbra e s. Onc ithe parameter armea bar in the TranScript Console (figure 2). Once the users selects a script out of the pop-up menu bar, the save parameters will be reloaded on the sliders. In the main window, users set the parameters of the following parameters and create the TranScript. The parameters, such as fundamental, interval, pivot tones, volume, tuning system, and filter type, construct the raw pitch structure of the 17 notes. The following TranScript, 5-tone-ET, extracts partials from two fundamentals. "Fundamental-I" defines the pitch of the first fundamental that is 36 in MIDI pitch value or C2. "Interval" defines the interval between the first fundamental and the second fundamental. The smallest step of five-tone equal temperament is 2.45 semitones or 240 cents. So, the second fundamental is 36 + 2.4 38.4 in MIDI pitch value. If the type of pivot tones is defined as 1, the overtones are extracted based on the first fundamental (figure 3). If the type of pivot tones is defined as 2, the overtones are extracted based on the first fundamental (figure 4). Comparing the two sets of the extracted overtones, each partial is almost identical to the corresponding partial from the other series. Thus, their proximity is called pivot tones in order to execute harmonic smooth transitions based on two fundamentals. { 5-tone-ET Time 21:05:20 Date: 04/14/2007 Type: still: fragmented fundamental-i 36.000 // MIDI pitch value (C2) interval 2.400 // 12ET/5ET 2.4 semitones I As a result of executing this TranScript, the users can extract seven common partials between two fundamentals. The microtonal information of each extracted partial appears below the notes. The parameter below shows how far off the pitch is from 12-tone equal temperament indicated in cents. Figure 3. Extracted overtones based on the first fundamental C2 (36.0 MIDI pitch value). Figure 2. TranScript Console. Interval= 12/nth equal temperament. 12/5 = 2.4. 356

Page  00000357 I l-- -| -- -- - -- - - - it............................ Time: 0 ' 7 " 899 "' --> note-index 15 127 Time: 0 ' 8 " 54 "' --> fundamental 40.67 End: 0'9" 187'" I TT *^ ^ir). -IL Figure 4. Extracted overtones based on the tirst fundamental D2 and 40 cents (38.4 MIDI pitch value). 3.3 Controllers There are 14 small windows surrounding the main window, called controllers. Controllers control the sound attributes of 17 notes. 1. Auto-Panning 2. Glissando 3. Amplitude 4. Resonance 5. Octave Transposition 6. Cent Modification 7. Volume Fader Speed 8. Feedback Protector 9. Amplitude Range 10. Drone 11. Percussion 12. FM 13. Affinity of Tones 14. Sound File 3.4 Real-Time TranScript TranScript also saves a sequence of events, which is called "Real-Time TranScript". Once pressing NH, TranScript is ready for creating a Real-Time TranScript. Whenever the user changes a parameter, each parameter and event time is saved in TranScript, and NP stops scripting. The following is a Real Time TranScript. The left column indicates the events in time, and the left column indicates the commands. "Note-index" indicates the partial number and the velocity which range is from 0 to 127. { Real-Time-1 Type: motion Time 19: 23: 26 Date 4 / 24 / 2007 Time: 0 ' 0 " 0 "' --> fundamental-1 45.13 Time: 0 ' 0 " 10 "' --> note-index 15 127 Time: 0 '2 " 74 "' --> note-index 15 127 Time: 0 '4 " 170 "' --> note-index 15 127 Time: 0 '4 " 687 "' --> note-index 19 127 Time: 0' 5 " 429 "' --> note-index 17 124 Time: 0' 5 " 903 "' --> note-index 15 127 Time: 0 ' 6 " 162 "' --> note-index 15 127 Time: 0 ' 6 " 672 "' --> note-index 19 127 Time: 0 ' 7 " 423 "' --> note-index 17 124 3.5 Timeline The users are enabled to create a timeline that consists of fragmental parameters (created by ND), entire parameters (created by UNT), and Real-Time TranScript (created by NH). Once pressing NU, TranScript is ready to create a timeline. Whenever the user selects the name out of the menu bar in the TranScript Console, each name and event time is saved in TranScript, and NP stops creating a timeline. Therefore, the user does not have to type anything to create the script. The user is able to edit the TranScript to adjust the parameters. The following timeline includes entire, fragmental, and real-time parameters. The left column shows the event times, and the right column shows the event names. { Timeline-1 Type: timeline Time 18: 57: 49 Date 3 / 30 / 2007 Time: ' 0 " 0 "' --> # Entire-1 Time: 0' 1 " 239 "' --> # Fragment-1 Time: 0 '2 " 146 "' --> # Fragment-2 Time: 0 ' 3 " 239 "' --> # Fragment-1 Time: 0 '4 " 146 "' --> # Fragment-3 Time: 0 '4 " 994 "' --> # Fragment-2 Time: 0' 5 " 159 "' --> # Real-Time-1 Time: 0 ' 17 " 310 "' --> # Fragment-2 Time: 0' 18 " 732 "' --> # Fragment-1 End: 0'19 "533"' } 3.5.1 Timeline Editor The Timeline Editor graphically converts from the selected timeline from the TranScript Console. The Timeline Editor allows the users to cut, copy, paste, insert, and delete TranScript. It is also capable of zooming in and out the timeline and fitting in its window size. The red vertical bar indicates the real-time position, and the users enable to playback from anywhere. 4. Time Conversion The users can convert the entire event time into a desirable one. There are two text windows, "Before" and "After", to compare the result. So, this time adjustment function will save time instead of retyping all the event times or redoing the Real-Time TranScript. The following timeline is converted from the previous timeline with setting the speed of 0.64. { Timeline-l-x0.64 Type: timeline Time 18: 59: 12 Date 3 / 30 / 2007 Time: 0 ' 0 " 0 "' --> # Entire-1 Time: 0 ' 1 " 936 "' --> # Fragment-1 Time: 0 ' 3 " 353 "' --> # Fragment-2 357

Page  00000358 Time: 0' 5 "61 "' --> Time: 0 ' 6 " 478 "' --> Time: 0 ' 7 " 803 "' --> Time: 0' 8 "61 "' --> Time: 0 '27 " 47 "' --> Time: 0 '29 " 269 "' --> End: 0' 30 " 520 '" # Fragment-1 # Fragment-3 # Fragment-2 # Real-Time-1 # Fragment-2 # Fragment-1 5. MIDI Protocol Figure 6. The tuning system of sho. With the newly established protocol between {TranSpell} and MIDI devices, users are enabled to execute various functions. 5.1 SMF {TranSpell} allows users to create a SMF (Standard MIDI File) while recording its sound file and/or its RealTime TranScript. 17 tracks are created corresponding to the 17 notes. Each note contains volume, pan, and pitch bend. This feature ensures the users to print out or analyze the compositions. 5.2 Keyboard The users may play notes with MIDI keyboards. The note the users chose to play is converted into the closest pitch in the tuning system, so the outcome of the sound is not based on the 12-tone equal temperament. Another way of using MIDI keyboards is key allocation. Once the users allocate 17 keys of the MIDI keyboard to the 17 notes of {TranSpell}, the users can play the 17 notes with the allocated keys. The figure 6 shows the example of allocation to interact with 17 notes. In this example, the register of the key allocation is one octave and major third. This allocation provides two beneficial facts for the performers. First, any MIDI keyboard will be capable of playing the 17 notes. The MIDI keyboard does not have to cover 88 notes, but it only has to cover two octaves. Second, two hands cover all the keys. The users can create a Real-Time TranScript by pressing %H so as to replay exactly what they played, and the script can be edited later. This recording ability functions like a sequencer. 6. Interaction Apple Remote Handler allows performers to interact with {TranSpell} via aka.appleremote object created by Masayuki Akamatsu. There are six buttons in the Apple Remote Handler, and the users are able to assign them to any TranScript commands. Since the users can control {TranSpell} in the distance, this remote interaction will be applied to various ways of live performances with {TranSpell}. 7. GUI Four GUI functions were newly refined. All the functions visually assist the users when they compose with {TranSpell}. First, when the notes are played, the corresponding sliders of all the controllers are indicated by red. So, the users can instantly know the parameters which note is playing. Second, the users can chromatically transpose the note. 1) hold the shift key. 2) select the note and click it. 3) drag it to the desirable pitch. In this method, the users enable to freely transpose all the 17 notes and save the change as the new tuning system under "my tuning" in the menu bar. Third, the users may adjust the view to show only the controllers windows that they need to see. The users can select the desirable controllers under the Controllers in the menu bar. Fourth, Sliders are expandable so that users can set the parameters more precisely rather than use the smallest default slider sizes. 8. Conclusion With this further development, {TranSpell} enables the users to create smooth transitions between any two notes via extracted overtones in real-time process. In order to make {TranSpell} more generally applicable, I implemented new functions such as TranScript, MIDI, and interaction, which expand the possibility of composing and performing music. I will keep focusing on create more generalized environment in the further paper. References Akamatsu, Masayuki (downloaded 2007). aka.appleremote. Shiota, Kazuaki "{TranSpell} ", Proceedings of the International Computer Music Conference, New Orleans, USA, 2006. Figure 5. An example of key allocation to the 17 notes. 5.3 Restoration and Transformation MIDI data can be converted into the 17 notes system of {TranSpell} so as to restore the original tuning system that contains microtones. The following example shows the conversion of the tuning system of sho6. Moreover, applying other tuning systems can transform musical data into a number of variations (figure 6). 6 Sho is a traditional instrument of the ancient Japanese court music. 358