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.4.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.4-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: shredderscales-1.0.4.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.4.tar.gz
Algorithm Hash digest
SHA256 8b0da43a8adc8079086ba0d958bba58a3fa9057fc587b23b6b681c6518dc5cb5
MD5 9f4c3dff21727cbd9d769d8f1947ce7e
BLAKE2b-256 7a251f707625a003bf05f6cb2e4383180c0473cbc22ce94c8b49d9a59da18974

See more details on using hashes here.

File details

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

File metadata

  • Download URL: shredderscales-1.0.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b40c96b9ee48575d963426e8d8d86411d78fac9dc92bd786d340f44b01fa7599
MD5 74ec93f7590c8dee5bfbb15d0769ac5a
BLAKE2b-256 b87022e57033dc4a002fd0ec990f07d862a86045aea369b6a4e2ce3c70ea15c5

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