internal/

directory
v0.0.0-...-341f52a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2026 License: MIT

Directories

Path Synopsis
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).
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.
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).
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.
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").
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).
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.
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).
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.
Package midiimport reads Standard MIDI Files into the score model.
Package midiimport reads Standard MIDI Files into the score model.
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.
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.
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.
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.
Package score defines guitarTutor's canonical music representation.
Package score defines guitarTutor's canonical music representation.
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.
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).
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.
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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL