Teclas

Tool list

Los nombres de las operaciones y los menús salen de la propia aplicación, así que se muestran en tu idioma.

Las descripciones de las herramientas son lo que lee la IA, así que están en inglés.

Herramientas#

NombreDescripciónArgumentos
pingChecks that the Tonograph MCP server responds. Connectivity check only: it never touches song data.message (opcional)
getSongMetadataReturns the title, artist, tempo, track count, bar count and unsaved state of the open song. Call this first, before you start editing.
getTracksSummaryReturns the index, name, kind (strings = fretted tab / pitched = pitched staff / percussion), tuning and bar count of each track. The kind decides which write tool applies: setFret for strings, addPitchedNote for pitched, addPercussionNote for percussion.
getValidationReturns validation results (errors / warnings) for the edit model, plus any conversion warnings from a .gp import. Use it after writing to confirm that your edits are sound.
getBarRangeReturns the contents of a bar range on one track (beats, note values, notes, techniques, and how full each bar is). At most 32 bars per request. All indexes are 0-based.trackIndexfromBartoBar
getExportWarningsReturns the elements that exporting to a .gp file would lose or alter as the song stands. Check this before running exportGp so you can change the notation if needed.
getScoreImageReturns a PNG image of the current song rendered as real notation (standard staff + tablature). Use it to check with your own eyes how the edits you made actually look on the page. Every argument is optional; by default it draws the first 32 bars of all tracks. One image covers at most 32 bars, and rendering fails if the result would be too tall, so narrow the bar range or use trackIndex to draw a single track.trackIndex (opcional)fromBar (opcional)toBar (opcional)scale (opcional)
setSongInfoChanges metadata such as title and artist, and the initial tempo. Only the fields you pass are updated. Passing an empty string clears that field (except for title).title (opcional)subtitle (opcional)artist (opcional)album (opcional)words (opcional)music (opcional)tempoBpm (opcional)
addTrackAppends one track to the song, padded with rests to match the existing bar count. grandPiano is a grand staff (two staves), so it becomes two tracks in the model.preset
setFretPlaces a fret number at the given position on a string track, replacing any note already on that string. string 1 is the highest-sounding string, drawn on the top line of the tab staff. duration only applies when placing a note on a rest. The beat must already exist: a new empty bar holds a single rest, so to write a phrase, set the first note, then call insertBeat to add each following beat. Writes from this server never apply the user's automatic bar reflow (pushing overflow into the next bar or filling gaps with rests), so a bar can end up too short or too long: check getValidation (bar-not-full) and fix the bar yourself.trackIndexbarIndexvoiceIndex (opcional)beatIndexstringfretduration (opcional)
addPitchedNoteAdds a note to the given beat on a non-tab pitched track (piano, vocals, and so on). MIDI key = octave × 12 + tone (middle C = octave 5, tone 0).trackIndexbarIndexvoiceIndex (opcional)beatIndexoctavetone
addPercussionNoteAdds a hit to the given beat on a percussion track. articulation is an index into the percussionArticulations list returned by getTracksSummary.trackIndexbarIndexvoiceIndex (opcional)beatIndexarticulation
insertBeatAdds a rest right after the given beat, so there is a beat to write the next note into (the same rule as pressing the right arrow key at the end of the song in the app). If the bar is already full and it is the last bar, a new bar is appended instead and the new beat is its first beat (a rest spanning the whole bar; placing a note with a duration shortens it). If the bar is full and another bar follows, nothing is added: write into the next bar. The result reports the new beat position as focus. Works on every track kind. Writes from this server never apply the user's automatic bar reflow (pushing overflow into the next bar or filling gaps with rests), so a bar can end up too short or too long: check getValidation (bar-not-full) and fix the bar yourself.trackIndexbarIndexvoiceIndex (opcional)beatIndexduration (opcional)
undoUndoes the last edit (the same as Cmd+Z in the app).
redoRedoes the last undone edit (the same as Shift+Cmd+Z in the app).
setTimeSignatureSets an explicit time signature on the given bar. Later bars inherit it until another one is set. Existing beats are not moved, so use the fill field of getBarRange to see whether bars are now short or over-full.trackIndexbarIndexnumeratordenominator
setKeySignatureSets an explicit key signature on the given bar. Later bars inherit it until another one is set. accidentals counts the sharps or flats: positive for sharps, negative for flats (G major = 1, F major = -1).trackIndexbarIndexaccidentalsmode (opcional)
insertBarInserts an empty bar **immediately after** the given bar, on every track at once (bar counts always stay in step across tracks). The new bar is filled with rests matching the time signature.trackIndexbarIndex
deleteBarDeletes the given bar from every track. The last remaining bar cannot be deleted. Time and key signatures carry over to the next bar where needed, so the notation keeps its meaning.trackIndexbarIndex
setTuningSets the tuning of a string track as an array of MIDI numbers, ordered **lowest string first**. Standard = [40,45,50,55,59,64], drop D = [38,45,50,55,59,64]. If the string count shrinks, notes that fall outside are handled according to outOfRange.trackIndextuningoutOfRange (opcional)
setNoteEffectsSets techniques on the given note. This is an **explicit set, not a toggle**, so calling it twice with the same arguments gives the same result. Techniques you do not pass are left as they are; passing null clears one. On string tracks it targets the single note on the given string; elsewhere (piano, percussion) it targets every note in the beat.trackIndexbarIndexvoiceIndex (opcional)beatIndexstringtie (opcional)hammerPull (opcional)palmMute (opcional)letRing (opcional)dead (opcional)ghost (opcional)staccato (opcional)tapping (opcional)harmonic (opcional)vibrato (opcional)accent (opcional)slide (opcional)
setBendSets the bend curve on a note. Pass type: null to clear it. points is two or more pairs in ascending offset order: offset (0 = start of the beat, 60 = end of the beat) and quarterTones (in quarter-tone steps: 2 = a semitone, 4 = a whole tone, 12 max). Whole-tone bend: type=bend, points=[{offset:0,quarterTones:0},{offset:60,quarterTones:4}].trackIndexbarIndexvoiceIndex (opcional)beatIndexstringtypepoints (opcional)
saveSaves the current song over its existing file (the same as Cmd+S in the app). It cannot run for a song that has no file yet (new, imported from .gp, or a sample score); in that case the user has to save it once from the app first.
exportGpExports the song as a .gp file. path must be an **absolute path** ending in .gp. Existing files are not overwritten by default; pass overwrite: true only when you do want to replace one. Use getExportWarnings beforehand to see what the export would lose. On the Mac App Store build the app is sandboxed: the user is asked where to save, so the file may end up somewhere other than path. Always read the path in the result.pathoverwrite (opcional)
exportMidiNuevo en 1.1.0Exports the song as a Standard MIDI File (format 1, 960 ticks per quarter note). Notes, bends (pitch bend on a second channel), tempo and time signature changes are written; playing techniques and lyrics are not. path must be an **absolute path** ending in .mid. Existing files are not overwritten by default; pass overwrite: true to replace one. On the Mac App Store build the app is sandboxed and the user is asked where to save; always read the path in the result.pathoverwrite (opcional)
exportAudioNuevo en 1.1.0Renders the song with Resonance Engine exactly as it would play in the app (pedalboards, instruments, volume, pan, mute and solo) and writes a 16-bit 44.1 kHz stereo WAV. Rendering takes roughly 15% of the song length. Fails while playback is running. path must be an **absolute path** ending in .wav. Existing files are not overwritten by default; pass overwrite: true to replace one. On the Mac App Store build the user is asked where to save; always read the path in the result.pathoverwrite (opcional)
replaceDocumentReplaces the entire song being edited. **The undo history is discarded**, so confirm: true is required. A model with validation errors is rejected and the errors are returned instead. For partial changes prefer the individual tools (setFret, insertBar and so on): they are safer and can be undone.songconfirm

Recursos#

URIDescripción
song://currentThe edit model of the song currently open in Tonograph (JSON, the same shape as the model in a .tonograph file). Use it to read the whole song at once; getBarRange is lighter for partial reads.
song://current/ascii{?trackIndex,fromBar,toBar}Returns a bar range of one track as ASCII tablature. Use it to get a feel for the layout and the flow of the fingering. At most 32 bars per request. Example: song://current/ascii?trackIndex=0&fromBar=0&toBar=7
song://current/image{?trackIndex,fromBar,toBar}Returns a PNG image of the current song rendered as real notation (standard staff + tablature). Use it to check with your own eyes how the edits you made actually look on the page. Every argument is optional; by default it draws the first 32 bars of all tracks. One image covers at most 32 bars, and rendering fails if the result would be too tall, so narrow the bar range or use trackIndex to draw a single track. Example: song://current/image?trackIndex=0&fromBar=0&toBar=7

Solo busca en el texto del manual. Los resultados están en inglés, salvo las listas de teclas y menús