Documentação do arquivo de playlist do superaudio.
Essa documentação descreve o arquivo de playlist padrão do superaudio, o arquivo tem informações sobre a grade musical e comercial da rádio.
Informações sobre o arquivo
| Tipo do Arquivo | .json (JavaScript Object Notation) |
| Nome do arquivo | YYYYMMDD.json |
Estrutura do arquivo
Objeto Json raiz do arquivo de playlist.
| header | Objeto contendo informações extras da playlist: data, dia da semana, estação, logo da companhia e rádio | object |
| playlists | Objeto contendo os programas. | object |
header Informações extras da playlist: data, dia da semana, estação, logo
Campos de header
| date | Data da playlist no formato ISO 8601 | string |
| day | Dia da semana | string |
| type | Valor fixo: superPlay | string |
| extra | Objeto contendo informações extras: station, company_img, branch_name, branch_img | object |
Campos de header.extra
| station | Código da estação do Sync | string |
| company_img | Link da logo da companhia | string ou null |
| branch_name | Nome fantasia da rádio (filial) | string |
| branch_img | Link da logo da rádio | string ou null |
Exemplo do objeto header
{
"header": {
"date": "2021-05-24T00:00:00+00:00",
"day": "Segunda-Feira",
"type": "superPlay",
"extra": {
"station": "C91476F598",
"company_img": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/9b22543ff392b3aacd0316275542a39b_13f476248a1f4a6bc60cd729c4d53e89.png",
"branch_name": "Rádio SuperAudio FM",
"branch_img": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/a076fc9f4e2678eb42267848bcad0fb3_799f740b40266f72ab59848ec6aca49d.png"
}
},
"playlists": {}
}
playlists Objeto contendo os programas da grade
Campos de cada programa
| program | Nome do programa | string |
| cover | Link da capa do programa | string ou null |
| start | Início do programa em segundos do dia | integer |
| duration | Duração do programa em segundos | integer |
| extras | Objeto contendo informações extras do programa: tag_bumpers, ia_voice | object |
| blocks | Objeto contendo os blocos do programa: musical e comercial | object |
Campos de extras
| tag_bumpers | Lista com os identificadores das tags de vinheta (bumper) vinculadas ao programa | array |
| ia_voice | Objeto com informações da voz de IA do programa. Presente apenas quando o programa possui uma voz de IA configurada | object, quando presente |
Campos de ia_voice
| voice_id | Identificador da voz de IA | string |
| original_name | Nome original da voz | string |
| alias | Apelido definido pela empresa para a voz | string ou null |
blocks Blocos do programa: comercial ou musical
| type | Tipo do bloco: commercial ou musical | string |
| start | Início do bloco em segundos | integer |
| start_alias | Alias/rótulo alternativo do horário de início do bloco, quando definido. Presente apenas nos blocos do tipo musical | string ou null |
| duration | Duração do bloco em segundos | integer |
| commercials | Objeto contendo os comerciais. Só está disponível nos blocos do tipo commercial | object |
| musics | Objeto contendo command, music, media, prompt. Só está disponível nos blocos do tipo musical | object |
commercials Comerciais dentro de um bloco do tipo commercial
| type | Tipo da mídia: commercial | string |
| typeCM | Origem do comercial: contracts (contrato padrão), midiaPlus ou winkochan | string |
| id | Identificador da mídia na plataforma | integer ou null |
| text | Nome da mídia | string |
| path | Caminho absoluto na máquina do Sync até a mídia | string |
| path_storage | Link para download da mídia do servidor | string ou null |
| cover | Link para download da capa da mídia do servidor. | string ou null |
| start | Início em segundos | integer |
| duration | Duração em segundos | integer |
| nro_int | Número interno do comercial. Presente apenas quando typeCM é midiaPlus | integer, quando presente |
Exemplo do bloco comercial
{
"blocks": {
"0": {
"type": "commercial",
"start": 0,
"duration": 60,
"commercials": {
"0": {
"type": "commercial",
"typeCM": "contracts",
"id": 165,
"text": "Comercial-SuperAudio",
"path": "D:\\Radio\\Comerciais\\Comercial-SuperAudio.mp3",
"path_storage": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/e799a1abb812c8cba389282720d787fc_5b1e202cdc2c0ddd1a59bf1d2e70eb33.mp3",
"cover": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/221eb0671f05f15610166de130e60ea9_41ebdd88245f51173e49ff85bae1f47f.png",
"start": 60,
"duration": 45
}
}
}
}
}
command Item de comando dentro de um bloco musical
| type | Valor fixo: command | string |
| text | Nome do comando | string |
| start | Início em segundos | integer |
| duration | Duração em segundos | integer |
| command | Código do comando (ex: #hc hora certa, #st streaming, #lon, #sp) | string |
| cover | Link para a capa/imagem associada ao comando, quando disponível | string ou null |
| use_prefix | Indicador se utiliza prefixo ou não. Presente apenas quando command é #hc | boolean, quando presente |
| path_storage | Link para download do comando quando disponível. Presente apenas quando command é #hc | string ou null, quando presente |
| id / name / link | Identificador, nome e link do streaming associado. Presentes apenas em comandos de streaming (ex: #st) | quando presentes |
| programmed_start | Hora de início agendada (HH:MM) do Streaming-IN Programado. Presente apenas quando o streaming é do tipo scheduled e o campo Start foi informado | string, quando presente |
| programmed_end | Hora de término agendada (HH:MM) do Streaming-IN Programado. Presente apenas quando o streaming é do tipo scheduled e o campo End foi informado | string, quando presente |
| duration_full | Duração completa do conteúdo do comando. Presente apenas em alguns comandos (ex: #lon) | integer, quando presente |
| command_config | Configurações adicionais do comando. Presente apenas em alguns comandos (ex: #sp) | object, quando presente |
Exemplo do objeto de comando dentro do bloco musical
{
"blocks": {
"0": {
"type": "musical",
"start": 0,
"duration": 60,
"musics": {
"0": {
"type": "command",
"text": "Hora Certa",
"start": 0,
"duration": 5,
"command": "#hc",
"cover": null,
"use_prefix": true,
"path_storage": null
}
}
}
}
}
music Item de música dentro de um bloco musical
Campos de music
| type | Valor fixo: music | string |
| id | Identificador da música na plataforma | integer |
| text | Nome da música | string |
| path | Caminho absoluto até o arquivo | string |
| path_storage | Link para download do arquivo | string ou null |
| cover | Link para download da capa | string ou null |
| start | Início em segundos | integer |
| duration | Duração em segundos | integer |
| extra | Objeto contendo informações extras: fixed, preview, intro, favorite, style, nationality, rhythm, category, released, mix | object |
Campos de music.extra.mix
| duration_total | Duração total da faixa, em milissegundos | integer |
| duration_real | Duração real da faixa considerando os pontos de mixagem, em milissegundos | integer |
| mix_init | Ponto inicial de mixagem, em milissegundos | integer |
| mix_end | Ponto final de mixagem, em milissegundos | integer |
| mix_total_milesecond | Milissegundos padrão de mixagem aplicados quando não há pontos definidos pela onda sonora (waveform) | integer |
| is_waveform | Indica se os pontos de mixagem vieram da onda sonora (waveform) da faixa | boolean |
| waveform_content | Conteúdo bruto da onda sonora (waveform) da faixa, quando disponível | object ou null |
Exemplo do objeto de música dentro do bloco musical
{
"blocks": {
"0": {
"type": "musical",
"start": 126,
"duration": 267,
"musics": {
"0": {
"type": "music",
"id": 14899,
"path": "D:\\Radio\\M\u00fasicas\\M\u00fasicas (Padr\u00e3o)\\Jon Secada - Angel.mp3",
"path_storage": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/c06c5e242636cc10a844dabbe4b0f29d_76f149d7ff3446b5978dccbf55fba557.mp3",
"cover": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/d3c80076cca536a21bef2ef3f7679a26_82211e123ef169f880d47549ef545b33.jpg",
"text": "Jon Secada - Angel",
"start": 126,
"duration": 267,
"extra": {
"fixed": false,
"preview": false,
"intro": false,
"favorite": true,
"style": "Pop",
"nationality": "Estrangeira",
"rhythm": "Lenta",
"category": "Flash",
"released": "1992",
"mix": {
"duration_total": 267000,
"duration_real": 260000,
"mix_init": 0,
"mix_end": 260000,
"mix_total_milesecond": 7000,
"is_waveform": false,
"waveform_content": null
}
}
}
}
}
}
}
media Item de mídia (vinheta, chamada, bumper, etc.) dentro de um bloco musical
| type | Valor: vem, intro, preview, media, bumper, commercial, jornalism | string |
| id | Identificador da mídia na plataforma | integer |
| text | Nome da mídia | string |
| path | Caminho absoluto até o arquivo | string |
| path_storage | Link para download do arquivo | string ou null |
| cover | Link para download da capa quando disponível | string ou null |
| start | Início em segundos | integer |
| duration | Duração em segundos | integer |
| extra | Objeto contendo informações extras: fixed, fitting, replaced, mix | object |
Exemplo do objeto de media dentro do bloco musical
{
"blocks": {
"0": {
"type": "musical",
"start": 105,
"duration": 21,
"musics": {
"0": {
"type": "bumper",
"id": 1484,
"text": "AB - MADRUGADA LIGHT",
"path": "D:\\Radio\\M\u00eddias\\Vinhetas Gerais\\AB - MADRUGADA LIGHT.mp3",
"path_storage": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/7afdd90399724eb0015eacf0db5ff993_8640ff7d384b8a81354858ded81cdafb.mp3",
"cover": null,
"start": 105,
"duration": 21,
"extra": {
"fixed": false,
"fitting": true,
"replaced": false,
"mix": null
}
}
}
}
}
}
prompt Item de locução gerada por IA dentro de um bloco musical
Campos de prompt
| type | Valor fixo: prompt | string |
| id | Identificador do prompt na plataforma | integer |
| text | Nome do prompt | string |
| start | Início em segundos | integer |
| duration | Duração em segundos | integer |
| extra | Objeto contendo informações da locução gerada por IA a partir do prompt (voz, roteiro e configurações da faixa) | object |
O prompt é utilizado para geração de locuções via IA (voz sintetizada) dentro do bloco musical. A chave extra do prompt contém as seguintes informações:
Campos de prompt.extra
| company_id | Identificador da empresa dona do prompt | integer ou null |
| prompt | Texto do prompt/roteiro utilizado para gerar a locução | string ou null |
| use_regras_gerais | Indica se o prompt utiliza as regras gerais de locução da empresa | boolean |
| prompt_type | Tipo do prompt | string ou null |
| prompt_type_id | Identificador do tipo do prompt | integer ou null |
| settings | Configurações adicionais do prompt | object ou null |
| track_origin | Origem da faixa de áudio gerada | string ou null |
| track_media_type_id | Identificador do tipo de mídia da faixa | integer ou null |
| track_media_id | Identificador da mídia da faixa | integer ou null |
| track_collection_id | Identificador da coleção da faixa | integer ou null |
| track_volume | Volume aplicado à faixa | number ou null |
| track_intro_ms | Duração da introdução da faixa, em milissegundos | integer ou null |
| track_post_ms | Duração do trecho final da faixa, em milissegundos | integer ou null |
| track_disable | Indica se a faixa está desabilitada | boolean ou null |
| track_loop | Indica se a faixa deve repetir em loop | boolean ou null |
| track_audio_url | URL do áudio da faixa | string ou null |
| track_media_name | Nome da mídia da faixa | string ou null |
| voice_name | Identificador da voz de IA utilizada na locução | string ou null |
| voice_use_program_locutor | Indica se a voz de IA configurada no programa (ia_voice) foi utilizada | boolean |
| voice_nickname | Apelido de exibição da voz | string ou null |
| voice_speed | Velocidade da voz | number ou null |
| voice_volume | Volume da voz | number ou null |
| voice_instruction | Instrução adicional para a geração da voz | string ou null |
| voice_velocity_config_id | Identificador da configuração de velocidade da voz | integer ou null |
| auto_execute | Indica se o prompt é executado automaticamente | boolean ou null |
| text_provider_token_id | Identificador do token do provedor de texto | integer ou null |
| text_provider_model | Modelo do provedor de texto utilizado | string ou null |
| voice_provider_token_id | Identificador do token do provedor de voz | integer ou null |
| voice_provider_model | Modelo do provedor de voz utilizado | string ou null |
Exemplo do arquivo de playlist
arquivo: 20210524.json
{
"header": {
"date": "2021-05-24T00:00:00+00:00",
"day": "Segunda-Feira",
"type": "superPlay",
"extra": {
"station": "C91476F598",
"company_img": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/9b22543ff392b3aacd0316275542a39b_13f476248a1f4a6bc60cd729c4d53e89.png",
"branch_name": "Rádio SuperAudio FM",
"branch_img": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/a076fc9f4e2678eb42267848bcad0fb3_799f740b40266f72ab59848ec6aca49d.png"
}
},
"playlists": {
"87": {
"program": "Madrugada Lite",
"cover": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/c7e6ac3562d923c076b3c3627dd60fe5_abecec6f6cace4719baeaa38730407b4.jpg",
"start": 0,
"duration": 25200,
"extras": {
"tag_bumpers": []
},
"blocks": {
"0": {
"type": "commercial",
"start": 0,
"duration": 60,
"commercials": {}
},
"1": {
"type": "musical",
"start": 60,
"start_alias": null,
"duration": 1740,
"musics": {
"0": {
"type": "command",
"text": "Hora Certa",
"start": 60,
"duration": 5,
"command": "#hc",
"cover": null,
"use_prefix": true,
"path_storage": null
},
"1": {
"type": "media",
"id": 2279,
"text": "Spot-SuperAudio",
"path": "D:\\Radio\\M\u00eddias\\Chamadas\\Spot-SuperAudio.mp3",
"path_storage": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/e799a1abb812c8cba389282720d787fc_5b1e202cdc2c0ddd1a59bf1d2e70eb33.mp3",
"cover": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/221eb0671f05f15610166de130e60ea9_41ebdd88245f51173e49ff85bae1f47f.png",
"start": 60,
"duration": 45,
"extra": {
"fixed": false,
"fitting": false,
"replaced": false,
"mix": null
}
},
"2": {
"type": "bumper",
"id": 1484,
"text": "AB - MADRUGADA LIGHT",
"path": "D:\\Radio\\M\u00eddias\\Vinhetas Gerais\\AB - MADRUGADA LIGHT.mp3",
"path_storage": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/7afdd90399724eb0015eacf0db5ff993_8640ff7d384b8a81354858ded81cdafb.mp3",
"cover": null,
"start": 105,
"duration": 21,
"extra": {
"fixed": false,
"fitting": true,
"replaced": false,
"mix": null
}
},
"3": {
"type": "music",
"id": 14899,
"path": "D:\\Radio\\M\u00fasicas\\M\u00fasicas (Padr\u00e3o)\\Jon Secada - Angel.mp3",
"path_storage": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/c06c5e242636cc10a844dabbe4b0f29d_76f149d7ff3446b5978dccbf55fba557.mp3",
"cover": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/d3c80076cca536a21bef2ef3f7679a26_82211e123ef169f880d47549ef545b33.jpg",
"text": "Jon Secada - Angel",
"start": 126,
"duration": 267,
"extra": {
"fixed": false,
"preview": false,
"intro": false,
"favorite": true,
"style": "Pop",
"nationality": "Estrangeira",
"rhythm": "Lenta",
"category": "Flash",
"released": "1992",
"mix": null
}
}
}
},
"2": {
"type": "commercial",
"start": 1800,
"duration": 60,
"commercials": {}
}
}
},
"88": {
"program": "Lite Brasil",
"cover": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/060b837c2e3a3a928b60f3a7f6b511a7_9acd30ee555631b92ce3581643b6b0d3.jpg",
"start": 25200,
"duration": 3600,
"extras": {
"tag_bumpers": []
},
"blocks": {
"0": {
"type": "commercial",
"start": 25200,
"duration": 60,
"commercials": {}
},
"1": {
"type": "musical",
"start": 25260,
"start_alias": null,
"duration": 1740,
"musics": {
"0": {
"type": "media",
"id": 1550,
"text": "RedeNews1",
"path": "D:\\Radio\\M\u00eddias\\Rede News\\RN1.mp3",
"path_storage": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/09034ab5d725b6105e7d8d91532fe5fd_ad2620ba6763f7a93a6cbf4445695b7f.mp3",
"cover": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/c19795079fc1a9a1e1d1fe3d4ea52327_3e7f9a337ad85e1265053a0e7440139d.jpg",
"start": 27300,
"duration": 72,
"extra": {
"fixed": false,
"fitting": true,
"replaced": false,
"mix": null
}
},
"1": {
"type": "command",
"text": "Hora Certa",
"start": 27374,
"duration": 5,
"command": "#hc",
"cover": null,
"use_prefix": true,
"path_storage": null
},
"2": {
"type": "music",
"id": 15725,
"path": "D:\\Radio\\M\u00fasicas\\M\u00fasicas (Padr\u00e3o)\\Tribalistas - J\u00e1 Sei Namorar.mp3",
"path_storage": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/447a99893c429e14d9a610a34f2c9c4b_271a86d136a7fb888f76f8f1846da929.mp3",
"cover": "https:\/\/superaudio.nyc3.digitaloceanspaces.com\/89bc01f6c2a373befa68b9f9ae27ec16_5c1572ff110ea5a3d0afae77b6f1e6f0.jpg",
"text": "Tribalistas - J\u00e1 Sei Namorar",
"start": 27454,
"duration": 199,
"extra": {
"fixed": false,
"preview": false,
"intro": false,
"favorite": false,
"style": "Pop",
"nationality": "Nacional",
"rhythm": "M\u00e9dia",
"category": "Flash",
"released": "2002",
"mix": null
}
}
}
}
}
}
}
}