Skip to content

A command line utility written in Go to display guitar fretboard, scales and chords in any tuning.

License

Notifications You must be signed in to change notification settings

maximegosselin/jimi

Repository files navigation

🎸 Jimi

A command line utility written in Go to display guitar fretboard, scales and chords in any tuning.

Because I love Go, CLIs and guitar (and Hendrix obviously!)

Demo

Try Jimi in your browser with a live demo made with WebAssembly.

Build

Go

Jimi does not require any specific package or dependency and can be compiled on Linux, macOS or Windows.

If you do not have Go installed yet, you know what to do.

Just git clone this repo and run go build in a terminal from the root directory.

Usage

Note for Windows users: The Windows Console may not output colored characters properly. You may use PowerShell instead.

Display the fretboard

Standard tuning and no capo.

jimi

Complete example

Open D tuning, G chord with capo on 5th fret.

jimi -t=DADF#AD -r=G -p=major-triad -c=5

Custom tuning

Specify the string notes with -t from the lowest to the highest string.

Jimi accepts both the sharp and flat notation. However, flats are converted to their sharp equivalent.

jimi -t=EbAbDbGbBbEb

Put a capo

Specify the fret position with -c.

jimi -c=4

Display a scale using a preset

Specify the key with -r and the scale with -p.

Scale presets are:

  • aeolian
  • chromatic
  • dorian
  • ionian
  • locrian
  • lydian
  • major
  • major-blues
  • major-pentatonic
  • minor
  • minor-blues
  • minor-pentatonic
  • mixolydian
  • phrygian
jimi -r=G# -p=minor-pentatonic 

Display chord shapes using a preset

Specify the root note with -r and the chord quality with -p.

Chord quality presets are:

  • 5th
  • aug
  • dim
  • m7b5
  • major-6th
  • major-7th
  • major-maj7
  • major-triad
  • minor-6th
  • minor-7th
  • minor-maj7
  • minor-triad
  • sus
  • sus2
  • sus4
jimi -r=A -p=major-triad

Display a scale or chord shapes using intervals

Specify the root note with -r and dash-separated list of intervals with -p.

jimi -r=C -p=P1-M3-M5-m7

Accepted intervals are:

  • Perfect unison: P1, R, 1, d2
  • Minor second: m2, b2, A1
  • Major second: M2, 2, d3, sus2
  • Minor third: m3, b3, A2
  • Major third: M3, 3, d4
  • Perfect fourth: P4, 4, A3, sus4, sus
  • Diminished fifth: d5, b5, A4
  • Perfect fifth: P5, 5, d6
  • Minor sixth: m6, b6, A5
  • Major sixth: M6, 6, d7
  • Minor seventh: m7, b7, A6
  • Major seventh: M7, 7, d8
  • Perfect octave: P8, 8
  • Minor ninth: m9, b9, A8
  • Major ninth: M9, 9

Represent frets as intervals instead of notes

Simply append the -i flag.

jimi -r=C -p=minor-pentatonic -i

License

The MIT License (MIT). Please see License File for more information.


If Jimi Hendrix was a developer, he would have written Foxey Lady in Go, not C#!

About

A command line utility written in Go to display guitar fretboard, scales and chords in any tuning.

Topics

Resources

License

Stars

Watchers

Forks