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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
312583cc3486ca495806f9aac6ade2e6d06c9aa4edd4230d4e05f6f47aec2b0f
|
|
| MD5 |
909ffb3922398bc641a0319d418fcdaa
|
|
| BLAKE2b-256 |
0feabaf5e3af9cdac011e0ae56739a3fea17892b38dda2694e9e0f2421424fb8
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3cab23be9ea591e9486dc3197bd3c9fea604c1ee25161d0795df48d91c3e7ab6
|
|
| MD5 |
e86e013afc6abb63aa6ae3068ffc6953
|
|
| BLAKE2b-256 |
915474745de7ef4b816339691c43a3876b7a58c649b1281a8c3bbec9b02f729e
|