Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shalashify/pytribe
Use Teenage Engineering OP-Z or Korg Electribe 2 as MIDI Sequencer to trigger samples from computer
https://github.com/shalashify/pytribe
electribe korg korg-electribe midi midi-controller midi-sequencer mido op-z opz sample-player sample-sequencer sampler teenage-engineering
Last synced: 3 months ago
JSON representation
Use Teenage Engineering OP-Z or Korg Electribe 2 as MIDI Sequencer to trigger samples from computer
- Host: GitHub
- URL: https://github.com/shalashify/pytribe
- Owner: shalashify
- Created: 2020-07-28T09:09:36.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-07-06T20:04:00.000Z (4 months ago)
- Last Synced: 2024-07-07T20:43:11.987Z (4 months ago)
- Topics: electribe, korg, korg-electribe, midi, midi-controller, midi-sequencer, mido, op-z, opz, sample-player, sample-sequencer, sampler, teenage-engineering
- Language: Python
- Homepage:
- Size: 9.77 KB
- Stars: 6
- Watchers: 0
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# pytribe
Use a MIDI Sequencer (tested with Korg Elecrtibe 2 and Teenage Engineering OP-Z) to trigger samples from computer.
Can be useful to arrange and test different sample sets before loading them to the Unit or use computer as a sample player in combination with Electribe synths.
# Functions
MIDI note_on messages are used to trigger samples.
Samples are loaded from source directory (configure in .ini file).
Source directory can include multiple sets e.g.
Sample_Dir
├── 100_Sample_Set_1
│ ├── 01_Kick.wav
│ ├── 02_Snare.wav
│ ├── 03_Shaker.wav
│ ├── 04_Closed_Hat.wav
│ ├── 05_Open_Hat.wav
│ └── 06_Tom.wav
├── 200_Sample_Set_2
│ ├── 09_Kick.wav
│ ├── 10_Snare.wav
│ ├── 14_Closed_Hat.wav
│ ├── 15_Open_Hat.wav
│ ├── 16_Tom.wav
│ └── readme.txtNumber of the set (100, 200) can be selected via command prompt or set via .ini file.
Number of the sample (01, 02, 15) within the set corresponds to Electribe 2 pad number (upper row being 1-8, lower row 9-16) or OP-Zs track number. Number of the sample is thus used to map a sample to a MIDI Channel. Only channels that have samples assigned to them will be treated as relevant. Thus it is possible to trigger samples at computer and play Electribe's own synths in parallel.
Level knob of the respective channel controls the level of each sample. Make sure to set the level cc value for your device correctly via the .ini file.
Korg Electribe 2: 7
Teenage Engineering OP-Z: 16Other cc messages are not yet implemented. See https://teenage.engineering/guides/op-z/midi
# Example
```
amb:pytribe alec$ python3 pytribe.py alec.ini_____ ___ ___ ___ ___
_ __ _ |_ _| _ \_ _| _ ) __|
| '_ \ || || | | /| || _ \ _|
| .__/\_, ||_| |_|_\___|___/___|
|_| |__/Directory: /Users/alec/Music Production/Tools/Samples/pytribe
Contains Sets
/Users/alec/Music Production/Tools/Samples/pytribe/228_Vinyl_Set_1/
/Users/alec/Music Production/Tools/Samples/pytribe/229_Vinyl_Set_2/
/Users/alec/Music Production/Tools/Samples/pytribe/230_Standard_Set_1/
/Users/alec/Music Production/Tools/Samples/pytribe/300_experiment/
/Users/alec/Music Production/Tools/Samples/pytribe/232_Standard_Set_3/
/Users/alec/Music Production/Tools/Samples/pytribe/231_Standard_Set_2/
Which set number to use? (default: 100) 228
Loading: /Users/alec/Music Production/Tools/Samples/pytribe/228_Vinyl_Set_1
MIDI CHANNEL 09 --> 09_Kick.wav
MIDI CHANNEL 10 --> 10_Snare.wav
MIDI CHANNEL 11 --> 11_Shaker.wav
MIDI CHANNEL 12 --> 12_Closed_Hat.wav
MIDI CHANNEL 13 --> 13_Open_Hat.wav
MIDI CHANNEL 15 --> 15_Tom.wav
Ready to rock! Start your Sequencer!
CTRL+C to exit
```# Dependencies
- pygame
- mido