ukebox

Crates.io Documentation travis license rustc

ukebox is a ukulele chord finder for the command line written in Rust.

Features

Installation

ukebox is intended to be a stand-alone command-line application but for the time being you need Rust to build and run the program. The easiest way to install ukebox 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

FLAGS: -h, --help Prints help information -V, --version Prints version information

SUBCOMMANDS: chart Chord chart lookup help Prints this message or the help of the given subcommand(s) name Chord name lookup ```

When running the program with Rust, replace the command ukebox with cargo run --release, e.g. cargo run --release chart G.

Chord chart lookup

Use the subcommand chart to look up the chart for a given chord name.

``` USAGE: ukebox chart [OPTIONS]

FLAGS: -h, --help Prints help information -V, --version Prints version information

OPTIONS: -f, --min-fret Minimal fret (= minimal position) from which to play [default: 0] -t, --tuning Type of tuning to be used [default: C] [possible values: C, D, G]

ARGS: Name of the chord to be shown ```

Some examples:

``` $ ukebox chart G [G - G major]

A ||---|-o-|---|---|- B E ||---|---|-o-|---|- G C ||---|-o-|---|---|- D G o||---|---|---|---|- G ```

``` $ ukebox chart --tuning D G [G - G major]

B o||---|---|---|---|- B F# ||-o-|---|---|---|- G D o||---|---|---|---|- D A ||---|-o-|---|---|- B ```

``` $ ukebox chart --min-fret 3 G [G - G major]

A -|-o-|---|---|---|- D E -|---|---|-o-|---|- B C -|---|---|-o-|---|- G G -|---|---|-o-|---|- D 5 ```

``` $ ukebox chart --tuning D --min-fret 3 G [G - G major]

B -|-o-|---|---|---|- D F# -|---|---|-o-|---|- B D -|---|---|-o-|---|- G A -|---|---|-o-|---|- D 3 ```

Chord name lookup

Use the subcommand name to look up the chord name(s) corresponding to a given chord fingering.

``` USAGE: ukebox name [OPTIONS]

FLAGS: -h, --help Prints help information -V, --version Prints version information

OPTIONS: -t, --tuning Type of tuning to be used [default: C] [possible values: C, D, G]

ARGS: A compact chart representing the finger positions of the chord to be looked up ```

Some examples:

$ ukebox name 2220 D - D major

$ ukebox name --tuning D 2220 E - E major

$ ukebox name 0233 Csus2 - C suspended 2nd Gsus4 - G suspended 4th

If the fret pattern contains fret numbers greater than 9 you have to add spaces between the fret numbers and embed them in quotes:

$ ukebox name "7 7 7 10" G - G major

Supported chord types

Currently, ukebox can handle the following types of chords:

More types of chords will be supported in future versions (see #35).

License

Licensed under either of

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.