{
  "title": "Banter FM",
  "edition": 5,
  "seconds": 2112.741111111111,
  "tracks": [
    {
      "id": "cold-funk",
      "title": "Cold Funk",
      "artist": "Kevin MacLeod",
      "url": "./assets/banter-fm-track-cold-funk-v2.m4a",
      "start": 0,
      "seconds": 288.2142857142857,
      "rmsDb": -21.00012119422534,
      "peakDb": -3.006520023958429,
      "bytes": 3546636,
      "license": "CC BY 4.0",
      "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
      "source": "https://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100499",
      "bpm": 112
    },
    {
      "id": "dirt-rhodes",
      "title": "Dirt Rhodes",
      "artist": "Kevin MacLeod",
      "url": "./assets/banter-fm-track-dirt-rhodes-v2.m4a",
      "start": 288.2142857142857,
      "seconds": 120.0,
      "rmsDb": -21.013469845458136,
      "peakDb": -5.335552166714871,
      "bytes": 1456476,
      "license": "CC BY 4.0",
      "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
      "source": "https://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100542",
      "bpm": 82
    },
    {
      "id": "funkorama",
      "title": "Funkorama",
      "artist": "Kevin MacLeod",
      "url": "./assets/banter-fm-track-funkorama-v2.m4a",
      "start": 408.2142857142857,
      "seconds": 201.38614512471656,
      "rmsDb": -21.0002722029982,
      "peakDb": -3.319272894698406,
      "bytes": 2475673,
      "license": "CC BY 4.0",
      "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
      "source": "https://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100474",
      "bpm": 101
    },
    {
      "id": "slow-burn",
      "title": "Slow Burn",
      "artist": "Kevin MacLeod",
      "url": "./assets/banter-fm-track-slow-burn-v2.m4a",
      "start": 609.6004308390022,
      "seconds": 228.705873015873,
      "rmsDb": -21.000910065686703,
      "peakDb": -7.230593887359537,
      "bytes": 2803239,
      "license": "CC BY 4.0",
      "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
      "source": "https://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100609",
      "bpm": 84
    },
    {
      "id": "george-street-shuffle",
      "title": "George Street Shuffle",
      "artist": "Kevin MacLeod",
      "url": "./assets/banter-fm-track-george-street-shuffle-v2.m4a",
      "start": 838.3063038548753,
      "seconds": 268.235306122449,
      "rmsDb": -21.004887586882944,
      "peakDb": -3.4680675251172777,
      "bytes": 3302426,
      "license": "CC BY 4.0",
      "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
      "source": "https://incompetech.com/music/royalty-free/index.html?isrc=USUAN1300035",
      "bpm": 153
    },
    {
      "id": "backbay-lounge",
      "title": "Backbay Lounge",
      "artist": "Kevin MacLeod",
      "url": "./assets/banter-fm-track-backbay-lounge-v2.m4a",
      "start": 1106.5416099773242,
      "seconds": 266.5,
      "rmsDb": -21.000001619780942,
      "peakDb": -4.624774784520061,
      "bytes": 3263629,
      "license": "CC BY 4.0",
      "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
      "source": "https://incompetech.com/music/royalty-free/index.html?isrc=USUAN1700068",
      "bpm": 120
    },
    {
      "id": "airport-lounge",
      "title": "Airport Lounge",
      "artist": "Kevin MacLeod",
      "url": "./assets/banter-fm-track-airport-lounge-v2.m4a",
      "start": 1373.0416099773242,
      "seconds": 307.61795918367346,
      "rmsDb": -21.00259876163588,
      "peakDb": -4.083121176794668,
      "bytes": 3808181,
      "license": "CC BY 4.0",
      "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
      "source": "https://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100806",
      "bpm": 129
    },
    {
      "id": "lobby-time",
      "title": "Lobby Time",
      "artist": "Kevin MacLeod",
      "url": "./assets/banter-fm-track-lobby-time-v2.m4a",
      "start": 1680.6595691609978,
      "seconds": 193.12501133786847,
      "rmsDb": -21.179992386162944,
      "peakDb": -2.9999995180030155,
      "bytes": 2377645,
      "license": "CC BY 4.0",
      "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
      "source": "https://incompetech.com/music/royalty-free/index.html?isrc=USUAN1600054",
      "bpm": 128
    },
    {
      "id": "funky-chunk",
      "title": "Funky Chunk",
      "artist": "Kevin MacLeod",
      "url": "./assets/banter-fm-track-funky-chunk-v1.m4a",
      "start": 1873.7845804988663,
      "seconds": 238.9565306122449,
      "rmsDb": -21.006025143746854,
      "peakDb": -5.444111938510108,
      "bytes": 2951545,
      "license": "CC BY 4.0",
      "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
      "source": "https://incompetech.com/music/royalty-free/index.html?isrc=USUAN1500054",
      "bpm": 115
    }
  ],
  "announcements": [
    {
      "id": "johnny-paradise",
      "voice": "Johnny Dynamite - Vintage Radio DJ",
      "text": "Another day in paradise. A little coffee. A little chaos. You're listening to Banter FM.",
      "url": "./assets/banter-fm-id-johnny-paradise-v2.m4a",
      "seconds": 7.1,
      "rmsDb": -21.00000039371811,
      "peakDb": -6.854033886534367,
      "bytes": 60419
    },
    {
      "id": "rachel-small-cars",
      "voice": "Rachel M - Pro British Radio Presenter",
      "text": "Banter FM. Small cars. Big opinions.",
      "url": "./assets/banter-fm-id-rachel-small-cars-v2.m4a",
      "seconds": 3.86,
      "rmsDb": -21.00000050476656,
      "peakDb": -6.965559558741293,
      "bytes": 35934
    },
    {
      "id": "johnny-traffic",
      "voice": "Johnny Dynamite - Vintage Radio DJ",
      "text": "Tonight's traffic report: coffee on the inside lane. Take it smooth.",
      "url": "./assets/banter-fm-id-johnny-traffic-v2.m4a",
      "seconds": 4.65734693877551,
      "rmsDb": -20.99999991792683,
      "peakDb": -7.048865231966514,
      "bytes": 41335
    },
    {
      "id": "rachel-smooth",
      "voice": "Rachel M - Pro British Radio Presenter",
      "text": "Stay smooth. Stay sideways. Stay on the table.",
      "url": "./assets/banter-fm-id-rachel-smooth-v2.m4a",
      "seconds": 3.7077551020408164,
      "rmsDb": -21.000000038720717,
      "peakDb": -7.631745202374411,
      "bytes": 33819
    },
    {
      "id": "johnny-company",
      "voice": "Johnny Dynamite - Vintage Radio DJ",
      "text": "This is Banter FM. Good company. Questionable cornering.",
      "url": "./assets/banter-fm-id-johnny-company-v1.m4a",
      "seconds": 4.886281179138322,
      "rmsDb": -21.462531736480443,
      "peakDb": -7.67976393421976,
      "bytes": 43934,
      "generated": "2026-10-26",
      "model": "Eleven v4"
    },
    {
      "id": "rachel-getaway",
      "voice": "Rachel M - Pro British Radio Presenter",
      "text": "Banter FM. A little groove for your tiny getaway.",
      "url": "./assets/banter-fm-id-rachel-getaway-v1.m4a",
      "seconds": 4.195827664399093,
      "rmsDb": -21.375113125346687,
      "peakDb": -7.40453202434388,
      "bytes": 37724,
      "generated": "2026-10-26",
      "model": "Eleven v4"
    },
    {
      "id": "johnny-bridge",
      "voice": "Johnny Dynamite - Vintage Radio DJ",
      "text": "Traffic update. Four cars. One biscuit bridge. Nobody is giving way.",
      "url": "./assets/banter-fm-id-johnny-bridge-v1.m4a",
      "seconds": 5.858163265306122,
      "rmsDb": -21.537722344238738,
      "peakDb": -7.589752972881971,
      "bytes": 50954,
      "generated": "2026-10-26",
      "model": "Eleven v4"
    },
    {
      "id": "rachel-gap",
      "voice": "Rachel M - Pro British Radio Presenter",
      "text": "Mind the gap. And your friend's very confident driving.",
      "url": "./assets/banter-fm-id-rachel-gap-v1.m4a",
      "seconds": 4.207120181405895,
      "rmsDb": -21.462642050418857,
      "peakDb": -7.6329207026927195,
      "bytes": 37956,
      "generated": "2026-10-26",
      "model": "Eleven v4"
    },
    {
      "id": "johnny-excuses",
      "voice": "Johnny Dynamite - Vintage Radio DJ",
      "text": "Another lap, another excuse. Keep it small. Keep it Banter.",
      "url": "./assets/banter-fm-id-johnny-excuses-v1.m4a",
      "seconds": 4.908072562358277,
      "rmsDb": -21.567869621216843,
      "peakDb": -7.367743104525129,
      "bytes": 43627,
      "generated": "2026-10-26",
      "model": "Eleven v4"
    },
    {
      "id": "rachel-coffee",
      "voice": "Rachel M - Pro British Radio Presenter",
      "text": "Fresh coffee. Smooth music. Absolutely no promises about the racing.",
      "url": "./assets/banter-fm-id-rachel-coffee-v1.m4a",
      "seconds": 5.96671201814059,
      "rmsDb": -21.428336110368896,
      "peakDb": -7.501766019231715,
      "bytes": 52777,
      "generated": "2026-10-26",
      "model": "Eleven v4"
    },
    {
      "id": "johnny-table",
      "voice": "Johnny Dynamite - Vintage Radio DJ",
      "text": "If you can hear this, you are still on the table. Probably.",
      "url": "./assets/banter-fm-id-johnny-table-v1.m4a",
      "seconds": 4.325691609977325,
      "rmsDb": -21.548866080771067,
      "peakDb": -7.42679106343568,
      "bytes": 37856,
      "generated": "2026-10-26",
      "model": "Eleven v4"
    },
    {
      "id": "rachel-drivers",
      "voice": "Rachel M - Pro British Radio Presenter",
      "text": "Big night. Small wheels. Same lovely bunch of terrible drivers.",
      "url": "./assets/banter-fm-id-rachel-drivers-v1.m4a",
      "seconds": 5.471111111111111,
      "rmsDb": -21.412121009700186,
      "peakDb": -7.390282536388423,
      "bytes": 48065,
      "generated": "2026-10-26",
      "model": "Eleven v4"
    }
  ],
  "rotation": {
    "mode": "persistent shuffle without replacement",
    "repeatGuard": "All songs play before repeating; avoid the last song and announcement across sessions.",
    "announcementFrequency": "One short approved clip at startup and each completed song; manual skip has no extra speech."
  },
  "voiceProduction": {
    "provider": "ElevenLabs",
    "model": "Eleven v4",
    "aiGenerated": true,
    "existingApprovedClipsOnly": false,
    "musicDuckDb": -12.041199826559248,
    "musicBusDefault": 0.4,
    "processing": "Short edge fades, gentle peak compression and level matching to existing quiet inserts; music bus and ducking unchanged.",
    "newClipCount": 8,
    "generationAuthorization": "User requested eight new Johnny/Rachel inserts on 26 October 2026"
  },
  "modifications": "Nine full licensed tracks. Owner-approved Funky Chunk added, level matched to the quiet playlist. Cool Vibes and Groove Grove removed. All twelve Johnny/Rachel inserts retained.",
  "attribution": "Music by Kevin MacLeod (incompetech.com), licensed under Creative Commons Attribution 4.0: https://creativecommons.org/licenses/by/4.0/"
}
