Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
guitartutor
command
Command guitartutor is the guitarTutor practice application.
|
Command guitartutor is the guitarTutor practice application. |
|
internal
|
|
|
appconfig
Package appconfig persists user preferences — chosen audio devices, calibrated latency offsets, an optional SoundFont path, recently-opened pieces and the window geometry to restore — as a small JSON file in the platform config directory (os.UserConfigDir()/guitartutor/config.json).
|
Package appconfig persists user preferences — chosen audio devices, calibrated latency offsets, an optional SoundFont path, recently-opened pieces and the window geometry to restore — as a small JSON file in the platform config directory (os.UserConfigDir()/guitartutor/config.json). |
|
audio
Package audio abstracts live audio I/O behind the Backend interface, per ROADMAP Phase 2: one full-duplex stream so guitar capture and playback share a callback, with the concrete implementation (miniaudio via gen2brain/malgo) fenced behind cgo.
|
Package audio abstracts live audio I/O behind the Backend interface, per ROADMAP Phase 2: one full-duplex stream so guitar capture and playback share a callback, with the concrete implementation (miniaudio via gen2brain/malgo) fenced behind cgo. |
|
audiofile
Package audiofile decodes audio files into the project-standard 48 kHz stereo float32 format (ROADMAP Phase 3: backing-track import).
|
Package audiofile decodes audio files into the project-standard 48 kHz stereo float32 format (ROADMAP Phase 3: backing-track import). |
|
corpus
Package corpus locates the real-instrument test corpus: recorded guitar audio, and score files exported by Guitar Pro and MuseScore themselves.
|
Package corpus locates the real-instrument test corpus: recorded guitar audio, and score files exported by Guitar Pro and MuseScore themselves. |
|
engine
Package engine is guitarTutor's frame-counted practice sequencer: the one clock everything else hangs off (ROADMAP.md "Guiding principles").
|
Package engine is guitarTutor's frame-counted practice sequencer: the one clock everything else hangs off (ROADMAP.md "Guiding principles"). |
|
fretting
Package fretting assigns string/fret fingerings to pitches that arrive without any — MIDI carries no string or fret information, so tab display needs a heuristic (ROADMAP Phase 1: the heuristic is swappable and its output is visually marked as inferred).
|
Package fretting assigns string/fret fingerings to pitches that arrive without any — MIDI carries no string or fret information, so tab display needs a heuristic (ROADMAP Phase 1: the heuristic is swappable and its output is visually marked as inferred). |
|
gpimport
Package gpimport reads Guitar Pro 7/8 .gp files into the score model.
|
Package gpimport reads Guitar Pro 7/8 .gp files into the score model. |
|
latency
Package latency implements the DSP for the round-trip latency calibration wizard (ROADMAP Phase 2).
|
Package latency implements the DSP for the round-trip latency calibration wizard (ROADMAP Phase 2). |
|
live
Package live glues a duplex audio stream to the practice engine and the pitch pipeline: one audio callback pulls playback frames from the engine and pushes the captured guitar signal into a lock-free ring that an analysis goroutine drains through the detector and tracker.
|
Package live glues a duplex audio stream to the practice engine and the pitch pipeline: one audio callback pulls playback frames from the engine and pushes the captured guitar signal into a lock-free ring that an analysis goroutine drains through the detector and tracker. |
|
midiimport
Package midiimport reads Standard MIDI Files into the score model.
|
Package midiimport reads Standard MIDI Files into the score model. |
|
mxlimport
Package mxlimport reads MusicXML files — uncompressed .musicxml and the zipped .mxl container — into the score model.
|
Package mxlimport reads MusicXML files — uncompressed .musicxml and the zipped .mxl container — into the score model. |
|
pitch
Package pitch is guitarTutor's monophonic pitch engine: an MPM (McLeod pitch method) detector with a YIN-FFT cross-check, an onset/energy gate, and a note tracker that turns per-hop f0 estimates into discrete note events.
|
Package pitch is guitarTutor's monophonic pitch engine: an MPM (McLeod pitch method) detector with a YIN-FFT cross-check, an onset/energy gate, and a note tracker that turns per-hop f0 estimates into discrete note events. |
|
pitchml
Package pitchml is guitarTutor's optional ONNX pitch backend: SwiftF0 (MIT, https://github.com/lars76/swift-f0) wrapped as a pitch.F0Estimator, per docs/DECISIONS.md D4 and ROADMAP Phase 4.
|
Package pitchml is guitarTutor's optional ONNX pitch backend: SwiftF0 (MIT, https://github.com/lars76/swift-f0) wrapped as a pitch.F0Estimator, per docs/DECISIONS.md D4 and ROADMAP Phase 4. |
|
practice
Package practice scores what the guitarist plays against what the score expects, and drives wait mode.
|
Package practice scores what the guitarist plays against what the score expects, and drives wait mode. |
|
score
Package score defines guitarTutor's canonical music representation.
|
Package score defines guitarTutor's canonical music representation. |
|
score/textfmt
Package textfmt parses the guitarTutor text tab format (.gtab), the small alphaTex-inspired authoring language specified in docs/TEXTFORMAT.md.
|
Package textfmt parses the guitarTutor text tab format (.gtab), the small alphaTex-inspired authoring language specified in docs/TEXTFORMAT.md. |
|
synth
Package synth defines the voice interface the engine renders through, plus its implementations: a built-in Karplus-Strong plucked-string voice (no assets required) and a SoundFont voice backed by go-meltysynth (used when the user supplies an .sf2 file).
|
Package synth defines the voice interface the engine renders through, plus its implementations: a built-in Karplus-Strong plucked-string voice (no assets required) and a SoundFont voice backed by go-meltysynth (used when the user supplies an .sf2 file). |
|
ui
Package ui is the Ebitengine practice view: a scrolling tablature with a fixed playhead, driven entirely by the engine's clock.
|
Package ui is the Ebitengine practice view: a scrolling tablature with a fixed playhead, driven entirely by the engine's clock. |
|
wavio
Package wavio reads and writes RIFF/WAVE files for the offline render path and DSP test fixtures.
|
Package wavio reads and writes RIFF/WAVE files for the offline render path and DSP test fixtures. |
|
tools
|
|
|
genfixtures
command
Command genfixtures writes testdata/fixture_riff.mid: the canonical 4-bar fixture riff (see docs/TEXTFORMAT.md) as a format-1 Standard MIDI File at PPQ 960, 120 BPM, 4/4, with one guitar track.
|
Command genfixtures writes testdata/fixture_riff.mid: the canonical 4-bar fixture riff (see docs/TEXTFORMAT.md) as a format-1 Standard MIDI File at PPQ 960, 120 BPM, 4/4, with one guitar track. |
|
gengp
command
Command gengp writes testdata/fixture_riff.gp: the canonical 4-bar fixture riff (see docs/TEXTFORMAT.md) as a Guitar Pro 7/8-style .gp file — a plain ZIP archive holding Content/score.gpif, the id-referential GPIF XML document.
|
Command gengp writes testdata/fixture_riff.gp: the canonical 4-bar fixture riff (see docs/TEXTFORMAT.md) as a Guitar Pro 7/8-style .gp file — a plain ZIP archive holding Content/score.gpif, the id-referential GPIF XML document. |
|
uishot
command
Command uishot renders one guitarTutor screen to a PNG.
|
Command uishot renders one guitarTutor screen to a PNG. |
Click to show internal directories.
Click to hide internal directories.