Skip to content

A tool for the analysis and creation of musical scales

License

Notifications You must be signed in to change notification settings

KeithSBB/scalesmithy

Repository files navigation

Scale Smithy

NOTE: Thus software is prereleased! Installation methods don't work yet A graphical tool for analysis of musical scales.

Screenshot.png

Features

  • Work and display scales on a chromatic circle
  • Save and load scale families
  • Enter notes and find the scale Family, mode and key
  • Edit scale families, create new ones
  • Select the scale family, mode and key
  • Set a scale as a reference
  • Play scale in various patterns to midi
  • Stredella Bass referennce with relative intervals
  • Overview

    I wrote this program to help me compose music for the bayan (russian Accordion). I've found it to be very helpful to look at scales from a family-mode-key perspective on a chromatic circle. Chords that fit the notes of a particular scale are printed next to each scale degree. This can be useful for composing chord progressions. You can control how many chords, chord symbology and the position of the scale root via Edit->preferences. There's a find the scale feature which analizes a series of notes and returns the matching scale (if any). Any scale can be set as a reference which is useful in modal, scale family and/or key changes in a composition.
    Scales can be played via midi output to any instrument including FluidSynth in one of a few patterns.

    Installation

    requirements.txt lists the required libraries. Primarily PyQt6 and mido. A python virtual environment isolates this code and libraries from your system level libraries. To create a virtual environment:

    mkdir scalesmithy cd scalesmithy python -m venv venu

    To activate the new virtual environment:

    source venu/bin/activate
    

    To deactivate:

    deactivate
    

    While inside the activated virtual environment, you can use pip to install Python packages without affecting the system-wide Python installation.

    Method 1:

    git clone https://github.com/KeithSBB/scalesmithy.git
    cd scalesmithy
    sudo python setup.py install
    

    Method 2

    pip install git+https://github.com/KeithSBB/scalesmithy.git 
    

    Method 3

    pip install -r requirements.txt
    

    About

    A tool for the analysis and creation of musical scales

    Resources

    License

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published

    Languages