Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/igorski/tuning-spork
Browser based guitar scale and chord visualizer with multiple string and custom tuning support
https://github.com/igorski/tuning-spork
guitar-chords guitar-scale-chart guitar-scales guitar-tuner javascript vue vuejs
Last synced: about 2 months ago
JSON representation
Browser based guitar scale and chord visualizer with multiple string and custom tuning support
- Host: GitHub
- URL: https://github.com/igorski/tuning-spork
- Owner: igorski
- Created: 2019-02-14T18:26:23.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-06-30T18:12:06.000Z (6 months ago)
- Last Synced: 2024-07-04T04:07:23.358Z (6 months ago)
- Topics: guitar-chords, guitar-scale-chart, guitar-scales, guitar-tuner, javascript, vue, vuejs
- Language: Vue
- Homepage: https://www.igorski.nl/application/tuning-spork
- Size: 2.42 MB
- Stars: 17
- Watchers: 4
- Forks: 3
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tuning Spork!
A web based application that allows you to visualize the notes and chords of a large selection of scales
onto your fretboard with support for custom tunings / strings. Also provides reverse scale lookup functionality
by allowing you to draw a chord for any given tuning.## Architecture
The project was created using [Vue](https://vuejs.org) with the following tools/plugins:
* Vite
* Vuex
* ESLint
* Vitest unit testing## Development
### Commands
Launches a local web server (available at _localhost:8080_) serving the application with live compilation and hot reload for development:
```
npm run dev
```Compile and minify application for production deployment (output wil be written to _./dist/_-folder):
```
npm run build
```Lint and fix source code:
```
npm run lint
```Run unit tests:
```
npm run test
```## Adding new scales / chords
Scales and chords are described in JSON fixtures which are located in _./src/definitions/_.
Scales and chords are defined by their name and by the notes present:Scale example:
```
{
"major": [0, 2, 4, 5, 7, 9, 11],
"minor": [0, 2, 3, 5, 7, 8, 10]
}
```Where the object key is the scale name and the Array value describes all notes within said scale. These
notes are defined as _semitones_ (where integer values are used for _equal temperament_ tunings). Note: always
start with a 0 to define the root note.Chord example:
```
{
"major": [0, 4, 7],
"major 7th": [0, 4, 7, 11],
"minor": [0, 3, 7],
"minor 7th": [0, 3, 7, 10]
}
```The visualiser interface will use these notes to generate scales from a given root note for each individual
guitar string.## Contributors
Kind words of gratitude to the following contributors for adding new features to the application:
* Ivan Zabrodin (zivan2)