A 16-step music sequencer built in Python with pattern management and audio playback.
- Load .wav samples from organized directory structure
- Create and edit 16-step patterns with multiple instruments
- Save and load multiple patterns
- Real-time playback with adjustable BPM
- Support for 31+ simultaneous instrument tracks
- Python 3.13+
- pygame
pip install pygamefrom sounds import SoundLibrary
from sequencer import Sequencer
from looper import Looper
library = SoundLibrary()
seq = Sequencer()
looper = Looper(library)
# Create a pattern
seq.current_pattern.set_steps("kick", [1, 5, 9, 13])
seq.current_pattern.set_steps("snare", [5, 13])
# Play it
looper.play_pattern(seq.current_pattern, bpm=120, num_loops=2)sounds.py- Sound library managementpattern.py- Pattern class for storing instrument trackssequencer.py- Sequencer class for managing multiple patternsplayback.py- Audio playback using pygamelooper.py- Timing and pattern playback loop
- tkinter GUI with visual grid
- Pattern chaining
- Tempo automation
- Export to audio file