NØISEES

Hacer canciones con IA

Recetas

Hacer una versión, construir sobre una canción que ya existe, y pedir formas que puedas tocar de verdad.

Hacer una versión

El prompt make_song lo hace en un paso; la mayoría de los clientes lo muestran como un comando con barra. A mano:

  1. song_format y capabilities, para que el modelo conozca la forma y los límites.
  2. Averigua la tonalidad, el tempo y las secciones: por lo que el modelo sabe de la grabación o por una hoja de acordes, nunca por las letras. El prompt lo dice: una página de letras no cuenta nada que una hoja de acordes no cuente, y una canción NØISE no las lleva.
  3. check_chords sobre los acordes, contra la tonalidad.
  4. chord_shapes para las formas.
  5. build_song.

Pide al modelo que diga cómo de seguro está. El prompt se lo dice, porque una suposición reconocida es útil y un acorde equivocado dicho con seguridad no.

Cambiar una sola cosa de una canción existente

Envía la canción como base y solo el cambio como changes. Así el modelo nunca tiene que repetir el cifrado entero, que es donde las cosas se pierden sin que nadie lo note.

{
  "base": "noise://song?d=…",
  "mode": "direct",
  "changes": [
    { "op": "setSection", "index": 1, "patch": { "fillIn": "crash", "preset": "TIGHT", "energy": "lift" } }
  ]
}

Las operaciones son setSong, setSection, addSection, removeSection, setBar y transpose. Un patch de setSection puede fijar un solo campo de un carril y dejar el resto; setSong toma el estilo, el kit y los carriles propios de la canción. Cualquier cosa que apunte a una sección o un compás que no existe se rechaza por su nombre, no se adivina.

Dale forma a la canción

La banda toca un buen arreglo por sí sola; los carriles son para lo que hace reconocible esta canción. Lee la canción como lo haría un batería y toca lo menos posible:

"style": "rock", "kit": "rock.clean", "preset": "LAID BACK",
"sections": [
  { "name": "INTRO", "energy": "hold", "bars": ["G", "B", "C", "Cm"] },
  { "name": "VERSE", "repeats": 2, "bars": ["G", "B", "C", "Cm"] },
  { "name": "CHORUS", "energy": "lift", "fillIn": "crash", "preset": "DRIVING", "colorLayer": true, "bars": ["G", "B", "C", "Cm"] },
  { "name": "VERSE", "fillIn": "splash", "fillOut": "fill", "bars": ["G", "B", "C", "Cm"] },
  { "name": "CHORUS", "energy": "lift", "fillIn": "crash", "preset": "DRIVING", "colorLayer": true, "bars": ["G", "B", "C", "Cm"] },
  { "name": "BRIDGE", "energy": "groove", "preset": "TIGHT", "fillOut": "none", "bars": ["G", "B", "C", "Cm"] },
  { "name": "OUTRO", "energy": "hold", "drumsOff": true, "bars": ["G", "B", "C", "Cm"] }
]

Siete secciones, los carriles tocados en cuatro sitios: los estribillos llegan con un crash y tocan DRIVING, la segunda estrofa aterriza suave y vuelve a entrar con un fill, el puente se aprieta y va directo al último estribillo, el outro es la guitarra sola. Todo lo demás sigue solo. La guía song_format tiene las reglas detrás de esto: la energía primero, deja que la estrofa la siga, marca las llegadas, el fill es la salida, un preset por tipo de sección, los cambios de feel son raros, sin batería es un silencio de verdad.

La canción reconstruida conserva un sourceId que apunta a la original, así que el linaje sobrevive.

Transponer

{ "base": "…", "changes": [{ "op": "transpose", "semitones": -2 }] }

La tonalidad se mueve, los acordes absolutos se mueven con ella, y se reescriben como pide la tonalidad nueva. Los grados relativos a la tonalidad no necesitan cambio: siguen la tonalidad por sí solos.

Las formas suben o bajan por el mástil con su acorde, salvo donde eso es imposible: una forma con una cuerda al aire no se puede mover (no hay traste por debajo de la cejuela) y una que se saldría del mástil tampoco. Esas vuelven a la forma propia de NØISE, y la respuesta dice cuáles.

Pedir formas que puedas tocar de verdad

{ "song": { … }, "fillGrips": true, "gripCategory": "open" }

Cada acorde sin forma recibe una. Donde la categoría no tiene nada para un acorde (Bm no tiene forma abierta, es un acorde con cejilla) se vuelve a la forma por defecto de NØISE y te lo dice:

no open grip exists for Bm (easy), so the app's own default was used

Construir sobre una canción de la biblioteca de la web

Pasa el id público de una canción como base:

{ "base": "d_OxIkOTen", "changes": [{ "op": "setSong", "patch": { "bpm": 96 } }] }

Solo las canciones publicadas se pueden leer así.

Escríbelo como un músico

Desde 0.71 tres notaciones del texto del cifrado funcionan dentro de los compases de build_song, y la banda toca las tres:

  • Una línea de bajo descendente: ["C", "C/B", "Am", "Am/G"], o, para que transponga, {"degree": 1}, {"degree": 1, "bass": "7"}, {"degree": 6}, {"degree": 6, "bass": "5"}. El bajo es un grado de la tonalidad; un nombre de nota ("bass": "E") también vale.
  • Un estribillo que entra antes: "^G" en su primer acorde; la banda lo ataca una corchea antes del compás y lo mantiene. "^^G" es una semicorchea antes.
  • Un cambio en el tiempo 4: ["C(3)", "G(1)"] en un compás.

Una canción tocada con cejilla lleva "capo": 2 en la canción y sus acordes como los tocan las manos: Wonderwall son formas de Em con cejilla en 2, y la banda de NØISE la hace sonar en fa♯ menor.