Formato abierto

SongForm Format

Un formato de texto plano y legible por personas para documentar canciones: acordes, estructura y letras en un único archivo.

Versión 1.0 Extensión: .sff.md Codificación: UTF-8

Convierte cualquier enlace de música en una setlist SFF

Importa un enlace de Spotify, Apple Music o YouTube Music y conviértelo en una lista canónica de canciones. Los álbumes y listas se expanden automáticamente en pistas individuales, puedes añadir canciones manualmente y descargarlas como una setlist SFF, listas para importar en SongForm y añadir tu propia forma de tocarlas.

Abrir el Conversor de Música en Streaming

¿Por qué SongForm Format?

Los músicos necesitan una forma de documentar canciones que sirva de puente entre dos mundos:

Guitar Pro es potente pero propietario, de código cerrado y excesivo para la mayoría de las canciones.
Los acordes + letra de Ultimate Guitar son accesibles pero pierden la estructura, sin tiempos claros, sin estándar de notación ni fidelidad de ida y vuelta.

SFF existe porque no deberías tener que elegir. Es un formato de texto plano diseñado por músicos, para músicos. Puedes editarlo en cualquier editor de texto, importarlo y exportarlo sin perder nada, y está estructurado para preservar lo que importa: qué tocas, cuándo lo tocas y qué cantas.

Piénsalo como "cifrados con metadatos". El formato que los guitarristas llevan décadas garabateando en papel, por fin formalizado.

Visión general del formato

SFF combina frontmatter YAML (para metadatos) con Markdown estructurado (para el contenido musical). Cada canción es un único archivo de texto plano. Sin binarios propietarios. Sin dependencias.

[metadatos de la canción]
[secciones con acordes y letras]

Eso es todo. Estructura simple, suficientemente potente.

Especificación

Frontmatter (YAML)

El archivo comienza con un bloque YAML delimitado por ---. Esta sección contiene todos los metadatos y las digitaciones opcionales.

Campos estándar

Campo Tipo Ejemplo Descripción
sff_versionstring"1.0.0"Versión del formato SFF. Asegura compatibilidad cuando el formato evolucione
titlestring"Bohemian Rhapsody"Nombre de la canción
artiststring"Queen"Artista o grupo que la interpreta
keystring"Bb" / "G#m"Tono de la canción
bpminteger120Tempo en pulsaciones por minuto
time_signaturestring"4/4" / "7/8"Métrica del compás
tuningstring"guitar_standard"Afinación del instrumento. Necesaria para interpretar las digitaciones correctamente
key_preferenceenum"sharps" / "flats"Si los acordes se muestran con sostenidos o bemoles
tagsarray["pop", "rock", "70s"]Etiquetas para buscar y filtrar
notesstringTexto libreNotas libres sobre el arreglo o la canción
draftbooleantrue / falseMarca la canción como borrador. Puede ocultarse en la biblioteca
song_releasedbooleantrue / falseIndica si la canción está publicada y lista para reproducción/exportación
chordsmapVer abajoDigitaciones por acorde. Solo necesario si la posición concreta importa

Digitaciones de acordes (opcional)

Si quieres preservar digitaciones concretas, incluye un diccionario chords:

chords:
  Am7: 0 0 2 0 1 0
  Gmaj7: 3 2 4 4 3 2
  Dsus4: x x 0 2 3 3

Formato: NombreAcorde: traste1 traste2 traste3 ... donde x significa "no tocar" y los números son posiciones de traste (de izquierda a derecha, típicamente de arriba hacia abajo en una guitarra estándar).

Cuerpo: Secciones y Bucles

