Skip to main content

Guitar-scales for any key and tuning

Project description

shredder-scales

shredder-scales is a python package that allows look-up of guitar scales given a key, scale, and tuning and outputs a plot showing the valid note positions on the fretboard.

The program accepts any number of guitar strings and any tuning without restriction to standard tunings. The number of guitar strings will be set based on the entered tuning.

For example:

  • 'EADGBE' will set standard 6-string tuning
  • 'G#D#G#C#F#A#D#' will set drop G# 7-string tuning
  • 'F#BEADGBE' will set standard 8-string tuning

If a desired scale is not present in the library, custom scales can also be entered based on the intervals in the scale

Installation

Use the package manager pip for installation

pip install shredderscales

Options

required:
--scale: scale to use for retrieiving notes, ex:'major'
--key: key to use for choosing notes, ex:'C'

optional:
--tuning: tuning of guitar for plotting notes, ex:'EADGBE'
--flats: whether to use sharps or flats for accidentals
--fretnumber: number of frets to plot, max==24 
--mode: mode to display notes on scale['note', 'degree', 'interval']
	- note will display the note at each position: 'C', 'Eb', ect.
	- degree will display degree in that scale: '1', 'b2', '#4', ect.
	- interval will display the distance from root note: 'M2', 'P5', 'm6'
--outdir: directory for saving output plot if run locally
--django: set to '1' for outputing figure as html

custom scales: set --scale='*custom*' and include:
--scale_name: a name for the new scale
--scale_intervals: comma seperated list with interval spacing for each note
	- for the major scale, enter: 0,2,4,5,7,9,11

Usage

example command line usage:

shredder-scales --scale='major' --key='F' --tuning='CGCFAD' --outdir='/path/to/outdir'

example custom scale generation:

shredder-scales --scale='*custom*' --key='E' --tuning='EADGBE' --outdir='/path/to/outdir' --scale_name=new_scale --scale_intervals=0,1,4,7,8,10,11

to print out all available scales:

shredder-scales-available

example python usage"

from shredderscales import shredder

shredder.main(scale='minor', key='G', tuning='BEADGBE')

Contributing

Pull requests and issues are welcome!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shredderscales-1.0.5.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shredderscales-1.0.5-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file shredderscales-1.0.5.tar.gz.

File metadata

  • Download URL: shredderscales-1.0.5.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for shredderscales-1.0.5.tar.gz
Algorithm Hash digest
SHA256 312583cc3486ca495806f9aac6ade2e6d06c9aa4edd4230d4e05f6f47aec2b0f
MD5 909ffb3922398bc641a0319d418fcdaa
BLAKE2b-256 0feabaf5e3af9cdac011e0ae56739a3fea17892b38dda2694e9e0f2421424fb8

See more details on using hashes here.

File details

Details for the file shredderscales-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: shredderscales-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for shredderscales-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3cab23be9ea591e9486dc3197bd3c9fea604c1ee25161d0795df48d91c3e7ab6
MD5 e86e013afc6abb63aa6ae3068ffc6953
BLAKE2b-256 915474745de7ef4b816339691c43a3876b7a58c649b1281a8c3bbec9b02f729e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page