Skip to content

SteveMCWin/ttune

Repository files navigation

tTune

Cool banner :D

tTune is a stylized, extendable, keyboard oriented guitar tuning app right in your terminal!

Note: tTune is still actively developed. Future releases may be incompatible with previous ones due to my lack of foresight. If you cannot run the program after updating, please back up your configuration, delete your ~/.config/ttune directory and try running tTune again.


Showcase


Tuning G string demo


Tuning view


Settings view

Features

  • Pitch detection based on the YIN algorithm
  • Modern terminal UI
  • Easily customizable settings
  • Batteries included

Dependencies

  • Go 1.24
  • Portaudio 19.7.0

Arch Linux

sudo pacman -S pkgconf portaudio go

Debian

sudo apt-get install pkg-config portaudio19-dev golang-go

Installation

Arch Linux

yay -S ttune

Build From Source

# get dependencies first
git clone https://github.com/SteveMCWin/ttune.git
cd ttune
go build

Customization

You can add your own options to custom_options.json as long as you follow the existing format.

Note: If something breaks, back up and delete the edited files or the entire ~/.config/ttune/ directory - the defaults will be regenerated on the next run.


Ascii Art

Place your own ASCII art files in ~/.config/ttune/art/. To display a tuning alongside your art, insert %%% where you'd like the notes to appear (see ~/.config/ttune/art/utf_guitar for reference).

Recommended size: no wider than 24 characters and no taller than 20 lines. Oversized art will not render properly.


Border Style

Not extensible at the moment :^/

Want this to be moddable? Open an issue.


Color Theme

To add a new color theme, open ~/.config/ttune/custom_options.json and find the list of color themes. Add an entry with:

Field Description
name Name of the color theme
primary Hex color for borders
secondary Hex color for text
tertiary Hex color for selections

Note: Your terminal's background color will not be affected.


Displayed Tuning

To add a new tuning, open ~/.config/ttune/custom_options.json and find the list of tunings. Add an entry with:

Field Description
name Name of the tuning
notes List of notes it contains

Note: Each note must be exactly 3 characters long. Pad shorter note names with spaces (e.g., "E4 ").

Planned Features

  • Frequency detection
  • Customizable settings
  • Separate user settings
  • Scrollable settings options
  • Options for frequency detection
  • Improve pitch detection

About

A guitar tuner for your terminal

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages