Yakui Studio
Connects actual audio analysis, candidate transcription, manual refinement, and editable projects. Follows user-specified references and acknowledged music; music production itself does not authorize modifying the game or release packages.
Setup and Resources
The installed npm package provides the yakui-studio local workstation; yakui-studio --no-open only starts the service. yakui-studio setup --agent codex|claude|opencode|all installs this skill and the sibling procedural-chiptune; defaults to codex. Targets are $CODEX_HOME/skills (default ~/.codex/skills), ~/.claude/skills, ~/.config/opencode/skills (respects XDG_CONFIG_HOME). --skills-dir PATH specifies a single directory, --replace backs up existing versions before installation. When the skill is copied to another destination, both should remain adjacent folders.
yakui-studio music setup --profile basic: Set up the Python environment needed for analysis/procedural synthesis.yakui-studio music setup --profile transcribe: Install stem and transcription dependencies as needed; first-time stem processing may require model downloads.music analyze/separate/transcribe/review/init/rendercalls Python tools bundled with the package;music importconverts candidates into a workstation project. Run the subcommand--helpto confirm current parameters, especially transcription mode, input/output paths, and BPM.
If only the skill is installed, tools in procedural-chiptune/scripts can still be executed directly; script and template paths are resolved relative to that skill directory. Python 3.10+ and NumPy support basic synthesis; audio decoding and MP3 require FFmpeg. See Stems and Transcription for model dependencies.
If yakui-studio is not found in the shell, use npx --yes --package [email protected] yakui-studio --help; subsequent commands also append parameters after that prefix. Installing the skill does not install the agent CLI, log in to an account, or download music models. Codex and OpenCode use their existing login and model configurations; Claude Code's built-in candidate interface is reserved for future functionality. Candidate mode disables tools inside the workstation; external agents operate on projects via the CLI below.
External Agent Operating the Current Workstation
First run yakui-studio project --help and yakui-studio project read to read the current project, revision, track clips, and browser selection. The service defaults to http://127.0.0.1:5240; use YAKUI_STUDIO_URL to point to the instance the user actually has open, without creating a blank instance to replace it.
yakui-studio project selectionreads the selection,project selection --file selection.jsonupdates it.yakui-studio project apply --file operations.jsonapplies edits. The file must use the just-readprojectId,baseRevision, a newoperationId, andoperations; operation types, fields, and full examples can be found in Project CLI Protocol. On version conflict, re-read and re-evaluate edits; do not forcibly overwrite user changes by just swapping the revision.yakui-studio project import input.jsonorinput.midimports;project export output.jsonoroutput.midexports. Before importing, export the current project first to keep user-acknowledged material recoverable.yakui-studio project undo --revision N --project IDandredo --revision N --project IDoperate on the same service's undo history.
After editing, project read again to verify the actual revision and notes, and inform the user of changed tracks/clips. The workstation can immediately see modifications on the same project. Writing a disk JSON alone does not automatically change an open project.
From Reference to Project
- After obtaining a decodable audio file, follow Reference Analysis to check multiple phrases for tempo, half/double speed, and beat positions. When only a track name or link is available, do not claim to have listened or transcribed.
- Use Demucs when actual stems are needed, and retain the model's actual sources; drums/bass/other/vocals do not guarantee melody/countermelody. For separated polyphonic instruments, use Basic Pitch ONNX; for clearly monophonic segments, cross-check with pYIN. Verify short excerpts before extending to the full song.
- Save raw candidates, sources, timestamps, confidence/activation values, pitch bends, and manual reasons. Use
music revieworreview_notes.pyto apply role windows and explicit edits, preserving the before state. Conflicting roles remain unassigned; quantization fields are derived data. - Convert to a workstation project with
music import, then open the JSON in the interface. Preserve original candidate files; import maps notes to editable beat units. If the target format cannot carry pitch bends and other information, explain the limitation; do not present the project export as the complete raw evidence. - In the track arrangement, select a clip, enter the piano roll, and verify octave, onset, duration, repeated notes, ornaments, and simultaneous voices. Use solo, clip looping, and numeric attributes to refine segment by segment. Save the project JSON as an editable deliverable.
Manual and AI Collaboration
Clip start is measured in global beats, note start is relative to the clip; the time unit is quarter note beats. Be mindful of clip boundaries and cross-segment sustained notes. Project edits, undo, and redo change the revision.
AI modifications use explicit note/time selections: generate a candidate, listen to it for comparison, then apply or discard; regenerate stale candidates after project changes. AI arrangement suggestions do not constitute accurate transcription evidence of reference audio. When no configured agent is available, manual editing, listening, and exporting are still possible; unavailability or authentication failure must be reported honestly.
Original procedural music follows the procedural-chiptune init/render route; rewrite template motivations, avoid merely changing the BPM. Event score format is described in score-format. Browser synthesis and Python rendering are not sample-identical masters.
Delivery Standards
Clearly state "candidates extracted", "manually revised some phrases", or "verified full range against reference". Model output, import success, or AI modification success individually do not constitute accurate transcription. Note the verified range, unassigned voices, and uncertain notes; clearly mark original responses.
Deliverables: editable projects, necessary raw candidates and revision records, and playable audio previews. Project JSON preserves tracks and clips, event scores are used for procedural rendering, MIDI for external editing, and WAV for playback. Reference recordings are not automatically mixed into synthesized tracks or npm packages. If actual listening ability is unavailable, honestly state so and provide audio for the user to preview.