// This glossary defines program changes used to select instruments following General MIDI specifications.
// Note that MIDI programs are numbered 0 to 127 here (following MIDI spec. 1.0) instead of 1 to 128 asB
per General MIDI specs.
// You may change variable names, but names should remain consistent in all projects. (See acceptable variable names under "variable" in the Help menu.)
// Beware that program chang
Show graphics ONG
Imbedded script linesH
zFali
e messages will be sent on the current channel, which should be the basic channel of the synthesizer (i.e. the one on which it receives mode messages). This channel (default 1) may be changed by script instrucD
tion: MIDI set basic channel to ...
[1] AcousticGrandPiano --> _script(MIDI program 0)
[2] BrightAcousticPiano --> _script(MIDI program 1)
[3] ElectricGrandPiano --> _script(MIDI program 2)
[4] HonkyTonkPiaE
no --> _script(MIDI program 3)
[5] RhodesPiano --> _script(MIDI program 4)
[6] ChorusedPiano --> _script(MIDI program 5)
[7] Harpsichord --> _script(MIDI program 6)
[8] ClavinetChromatic --> _script(MIDI prF
ogram 7)
[9] Calesta --> _script(MIDI program 8)
[10] Glockenspiel -->_script(MIDI program 9)
[11] MusicBox --> _script(MIDI program 10)
[12] Vibraphone --> _script(MIDI program 11)
[13] Marimba --> _scrip
s-1/ I --> R1 B R2
GRAM#2[5] <50> /Ideas-2/ I --> B A
-----------
EnglishE
Show graphics ONG
Imbedded script linesH
zFali
t(MIDI program 12)
[14] Xylophone --> _script(MIDI program 13)
[15] TubularBells --> _script(MIDI program 14)
[16] Dulcimer --> _script(MIDI program 15)
[17] DrawbarOrgan --> _script(MIDI program 16)
[18] H
PercussiveOrgan --> _script(MIDI program 17)
[19] RockOrgan --> _script(MIDI program 18)
[20] ChurchOrgan --> _script(MIDI program 19)
[21] ReedOrgan --> _script(MIDI program 20)
[22] Accoridan --> _script(I
MIDI program 21)
[23] Harmonica --> _script(MIDI program 22)
[24] TangoAccordian --> _script(MIDI program 23)
[25] AcousticGuitarNylon --> _script(MIDI program 24)
[26] AcousticGuitarSteel --> _script(MIDI pJ
rogram 25)
[27] ElectricGuitarJazz --> _script(MIDI program 26)
[28] ElectricGuitarClean --> _script(MIDI program 27)
[29] ElectricGuitarMuted --> _script(MIDI program 28)
[30] OverDrivenGuitar --> _script(
s-1/ I --> R1 B R2
GRAM#2[5] <50> /Ideas-2/ I --> B A
-----------
EnglishE
Show graphics ONG
Imbedded script linesH
zFali
MIDI program 29)
[31] DistortionGuitar --> _script(MIDI program 30)
[32] GuitarHarmonics --> _script(MIDI program 31)
[33] AcousticBass --> _script(MIDI program 32)
[34] ElectricBassFinger --> _script(MIDI L
program 33)
[35] ElectricBassPick --> _script(MIDI program 34)
[36] FretlessBass --> _script(MIDI program 35)
[37] SlapBass1 --> _script(MIDI program 36)
[38] SlapBass2 --> _script(MIDI program 37)
[39] SyM
nthBass1 --> _script(MIDI program 38)
[40] SynthBass2 --> _script(MIDI program 39)
[41] Violin --> _script(MIDI program 40)
[42] Viola --> _script(MIDI program 41)
[43] Cello --> _script(MIDI program 42)
44] Contrabass --> _script(MIDI program 43)
[45] TremoloStrings --> _script(MIDI program 44)
[46] PizzicatoStrings --> _script(MIDI program 45)
[47] OrchestralStrings --> _script(MIDI program 46)
[48] Timpa
s-1/ I --> R1 B R2
GRAM#2[5] <50> /Ideas-2/ I --> B A
-----------
EnglishE
Show graphics ONG
Imbedded script linesH
zFali
ni --> _script(MIDI program 47)
[49] StringEnsemble1 --> _script(MIDI program 48)
[50] StringEnsemble2 --> _script(MIDI program 49)
[51] SynthStrings1 --> _script(MIDI program 50)
[52] SynthStrings2 --> _scP
ript(MIDI program 51)
[53] ChoirAahs --> _script(MIDI program 52)
[54] VoiceOohs --> _script(MIDI program 53)
[55] SynthVoice --> _script(MIDI program 54)
[56] OrchestraHit --> _script(MIDI program 55)
] Trumpet --> _script(MIDI program 56)
[58] Trombone --> _script(MIDI program 57)
[59] Tuba --> _script(MIDI program 58)
[60] MutedTrumped --> _script(MIDI program 59)
[61] FrenchHorn --> _script(MIDI progrR
am 60)
[62] BrassSection --> _script(MIDI program 61)
[63] SynthBrass1 --> _script(MIDI program 62)
[64] SynthBrass2 --> _script(MIDI program 63)
[65] SopranoSax --> _script(MIDI program 64)
[66] AltoSax -
s-1/ I --> R1 B R2
GRAM#2[5] <50> /Ideas-2/ I --> B A
-----------
EnglishE
Show graphics ONG
Imbedded script linesH
zFali
-> _script(MIDI program 65)
[67] TenorSax --> _script(MIDI program 66)
[68] BaritoneSax --> _script(MIDI program 67)
[69] Oboe --> _script(MIDI program 68)
[70] EnglishHorn --> _script(MIDI program 69)
] Bassoon --> _script(MIDI program 70)
[72] Clarinet --> _script(MIDI program 71)
[73] Piccolo --> _script(MIDI program 72)
[74] Flute --> _script(MIDI program 73)
[75] Recorder --> _script(MIDI program 74)
76] PanFlute --> _script(MIDI program 75)
[77] BottleBlow --> _script(MIDI program 76)
[78] Shakuhachi --> _script(MIDI program 77)
[79] Whistle --> _script(MIDI program 78)
[80] Ocarina --> _script(MIDI progV
ram 79)
[81] Lead1 --> _script(MIDI program 80) [square]
[82] Lead2 --> _script(MIDI program 81) [sawtooth]
[83] Lead3 --> _script(MIDI program 82) [calliope]
[84] Lead4 --> _script(MIDI program 83) [chiff]
s-1/ I --> R1 B R2
GRAM#2[5] <50> /Ideas-2/ I --> B A
-----------
EnglishE
Show graphics ONG
Imbedded script linesH
zFali
] Lead5 --> _script(MIDI program 84) [charang]
[86] Lead6 --> _script(MIDI program 85) [voice]
[87] Lead7 --> _script(MIDI program 86) [fifths]
[88] Lead8 --> _script(MIDI program 87) [bass+lead]
[89] Pad1 --> X
_script(MIDI program 88) [new age]
[90] Pad2 --> _script(MIDI program 89) [warm]
[91] Pad3 --> _script(MIDI program 90) [polysynth]
[92] Pad4 --> _script(MIDI program 91) [choir]
[93] Pad5 --> _script(MIDI progY
ram 92) [bowed]
[94] Pad6 --> _script(MIDI program 93) [metallic]
[95] Pad7 --> _script(MIDI program 94) [halo]
[96] Pad8 --> _script(MIDI program 95) [sweep]
[97] FX1 --> _script(MIDI program 96) [rain]
[98] FZ
X2 --> _script(MIDI program 97) [soundtrack]
[99] FX3 --> _script(MIDI program 98) [crystal]
[100] FX4 --> _script(MIDI program 99) [atmosphere]
[101] FX5 --> _script(MIDI program 100) [brightness]
[102] FX6 --
s-1/ I --> R1 B R2
GRAM#2[5] <50> /Ideas-2/ I --> B A
-----------
EnglishE
Show graphics ONG
Imbedded script linesH
zFali
> _script(MIDI program 101) [goblins]
[103] FX7 --> _script(MIDI program 102) [echoes]
[104] FX8 --> _script(MIDI program 103) [sci-fi]
[105] Sitar --> _script(MIDI program 104)
[106] Banjo --> _script(MIDI pro¥
gram 105)
[107] Shamisen --> _script(MIDI program 106)
[108] Koto --> _script(MIDI program 107)
[109] Kalimba --> _script(MIDI program 108)
[110] Bagpipe --> _script(MIDI program 109)
[111] Fiddle --> _script(M]
IDI program 110)
[112] Shahnai --> _script(MIDI program 111)
[113] TinkleBell --> _script(MIDI program 112)
[114] Agogo --> _script(MIDI program 113)
[115] SteelDrums --> _script(MIDI program 114)
[116] WoodBl^
ock --> _script(MIDI program 115)
[117] TaikoDrum --> _script(MIDI program 116)
[118] MelodicTom --> _script(MIDI program 117)
[119] SynthDrum --> _script(MIDI program 118)
[120] ReverseCymbal --> _script(MIDI
s-1/ I --> R1 B R2
GRAM#2[5] <50> /Ideas-2/ I --> B A
-----------
EnglishE
Show graphics ONG
Imbedded script linesH
zFali
program 119)
[121] GuitarFretNoise --> _script(MIDI program 120)
[122] BreathNoise --> _script(MIDI program 121)
[123] Seashore --> _script(MIDI program 122)
[124] BirdTweet --> _script(MIDI program 123)
[125] `
TelephoneRing --> _script(MIDI program 124)
[126] Helicopter --> _script(MIDI program 125)
[127] Applause --> _script(MIDI program 126)
[128] Gunshot --> _script(MIDI program 127)
Note convention = key numbersa
AcousticBassDrum --> key#35
BassDrum1 --> key#36
SlideStick --> key#37
AcousticSnare --> key#38
HandClap --> key#39
ElectricSnare --> key#40
LowFloorTom --> key#41
ClosedHiHat --> key#42
HiFloorTom --> key#43b
PedalHiHat --> key#44
LowTom --> key#45
OpenHiHat --> key#46
LowMidTom --> key#47
HiMidTom --> key#48
CrashCymbal1 --> key#49
HighTorn --> key#50
RideCymbal1 --> key#51
ChineseCymbal --> key#52
RideBell --> ke
s-1/ I --> R1 B R2
GRAM#2[5] <50> /Ideas-2/ I --> B A
-----------
EnglishE
Show graphics ONG
Imbedded script linesH
zFali
Tambourine --> key#54
SplashCymbal --> key#55
Cowbell --> key#56
CrashCymbal2 --> key#57
Vibraslap --> key#58
RideCymbal2 --> key#59
HiBongo --> key#60
LowBongo --> key#61
MuteHiConga --> key#62
OpenHiCongd
a --> key#63
LowConga --> key#64
HiTimbale --> key#65
LowTimbale --> key#66
HighAgogo --> key#67
LowAgogo --> key#68
Cabass --> key#69
Maracas --> key#70
ShortWhistle --> key#71
LongWhistle --> key#72
ShortGuire
o --> key#73
LongGuiro --> key#74
Claves --> key#75
HiWoodBlock --> key#76
LowWoodBlock --> key#77
MuteCuica --> key#78
OpenCuica --> key#79
MuteTriangle --> key#80
OpenTriangle --> key#81
// The following aref
customised definitions
Piano --> _script(MIDI program 0)
// Alternate syntax using
Define
Define LoudPiano _script(MIDI program 0)
DigitalCello --> _script(MIDI program 42)
-gl.GeneralMIDIQ
-cs.tryCsound
GRAM#2[5] <50> /Ideas-2/ I --> B A
-----------
EnglishE
Show graphics ONG
Imbedded script linesH
zFali
BA// No script...
// Click
More! show grammar
and try the grammarD
IndianE
Tempo 4 ticks in 1 sec
// The range of the synth
s pitch bended must be +- 200 cents
// Otherwise change the first instruction accordingly.
// Set the synthesizer to a
violin
patch
// The patch should be sensitive to pitch bend andB
polyphonic pressure. Pressure should produce a vibrato.
Initial script line]$A typical client application for BP2^
Quit BP2_
Beep BP2`
Note conventiona
Settings fileb
Execute this scriptc
BP2 script
This is an example of a data-base containing musical material and scripts for Bol Processor BP2.7.
You must first rebuild the desktop after installing BP2, so that FileMaker finds it. Then make sure that the link between applications is activated in the 'sharing setup' control panels of the machines with client and server applications. In addition, you must set the sharing of BP2.7, the server application, to allow links with other applications.
Use button
Beep BP2
to verify the link.
with client and server applications. In addition, you must set the sharing of BP2.6, the server application, to allow
:BP2.6
lPATH
zFali
In the
PlayScoreInForeground
script, the box
Bring target application to foreground
is checked since the user needs to answer a dialog once each item has been performed. (One item per paragraph) Other scripts do not require foreground. Note, however, that background operation speeds down BP2.F
Use the BP2 script line
Prompt OFF
to prevent BP2 from hanging on a dialog if you want everything to take place in background.
Scripts do many other things, such as setting the note convention, calling a sust set the sharing of BP2.6, the server application, to allow
:BP2.6
lPATH
zFali
Quick!
Resume
zFali
You should see BP2
s bottom line displaying acknowledgements and process status. If things work bad, there is a
Specify Application
button in the definition of each Apple Event in the FileMaker script maker, helping FileMaker to locate its target
BP2.7
In the
PlayScoreInForeground
script, the box
Bring target application to foreground
is checked since the user needs to answer a dialog once each item has been performed. (One item per paragraph) Other scripts do not require foregro
und. Note, however, that background operation speeds down BP2.
Use the BP2 script line
Prompt OFF
to prevent BP2 from hanging on a dialog if you want everything to take place in background.
Scripts do many other things, such as setting the note convention, calling a settings file
-se.<filename>
, etc. If BP2 doesn
t find a file immediately, you can store an alias of it in the same folder as
BP2.7
All currently supported Apple Events are listed in the on-line documentation. Click b
Glossary nameP
Alphabet nameQ
Grammar nameR
Back to data!S
PauseT,Produce items with this grammar and alphabetU
GrammarV
PageW
Quick!X Skip itemY
Play againZ
Abort[
Resume¥
Initial script line]
Note convention^
Settings file
Glossary nameP
Alphabet nameQ
Grammar nameR
Back to data!S
PauseT,Produce items with this grammar and alphabetU
GrammarV
PageW
Quick!X Skip itemY
Play againZ
Abort[
Resume¥
Initial script line]
Note convention^
Settings file
Quick!
Grammar
E,Produce items with this grammar and alphabet
Pause
Back to data!
Grammar name
Alphabet name
Glossary name
zFali
Settings file
Note convention
Initial script line
Resume
Abort
Play again
E Skip item
Quick!
Grammar
E,Produce items with this grammar and alphabet
Pause
Back to data!
Grammar name
Alphabet name
Glossary name
1I~// A very simple grammar that does almost nothing
S --> C4.C5.D5 C5 F#4.A4.C5
S --> G3 C4_ B3 C4
S --> {C5 D5 E5 F5, G5 D5 C6}K
-gr.doeslittleP
+sc.simpletest
// A good example for trying
Pause
Resume
, etc.
// The first execution is likely to abort. Bring BP2 to foreground, save the script and select
Check script syntax
in the
Script
menu. This will set the directory number to the right value.
// Then copy that value into this field and try another run.
New Project
Set directory 24683 -- this number will need to be changed
Load Project "-gr.Ruwet"
Activate window "Grammar"
Note convention = French
Non-stop improvize ON
Produce B
items
FrenchE
Tempo 1 ticks in 1 secF"C4.C5.D5 C5 F#4.A4.C5.G3.C4_.B3.C4G
ControlsH
// This model of theme-and-variation was inspired by an analysis by Ruwet. It was done by a student of mine using a very old version of BP2. I have "recycled" it recently. Suggestions are welcome.
//This alphabet deals with simple notes in French convention. It defines three homomorphisms: "m1", "m2" and "mineur" that are used for selective transpositions