Tras el cierre ---, el cuerpo de la canción contiene una secuencia de secciones. Cada sección comienza con un encabezado Markdown de nivel 2 (## NombreSección).

Un título Markdown opcional (# Título de la canción) puede aparecer al principio del archivo. Cuando exista, debe coincidir con el campo title del frontmatter.

Tipos de sección

Nombres de sección estándar:

  • Intro, Verse, Pre-Chorus, Chorus, Post-Chorus
  • Bridge, Middle 8, Solo, Breakdown, Outro
  • Offset: metadato de sincronización de audio en milisegundos (sección especial)

El mismo tipo de sección puede aparecer varias veces. El orden define la secuencia de reproducción.

Bucles: la unidad básica

Dentro de cada sección, la unidad básica es un bucle: una progresión de acordes. Cada bucle tiene:

  1. Una línea de duración: N: Acorde1 Acorde2 Acorde3 ...
  2. Una línea en blanco opcional
  3. La letra opcional en la(s) línea(s) siguientes

N es el número de compases del bucle. La línea en blanco entre acordes y letra es necesaria para que el markdown renderice cada bloque por separado. El parser sabe que empieza un nuevo bucle porque sus líneas siempre comienzan con N:.

## Verse
4: Am7  G

Primera progresión, cuatro compases

4: Am7  G  F  C

Segunda progresión, también cuatro compases

Notación de acordes

Los acordes se escriben en notación estándar:

  • Raíz: A a G, con # o b opcionales
  • Calidad: m, dim, aug, sus2, sus4, add9, etc.
  • Extensión: 7, 9, 11, maj7, m7b5, etc.
  • Nota de bajo: /Nota para indicar inversión

Ejemplos: C, Dm, G#m7, Fsus4, Cmaj7/E

Ejemplo completo

A continuación se muestra una canción real codificada en SFF. Wade in the Water de dominio público. Ilustra todas las características clave: frontmatter con digitaciones, un Offset para sincronización de audio, secciones con bucles de distinta duración, letras y una sección de solo.

wade-in-the-water.sff.md
---
sff_version: 1.0.0
title: Wade In the Water
artist: Public Domain
key: A minor
bpm: 113
time_signature: 4/4
tuning: guitar_standard
tags: [Singer/Songwriter]
draft: true
chords:
  Am: x 0 2 2 1 0
  G: 3 5 5 4 3 3
  F: 1 3 3 2 1 1
  E: 0 2 2 1 0 0
---

## Offset
440

## Intro
2: Am  G  F  E

2: Am  G  F  E

2: Am  G  F  E

2: Am  G  F  E

## Chorus
2: Am  G  F  E

Wade in the water

2: Am  G  F  E

wade in the water children

2: Am  G  F  E

wade in the water oh

2: Am  E  Am

God's gonna trouble the water

## Verse
2: Am  F  E

Who's that young girl dressed in red?

2: Am  G  F  E

wade in the water

2: Am  F  E

Must be the children that Moses led

2: Am  E  Am

God's gonna trouble the water

## Chorus
2: Am  G  F  E

Wade in the water

2: Am  G  F  E

wade in the water children

2: Am  G  F  E

wade in the water oh

2: Am  E  Am

God's gonna trouble the water

## Verse
2: Am  F  E

Who's that young girl dressed in white?

2: Am  G  F  E

wade in the water

2: Am  F  E

Must be the children of the Israelite

2: Am  E  Am

Oh God's gonna trouble the water

## Chorus
2: Am  G  F  E

Wade in the water

2: Am  G  F  E

wade in the water children

2: Am  G  F  E

wade in the water oh

3: Am  E  Am

God's gonna trouble the water

## Solo
15: Am  G  F  E

## Verse
3: Am  F  E

Who's that young girl dressed in blue?

1: Am  G  F  E

wade in the water

2: Am  F  E

must be the children that are coming through

2: Am  E  Am

God's gonna trouble the water

## Chorus
2: Am  G  F  E

Wade in the water

2: Am  G  F  E

wade in the water children

2: Am  G  F  E

wade in the water oh

2: Am  E  Am

God's gonna trouble the water

## Verse
2: Am  F  E

You don't believe I've been redeemed

2: Am  G  F  E

Wade in the water

2: Am  G  F  E

Just seen the holy ghost looking for me

2: Am  E  Am

God's gonna trouble the water

## Chorus
2: Am  G  F  E

Wade in the water

2: Am  G  F  E

wade in the water children

2: Am  G  F  E

wade in the water oh

3: Am  E  Am

God's gonna trouble the water

## Outro
2: Am  G  F  E

2: Am  G  F  E

2: Am  G  F  E

2: Am  G  F  E

2: Am  G  F  E

2: Am  G  F  E

Principios de diseño

Texto plano primero

Abre cualquier archivo en el Bloc de notas, Vim o tu editor favorito. No necesitas software propietario.

Fidelidad de ida y vuelta

Exporta tu canción de SongForm a SFF, edítala en cualquier sitio, vuelve a importarla, sin pérdidas.

Legible por personas

Si alguna vez has escrito un cifrado en papel, SFF te resultará familiar.

Sin ambigüedad

El número de compases es explícito. El orden de las secciones es el orden de reproducción. Sin suposiciones.

Extensible

Añade campos personalizados al frontmatter. Los parsers compatibles ignoran lo que no reconocen.

Comparativa: dónde encaja SFF

Formato Legible Editable en cualquier sitio Estructurado y sincronizable Portable Transposable Metadatos y digitaciones
Guitar Pro ✗ (propietario) Limitado
Ultimate Guitar
Papel
SongForm Format ✓✓

SFF te da todos los datos necesarios para tocar con precisión sobre tu audio, con la accesibilidad de un archivo de texto plano.

Primeros pasos con SFF

En SongForm puedes:

Importar tabs de Ultimate Guitar y convertirlos automáticamente a SFF
Exportar cualquier canción como .sff.md y versionarla en Git
Editar el archivo en cualquier editor de texto y volver a importarlo
Compartir un único archivo que lo contiene todo, sin dependencias externas

Pruébalo en SongForm

SFF es el formato nativo de SongForm para iOS. Importa, exporta y edita tus canciones, todo en un único archivo abierto.

Descubrir SongForm