This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# jam patches | |
patches: | |
Piano: | |
1: piano/Fazioli Grand.sf2:000:000 | |
router_rules: | |
- {type: cc, chan: 16=1, par1: 30=64, par2: 0-127*127+0} | |
HohnerD6 Clav: | |
2: piano/Dsix Magic.sf2:000:004 | |
router_rules: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
patches: | |
Cheesy Jazz: | |
1: FluidR3_GM.sf2:000:007 | |
5: FluidR3_GM.sf2:000:032 | |
10: FluidR3_GM.sf2:128:033 | |
midiplayers: | |
jazz: | |
file: nonamejazz2.mid | |
mask: [prog] | |
tempo: 110 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
from sys import argv | |
from mido import MidiFile | |
if len(argv) < 2: | |
exit("Usage: midifile [filename]") | |
mid = MidiFile(argv[1]) | |
channels = set() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
patches: | |
Flute: | |
1: FluidR3_GM.sf2:000:073 | |
router_rules: | |
- {type: cc, par1: 2=11} # route breath to expression | |
messages: | |
- cc:1:68:127 # enable legato playing |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
patches: | |
Glissandos: | |
2: FluidR3_GM.sf2:000:000 | |
sequencers: | |
CMaj: | |
tdiv: 32 | |
notes: [note:2:C4:100, note:2:D4:100, note:2:E4:100, note:2:F4:100, | |
note:2:G4:100, note:2:A4:100, note:2:B4:100, note:2:C5:100] | |
Dm7: | |
tdiv: 32 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
patches: | |
BasicLoop: | |
1: FluidR3_GM.sf2:000:005 | |
sequencers: | |
loop: | |
notes: [note:1:Eb4:100, note:1:F4:100, note:1:Ab4:100, note:1:Bb4:100] | |
router_rules: | |
- {type: cc, par1: 24, sequencer: loop} | |
MagicLoop: | |
1: FluidR3_GM.sf2:000:062 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# a demo bank that shows how CCs can be used to select patches | |
router_rules: | |
- {type: cc, par1: 45, par2: 1-127=1, patch: select} # CC45 selects patch 1 (Piano) | |
- {type: cc, par1: 46, par2: 1-127=2, patch: select} # CC46 selects patch 2 (Rhodes) | |
- {type: cc, par1: 47, par2: 1-127=3, patch: select} # CC47 selects patch 3 (FM Piano) | |
- {type: cc, par1: 48, par2: 1-127=4, patch: select} # CC48 selects patch 4 (Vibes) | |
- {type: cc, par1: 49, par2: 1-127, patch: -1} # CC49 decrements patch | |
- {type: cc, par1: 50, par2: 1-127, patch: 1} # CC50 increments patch |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sys | |
import numpy as np | |
class LinFit: | |
def __init__(self, x, y): | |
d = x.size * np.sum(x ** 2) - np.sum(x) ** 2 | |
self.intercept = (np.sum(x ** 2) * np.sum(y) - np.sum(x) * np.sum(x * y)) / d | |
self.slope = (x.size * np.sum(x * y) - np.sum(x) * np.sum(y)) / d | |
self.s_y = np.sqrt(np.sum((y - self.intercept - self.slope * x) ** 2) / (x.size - 2)) | |
self.s_intercept = self.s_y * np.sqrt(np.sum(x ** 2) / d) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# messages keyword and init block | |
init: | |
fluidsettings: | |
synth.reverb.level: 1.0 | |
synth.reverb.room-size: 0.8 | |
synth.reverb.damp: 0.8 | |
synth.reverb.width: 5.0 | |
messages: [cc:1:74:0, cc:1:91:60] | |
messages: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
patches: | |
Yamaha Grand Piano: | |
1: FluidR3_GM.sf2:000:000 | |
Bright Yamaha Grand: | |
1: FluidR3_GM.sf2:000:001 | |
Electric Piano: | |
1: FluidR3_GM.sf2:000:002 | |
Honky Tonk: | |
1: FluidR3_GM.sf2:000:003 | |
Rhodes EP: |
NewerOlder