ukebox
ukebox is a command-line tool that shows you how to play a given chord on a ukulele by printing a chord diagram in ASCII art.
Installation
ukebox is intended to be a stand-alone command-line application but for the time being you need Rust (version >= 1.37.0) to build and run the program. The easiest way is to use cargo.
$ cargo install ukebox
Alternatively, get the source code by cloning the repo from Github.
$ git clone https://github.com/noeddl/ukebox
Downloadable binaries for different platforms will be provided in upcoming releases.
Usage
USAGE:
ukebox [OPTIONS] <chord>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-f, --min-fret <min-fret> Minimal fret (= minimal position) from which to play <chord> [default: 0]
-t, --tuning <tuning> Type of tuning to be used [default: C] [possible values: C, D, G]
ARGS:
<chord> Name of the chord to be shown
Currently, ukebox can handle the following types of chords:
- major chords, e.g.
C,D#,Eb - minor chords, e.g.
Cm,D#m,Ebm - suspended second chords, e.g.
Csus2,D#sus2,Ebsus2 - suspended fourth chords, e.g.
Csus4,D#sus4,Ebsus4 - augmented triads, e.g.
Caug,D#aug,Ebaug - diminished triads, e.g.
Cdim,D#dim,Ebdim - dominant 7th chords, e.g.
C7,D#7,Eb7 - minor 7th chords, e.g.
Cm7,D#m7,Ebm7 - major 7th chords, e.g.
Cmaj7,D#maj7,Ebmaj7 - minor/major 7th chords, e.g.
CmMaj7,D#mMaj7,EbmMaj7 - augmented 7th chords, e.g.
Caug7,D#aug7,Ebaug7 - augmented major 7th chords, e.g.
CaugMaj7,D#augMaj7,EbaugMaj7 - diminished 7th chords, e.g.
Cdim7,D#dim7,Ebdim7 - half-diminished 7th chords, e.g.
Cm7b5,D#m7b5,Ebm7b5
More types of chords will be supported in future versions (see #35).
Examples
When running the program with Rust, replace the command ukebox with cargo run --, e.g. cargo run -- G.
$ ukebox G
[G - G major]
A ||---|-o-|---|---|- B
E ||---|---|-o-|---|- G
C ||---|-o-|---|---|- D
G o||---|---|---|---|- G
$ ukebox G --min-fret 3
[G - G major]
A -|-o-|---|---|---|- D
E -|---|---|-o-|---|- B
C -|---|---|-o-|---|- G
G -|---|---|-o-|---|- D
5
$ ukebox G --tuning D
[G - G major]
B o||---|---|---|---|- B
F# ||-o-|---|---|---|- G
D o||---|---|---|---|- D
A ||---|-o-|---|---|- B
$ ukebox G --tuning D --min-fret 3
[G - G major]
B -|-o-|---|---|---|- D
F# -|---|---|-o-|---|- B
D -|---|---|-o-|---|- G
A -|---|---|-o-|---|- D
3
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.