Skip to content

vyqthor/Sequencer_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Step Sequencer

A 16-step music sequencer built in Python with pattern management and audio playback.

Features

  • 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

Requirements

  • Python 3.13+
  • pygame

Installation

pip install pygame

Usage

from 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)

Project Structure

  • sounds.py - Sound library management
  • pattern.py - Pattern class for storing instrument tracks
  • sequencer.py - Sequencer class for managing multiple patterns
  • playback.py - Audio playback using pygame
  • looper.py - Timing and pattern playback loop

Roadmap

  • tkinter GUI with visual grid
  • Pattern chaining
  • Tempo automation
  • Export to audio file

About

Built as a learning project by a music educator transitioning into programming and data science.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages