Source-only Forza custom radio helper with FH1 song-picker example
Find a file
2026-05-24 14:18:17 +02:00
1_extracted_originals Initial source-only Forza custom radio tool export 2026-05-24 14:18:17 +02:00
2_my_music Initial source-only Forza custom radio tool export 2026-05-24 14:18:17 +02:00
3_normalized_wavs Initial source-only Forza custom radio tool export 2026-05-24 14:18:17 +02:00
4_install_to_game Initial source-only Forza custom radio tool export 2026-05-24 14:18:17 +02:00
examples/fh1-horizon-xs-song-picker Initial source-only Forza custom radio tool export 2026-05-24 14:18:17 +02:00
.gitignore Initial source-only Forza custom radio tool export 2026-05-24 14:18:17 +02:00
forza_radio.py Initial source-only Forza custom radio tool export 2026-05-24 14:18:17 +02:00
LICENSE Initial source-only Forza custom radio tool export 2026-05-24 14:18:17 +02:00
NOTICE.md Initial source-only Forza custom radio tool export 2026-05-24 14:18:17 +02:00
README.md Initial source-only Forza custom radio tool export 2026-05-24 14:18:17 +02:00

Forza Custom Radio Tool

Source-only helper for replacing a Forza Horizon radio station with your own legally-owned music files. It can unpack a station bank, loudness-normalize replacement tracks, rebuild a .assets.bank, and update RadioInfo_EN.xml metadata so song titles/artists display in-game.

This repository intentionally does not include music, generated WAVs, game files, rebuilt banks, downloaded third-party tools, or prebuilt executables.

What is included

  • forza_radio.py — Tkinter workflow app for unpack/normalize/rebuild/update-XML.
  • Empty workflow folders used by the app:
    • 1_extracted_originals/
    • 2_my_music/
    • 3_normalized_wavs/
    • 4_install_to_game/
  • examples/fh1-horizon-xs-song-picker/ — static song-selection example for a Forza Horizon 1-inspired Horizon XS playlist. It contains metadata and review links only, not audio.
  • Supply your own audio files. Do not use this repository as a music downloader.
  • Back up original game files before copying anything into a game install.
  • Test offline / Solo first. Online play and anti-cheat/mod-policy consequences are not verified.
  • The app downloads external audio tools on first use if they are missing: ffmpeg, vgmstream, and FMOD/fsbankcl-related files. Those tools have their own licenses/terms; you are responsible for complying with them.
  • This project is not affiliated with, endorsed by, or supported by Microsoft, Playground Games, Turn 10, Forza, or FMOD.

Basic workflow

  1. Copy the target RadioInfo_EN.xml from your game audio folder into this tool folder.

  2. Put replacement music you own into 2_my_music/ using Artist - Title.ext filenames where possible.

  3. Run the app:

    python forza_radio.py
    
  4. Use the app tabs to unpack/inspect the original bank, normalize your music, rebuild the bank, and update XML metadata.

  5. Copy generated outputs from 4_install_to_game/ into the game folder only after backing up the originals.

Build a local Windows executable

A prebuilt executable is not tracked in this repository. If you want one, build it locally from source:

python -m pip install pyinstaller
python -m PyInstaller --onefile --windowed --name forza_radio forza_radio.py

The executable will be created under dist/. It still downloads the external audio tools on first use if they are not already present.

FH1 Horizon XS song-picker example

Open the static example directly in a browser:

examples/fh1-horizon-xs-song-picker/index.html

It lets you review a Forza Horizon 1 Bass Arena + Pulse candidate set, adjust selection/order/metadata, and export JSON/CSV manifests. Links are for review/evidence only; the example does not download or include music.

Credits

Original tool/source copyright: Jan Mazanek, MIT licensed.

Thanks/third-party ecosystem noted by the upstream project:

  • vgmstream team — FSB5 → WAV decoding.
  • FMOD Studio — fsbankcl, used to rebuild Vorbis banks.
  • Wouldubeinta / Fmod-Bank-Tools — prior-art workflow.
  • ElRors / ForzaRadioModTool — mirror used by the tool for FMOD-related files.
  • ffmpeg — audio normalization.
  • Forza modding community research around radio audio formats.

License

MIT. See LICENSE.