Formato de archivo de biblioteca

<- volver a la raíz del documento

library.json

Una biblioteca de Audio Forge exportada es un archivo ZIP que contiene un descriptor library.json y sus archivos de audio. El esquema legible por máquina actual es:

Esquema de biblioteca de Audio Forge v1

Los enteros y decimales JSON son válidos para los campos del tipo number. Por ejemplo, "ambianceDuckingPercent": 0 y "ambianceDuckingPercent": 0.0 son equivalentes.

El descriptor contiene exactamente una propiedad de nivel superior. Su nombre es el nombre de visualización de la biblioteca. La biblioteca puede contener Music, Ambiance, y la sección de legado Sound. Cada sección asigna nombres de categoría a objetos de categoría.

{
  "My Library": {
    "Music": {
      "Battle": {
        "name": "Battle",
        "packName": "user",
        "enabled": true,
        "oneShot": false,
        "iconType": "fontIcon",
        "targetVolume": 1.0
      }
    },
    "Ambiance": {
      "Thunder": {
        "name": "Thunder",
        "packName": "user",
        "enabled": true,
        "oneShot": true,
        "ambianceDuckingPercent": 0
      }
    }
  }
}

Solo name es obligatorio en un objeto de categoría. Los campos opcionales omitidos usan los valores predeterminados que se muestran a continuación. Un campo marcado como nullable también puede establecerse en null.

CampoTipo JSONValor predeterminado o significado
namestringNombre de visualización de la categoría requerido
packNamestring o nullCadena vacía
packIdstring o nullSin paquete asociado
iconinteger o nullCódigo de punto de la carpeta del material
iconFamilystring o nullMaterialIcons
iconPackagestring o nullSin paquete de iconos
iconRefobject o nullReferencia al registro con pack, name, y un entero opcional version
colorinteger o nullEntero ARGB de color; gris cuando se omite
isDefaultboolean o nullfalse
singleLoopboolean o nullfalse
oneShotboolean o nullfalse; usa true para una categoría Echo
singlePlayTransitionTostring o nullCadena vacía
singlePlayTransitionMsinteger o nullDuración del temporizador en milisegundos
singlePlayTransitionTrackCountinteger o null1
singlePlayStopPlaybackboolean o nullfalse
timerEnabledboolean o nullfalse
enabledboolean o nulltrue
indexinteger o null-1
keystring o nullClave de categoría de mercado sin mercado
minPauseinteger o nullPausa mínima en milisegundos; 0
maxPauseinteger o nullPausa máxima en milisegundos; 0
crossfadeDurationnumber o nullSegundos; 0. Los valores negativos superponen las pistas
transitionsEnabledboolean o nullfalse
nameIntlobject o nullMapa de cadena de nombre local
versioninteger o nullVersión de datos de la categoría
initialVolumenumber o nullGanancia interna inicial; no se anula cuando se omite
targetVolumenumber o nullGanancia interna de destino; no se anula cuando se omite
initialTransitioninteger o nullTransición inicial en milisegundos
initialPlaybackSpeednumber o nullMultiplicador de velocidad de reproducción
ambianceDuckingPercentnumber o nullPorcentaje de reducción de música de 0 a 100
iconTypestring o nullfontIcon o customIcon; por defecto fontIcon
customIconPathstring o nullRuta del icono personalizado dentro de la biblioteca

Los campos de volumen de categoría en library.json usan la ganancia interna de Audio Forge, donde 1.0 es la unidad y 2.0 es el máximo aumentado. Esto difiere de la escala de visualización normalizada 0.0 a 1.0 de la API Local.

Rutas de archivo

Los archivos de audio usan los nombres de categoría de library.json:

library.json
Music/Battle/battle-theme.ogg
Ambiance/Thunder/thunder.ogg

Los archivos de iconos personalizados exportados por Audio Forge se almacenan en user_icons/. Los metadatos de transición opcionales se almacenan en transitions/transitions.json, y los estados guardados opcionales se almacenan en saved_states.json.

Audio Forge valida el descriptor completo antes de modificar una biblioteca. Un campo no válido produce un error que contiene su biblioteca, sección, categoría y ruta de campo.