Menu

conducting

Roger B. Dannenberg SunnyFish Collin Buchan
Attachments
Conductor Interface.pdf (178086 bytes)
readme.pdf (84271 bytes)

Home

Conducting Interface

Requirements

Need to conduct up to 8 orchestras (7 are planned for the concert).

Each orchestra plays one "language" designated by a number and an icon. There will be 10 to 15 languages.

It must be possible to select languages on a per-orchestra basis, e.g. orchestra 1 has language 3, orchestra 2 has language 7, etc.

Languages are selected and transmitted to the orchestras at any time. In a separate action, a "cue" is sent to the orchestras to say that the selected language should now take effect. The orchestras do not change languages until the cue is given. (This allows the conductor to prepare several changes and have them take effect simultaneously.)

In addition to assigning languages to orchestras and cuing them, some languages take additional cues to play sounds (one sound per cue).

In addition, there should be some play louder/play softer indications, e.g. select a set of orchestras and then move the mouse or wheel to control volume. Maybe it should be general "give me more" or "give me less" control without specific meaning.

Both Performer interface and Conducting interface should have a status display to show status such as "connecting to federation", "connected to super-node", "clock synchronized to super-node", ...

Coordinate with the Performance Interface group and others to create "Main." It should be possible to become a conductor or performer (one monolithic program contains both interfaces). Also, it should be possible to be a node or a super-node. There is no group assigned to write the "main" program, so this is the responsibility of the Conducting interface group.

Design

  • Control Interface: almost all control is performed by the keys and MIDI keyboard: we want to use numbers to select orchestra and use other keys to perform quick settings such as louder/softer and sending cues. And we use MIDI keyboard to choose language. This design enables batch selection and editing using minimized key strokes, leaving GUI a mean to track status and information. (-Zeyu)
  • Graphic Interface: GUI displays information about the last performed action (such as changing language and sending cues), orchestra status (such as the current language and louder/softer settings) and network status. (-Zeyu)
  • Keyboard & MIDI control: conductor uses number keys to select orchestras and use MIDI keys together to send messages to the selected orchestras. These messages include:

    1. Language change (mapped from C4 to B5 on the MIDI keys) 
    2. Cues, some keys on the MIDI keyboard 
    3. Give me more/ less (also on MIDI) 
    4. tempo indicated by continuous tapping a key.
    

(meeting notes by Zeyu, uploaded by Collin)

Control Interface

Orchestra names are "ccrma", "blork", "tamu", "lsu", "cmu", "sarc", helo"

Messages are published to subject "Cond"

MIDI Key Command Message
n/a 1-7 Select Orchestra (address field)
n/a - Cancel Selection
n/a 0 Select All Orchestra
C3-B4 Cmd 1-Cmd 9 Select Language NextLang nn
C5 space Change Language ChangeLang
Bb4 c Send Cue/Pulse Pulse
Db3+Ab4 g Orch: Play now OrchPlay
Db3+Gb4 s Orch: Stop/Mute OrchStop
Db3+Db4 i Orch: Fade in OrchFadeIn
Db3+Eb4 o Orch: Fade out OrchFadeOut
Eb3+Ab4 G Solo: Play now SoloPlay
Eb3+Gb4 S Solo: Stop/Mute SoloStop
Eb3+Db4 I Solo: Fade in SoloFadeIn
Eb3+Eb4 O Solo: Fade out SoloFadeOut
Bb3 f Vol: loud VolLoud
Ab3 x Vol: any VolAny
Gb3 p Vol: soft VolSoft
h Pitch: high PitchHigh
m Pitch: Mid PitchMid
l Pitch: Low PitchLow
a Pitch: Any PitchAny
Ctrl 1-7 Intensity for individual orchestras Intens nn (0 <= nn <= 100)
Ctrl 8 Intensity for all orchestras

Language Spec

Index Language Name Can take pulses?
0 Long Sound
1 Accented Long Sound
2 Trills
3 Staccato Line Forming
4 Intervallic Forming
5 Short Attacks Rhythms/Intervallic Variety
6 Angular Attacks and Lines
7 Legato Forming
8 Accented Long Sound on Cue Yes
9 Short Attacks on Cue Yes
10 Legato Forming on Cue Yes
11 Drum Circle
12 Rising Pitch Forming
13 Falling Pitch Forming

Subtask Assignments

  • Zeyu: GUI/IO design, API framework (usage information in attachment)
  • Collin: Working on integrating APIs from other groups

Home


Related

Wiki: Home

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.