Pocket Chordsmith Godot Addon
Bring Pocket Chordsmith songs into Godot as compiled charts, prepared audio and gameplay-ready music signals.
Author music in Pocket Chordsmith, arrange and render it in Pocket DAW, then use one PocketChordsmithConductor node to connect playback, beat and bar timing, sections, markers and adaptive music states to your game.
Version 1.3.0 · Godot 4.6 · MIT licence
Validation targets Godot 4.6.3. This release does not claim compatibility with Godot 4.4 or every export platform. Test your project's engine version, target device and audio workload before shipping.
What's New in 1.3.0
- Campfire Acoustic support: preserved sound identity and prepared strum/pick audio routing.
- Native Pocket DAW arrangement playback: import the exported arrangement and its timing map, including later clip edits, gaps, recorded media, rendered FX, automation and tails.
- Explicit loading-phase preparation: asynchronous preparation for section stems or a full native arrangement, with cancellation and warm-resource reuse.
- Prepared passage audition: hear a short section transition or a passage from a native DAW arrangement in the editor, with a visible range, lead-in, tail allowance and Stop control. Opening the panel does not autoplay.
- Prepared-audio corrections: improved section/global origins, full-mix versus stem selection, prepared loop handling and WAV endings.
Import, Inspect, Integrate
- Install
addons/pocket_chordsmith/in your project and enable Pocket Chordsmith under Project Settings → Plugins. - Open the Chordsmith editor screen.
- Import Pocket Chordsmith JSON, paste raw JSON or a
PCS1:share code, or choose Import DAW Pack for a Godot Adaptive Pack ZIP. - Review the import report, sections, sequence, timeline and event counts.
- Save the compiled chart as
.tresor.res. - Assign the chart and a
PCSPlaybackProfiletoPocketChordsmithConductor. - Prepare the required audio during loading, then start playback and connect the signals your game needs.
The importer supports PCS schema 17 and legacy schema-16 migration. It preserves profile identity, expressive events and musical metadata, and reports unsupported or approximated features rather than silently treating every sound as fully reproduced.
Choose Your Audio Workflow
Chordsmith Charts and Adaptive Sections
JSON and PCS1: codes contain musical structure, not rendered audio. Compile them into chart resources for beat, bar, section, marker, accent and event callbacks.
Pair charts with prepared stems or section loops for adaptive playback. Queue states and sequences at musical boundaries, adjust layers, duck music and trigger stingers through Godot-native audio.
Fully Arranged Pocket DAW Packs
New native DAW packs with timing metadata use the exported arrangement clock and default to the rendered full mix. Godot plays the arranged audio instead of rebuilding it from the embedded Chordsmith sections. The editable .pocketdaw source remains in the pack for use in Pocket DAW.
Native arrangement charts expose beat/bar timing and authored markers across the full arrangement. They do not reconstruct note-level gameplay events or turn the arrangement into an adaptive section remix. Make arrangement edits in Pocket DAW and re-export.
Independent stems are an optional alternative to the full mix. Because stems can include independently rendered nonlinear processing, their sum is not guaranteed to match the full mix. Legacy packs retain their existing source-chart/adaptive route.
Preview Without Production Stems
Use the built-in preview kit to audition imported charts without supplying your own samples. Render Preview Audio can bake chart-preview WAV stems for drums, bass, chords, guitar and melody before playback.
Preview sounds and aliases are approximations, not a replacement for the source application's complete synth and effects chain. Campfire's prepared audio is rendered before gameplay; this addon does not run the browser instrument engine inside your game. Use rendered packs or your own appropriately licensed audio when the final sound matters.
Playback Modes
STEM_SYNC: prepared music stems through Godot-native streams and buses.HYBRID: a prepared music bed plus event-triggered accents, samples or stingers.PROCEDURAL_PREVIEW: an editor/development audition path rather than the recommended production music bed.
Prepared section-loop profiles can keep the same audio set running across repeated section boundaries. Transitions between different assets are not a promise of sample-accurate switching or tail crossfades.
Prepare Audio Before Gameplay
For adaptive section assets:
var preparation = await conductor.prewarm_sections_async(["A", "B"])
if preparation.ok:
conductor.play()
For a native DAW arrangement, use prewarm_arrangement_async() instead. Preparation never starts playback itself. Use cancel_audio_prewarm() when abandoning a loading screen.
Imported resources use Godot's threaded loader, but raw WAV decoding and some PCM preparation still run on the main thread. Preparation is a loading-phase tool, not a guarantee of hitch-free gameplay or a fixed frame budget.
Connect Music to Your Game
@onready var conductor: PocketChordsmithConductor = $PocketChordsmithConductor
func _ready() -> void:
conductor.section_started.connect(_on_section_started)
conductor.marker_hit.connect(_on_marker_hit)
func _on_section_started(section_id: String) -> void:
print("Section: ", section_id)
func _on_marker_hit(marker_name: String) -> void:
print("Marker: ", marker_name)
With an adaptive chart and configured music states:
conductor.set_music_state("exploration")
conductor.queue_music_state(
"combat",
PocketChordsmithConductor.TransitionBoundary.NEXT_BAR
)
conductor.trigger_stinger("victory_hit", "exploration")
Transition boundaries include immediate, next beat, bar, section, loop and marker. Playback profiles provide the prepared assets, sample mappings and routing used by your chosen workflow.
Godot-Native Mixing
Control layer volumes and mutes, ducking, filters and configured bus effects from your game:
conductor.set_layer_volume("drums", -6.0)
conductor.mute_layer("melody", true)
conductor.duck_music(true, 0.5)
conductor.lowpass_music(0.75)
Create Chordsmith Audio Buses adds missing recommended music buses, reuses existing buses and repairs recommended sends. Music roles include drums, bass, chords, guitar, melody, stingers and FX, with optional texture routing. Defaults are dry so you can shape the mix in Godot.
Optional Push to Godot
Pocket Chordsmith can send a song to an open Godot editor through the addon's opt-in localhost receiver. The receiver is off by default and uses token/trust checks. When local push is unavailable, copy the PCS1: code and paste it into the Chordsmith screen instead.
Included Tools and Documentation
- Editor import, chart inspection and batch compilation.
- Prepared audio import, preview rendering and passage audition.
- Headless chart compilation, DAW pack import and runtime validation tools.
- Integration examples and guides for playback profiles, stems, sample preview and shipping checks.
- Schema migration and capability/loss diagnostics.
See the included README.md, CHANGELOG.md, MIGRATION.md and docs/ folder for setup, API examples and tested limits.
Licence and Source
The Godot addon is MIT licensed, copyright Samfa12. Keep its licence and copyright notice when redistributing it.
The wider Pocket Audio repository contains separately licensed components; the addon's MIT licence does not apply automatically to Pocket Chordsmith, Pocket DAW or the shared packages. Check the licences for any external audio you use.
Source repository · Pocket Chordsmith · Pocket DAW · Samfa12
Changelog for version v1.2.0
2026-07-22 06:37:26
No changelog provided for this version.