Skip to content

rpalermodrums/slonimsky

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slonimsky's Thesaurus: Musical Pattern Generator

Introduction

This project adapts Nicolas Slonimsky's musical theories for digital application, drawing from his influence on musicians such as John Coltrane and Frank Zappa.

Overview

The application generates musical patterns based on Slonimsky's "Thesaurus of Scales and Melodic Patterns," using algorithmic interpretations. It utilizes the Mingus library for musical operations.

Features

  • Generate Slonimsky-inspired musical patterns
  • Visualize patterns on a piano roll
  • Export patterns as MIDI files
  • GUI for pattern customization

Prerequisites

Ensure you have the following prerequisites:

  1. Python 3.8+: Download from python.org.

  2. FluidSynth: Required for audio playback.

    macOS (Homebrew):

    brew install fluid-synth

    Ubuntu/Debian:

    sudo apt-get install fluidsynth

    Windows: Download from FluidSynth releases.

  3. Soundfont: Download from FluidSynth SoundFont. Place in a soundfonts directory in the project root.

  4. Tkinter: Included with Python, but may require separate installation on some Linux distributions:

    sudo apt-get install python3-tk
  5. MIDI support: For Linux, install additional MIDI support:

    sudo apt-get install libasound2-dev libjack-dev

Installation and Setup

Follow these steps to set up a virtual environment:

  1. Clone the Repository

    git clone https://github.com/your-username/slonimsky-thesaurus.git
    cd slonimsky-thesaurus
  2. Create a Virtual Environment

    macOS/Linux:

    python3 -m venv venv

    Windows:

    python -m venv venv
  3. Activate the Virtual Environment

    macOS/Linux:

    source venv/bin/activate

    Windows:

    .\venv\Scripts\activate
  4. Install Dependencies

    pip install -r requirements.txt
  5. Install python-rtmidi

    pip install --only-binary=:all: python-rtmidi
  6. Run the Application

    python gui.py

    Or with command-line arguments:

    python slonimsky.py --root_note C --bpm 120 --progression_pattern I IV V

Remember to deactivate your virtual environment when finished:

deactivate

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

A python representation of Nicolas Slonimsky's "Thesaurus of Scales and Melodic Patterns"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published