[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-82139":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},82139,"fh6-universal-radio","g0ldyy\u002Ffh6-universal-radio","g0ldyy","Forza Horizon 6's universal radio mod: play local files, online radio, Spotify, YouTube Music, Jellyfin, or any Windows app through the in-game station.","",null,"C++",177,28,105,5,0,3,18,72,15,4.39,"GNU General Public License v3.0",false,"main",[],"2026-06-12 02:04:23","\u003Ch1 align=\"center\" id=\"title\">📻 FH6 Universal Radio\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FNyZUcATqWZ\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-Join%20Us-5865F2?style=flat-square&logo=discord&logoColor=white\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\u003Cimg src=\"assets\u002Fbanner.png\" alt=\"FH6 Universal Radio\" \u002F>\u003C\u002Fp>\n\nAn open-source radio mod for **Forza Horizon 6**. Adds a new in-game radio station fed from your **local music**, **YouTube Music**, or **Jellyfin** server, controlled from a browser dashboard.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fingame.png\" alt=\"In-game radio station\" width=\"49%\" \u002F>\n  \u003Cimg src=\"assets\u002Fwebui.png\" alt=\"Web dashboard\" width=\"49%\" \u002F>\n\u003C\u002Fp>\n\n## Features\n\n- **Local files**: point it at any folder. MP3 \u002F FLAC \u002F WAV \u002F OGG play out of the box; M4A \u002F AAC \u002F OPUS \u002F WMA \u002F etc. play if `ffmpeg` is installed (same binary as YouTube Music below).\n- **YouTube Music**: paste any video, playlist, or YT Music URL from the dashboard.\n- **Jellyfin**: stream playlists from your own Jellyfin server.\n- **In-game radio integration**: audio is routed through FH6's radio bus, fades with menus and reacts to in-game volume like every other station.\n- **Live dashboard** at `http:\u002F\u002Flocalhost:8420`: switch source, transport controls, volume, settings.\n- **Race start action**: on race begin, advance to next track, restart the current one, or leave it alone.\n- **Quick station skip**: tune the radio knob away and back within 1s to skip the current track.\n- **Loudness normalization**: For consistent volume across tracks.\n- **5-band equalizer**: 60 Hz \u002F 250 Hz \u002F 1 kHz \u002F 4 kHz \u002F 12 kHz peaking biquads, ±6 dB per band, applied producer-side at 48 kHz before audio hits the game.\n\n## Install\n\n1. Download the latest `fh6-universal-radio.zip` from [Nexus Mods](https:\u002F\u002Fwww.nexusmods.com\u002Fforzahorizon6\u002Fmods\u002F215).\n2. Close FH6.\n3. Extract the ZIP into your Forza Horizon 6 install folder (next to `forzahorizon6.exe`). Overwrite when prompted.\n4. Launch the game. In **Audio settings**, set **Radio DJ = Off** and **Streamer Mode = On**.\n5. Cycle through radio stations until you land on the new one.\n6. Open \u003Chttp:\u002F\u002Flocalhost:8420> in any browser on the same machine. From another device on the same network, use your PC's local IP (e.g. `http:\u002F\u002F192.168.1.42:8420`), run `ipconfig` in a Command Prompt to find it.\n\n### YouTube Music\n\nYouTube playback requires three external tools. Open a **Command Prompt** and run:\n\n```\nwinget install yt-dlp.yt-dlp\nwinget install Gyan.FFmpeg\nwinget install DenoLand.Deno\n```\n\nThen restart the game.\n\n`yt-dlp` can also be pointed at explicitly in the dashboard under **Settings > YouTube Music** if you prefer a manual install.\n`ffmpeg` can also be configured under **Settings > General > ffmpeg path**.\n\nPrivate\u002Fage-restricted content also needs a Netscape `cookies.txt` exported from your browser. Use an extension like **Get cookies.txt LOCALLY** to export it.\n\n## Uninstall\n\n- Delete `version.dll` from the game directory.\n- Delete the `fh6-radio` folder.\n- Verify game files through Steam \u002F Xbox \u002F Microsoft Store to restore the patched assets.\n\n## Build from source\n\nThe output is always a Windows `version.dll`. You also need the radio-station media overlay from any existing radio mod ZIP. It's mod-agnostic, but the assets are modified copies of game files so we don't ship them.\n\n### Windows\n\nRequires **Visual Studio 2022+** with the *Desktop development with C++* workload (CMake is bundled).\n\n```powershell\n.\\scripts\\get-deps.ps1                                                  # one-time: header-only deps\n.\\scripts\\build.ps1                                                     # compile + stage dist\\\n.\\scripts\\fetch-media.ps1 -Source \"C:\\path\\to\\radio-mod.zip\"            # radio-station overlay\n.\\scripts\\install.ps1 -GameDir \"C:\\XboxGames\\Forza Horizon 6\\Content\"   # copy into game\n```\n\n### Linux (cross-compile to Windows)\n\nRequires **CMake** and **llvm-mingw** (the Clang-based MinGW-w64 toolchain, since the codebase uses MSVC SEH which GCC-mingw doesn't implement). On Arch: `sudo pacman -S llvm-mingw cmake`. On other distros, grab a release from [mstorsjo\u002Fllvm-mingw](https:\u002F\u002Fgithub.com\u002Fmstorsjo\u002Fllvm-mingw\u002Freleases) and unpack it under `\u002Fopt\u002Fllvm-mingw` (the build script auto-detects that path).\n\n```bash\n.\u002Fscripts\u002Fget-deps.sh                                                   # one-time: header-only deps\n.\u002Fscripts\u002Fbuild.sh                                                      # compile + stage dist\u002F\n.\u002Fscripts\u002Ffetch-media.sh \u002Fpath\u002Fto\u002Fradio-mod.zip                         # radio-station overlay\n.\u002Fscripts\u002Finstall.sh ~\u002F.steam\u002Fsteam\u002Fsteamapps\u002Fcommon\u002FForzaHorizon6      # copy into game (Proton prefix)\n```\n\n## Troubleshooting\n\n| Symptom | Fix |\n|---|---|\n| Dashboard says **bridge offline** | Media overlay not installed. Re-run `install.ps1` with `dist\\media\\` present. |\n| New radio station doesn't show in-game | **Audio > Streamer Mode** is off. Turn it on, restart the game. |\n| Game crashes on launch | Antivirus quarantined `version.dll`. Add an exclusion for the game folder. |\n| Local files don't play | No `music_dir` set, or the folder only has unsupported formats. Set one from the dashboard. |\n| `[local] failed to open ... .m4a` (or `.opus`, `.aac`, ...) | The built-in decoder handles MP3\u002FFLAC\u002FWAV\u002FOGG only; other formats are routed through `ffmpeg`. Install it (`winget install Gyan.FFmpeg`) and either put it on `PATH` or set the path under **Settings > General > ffmpeg path**. |\n| YouTube Music produces no audio | Check `%TEMP%\\fh6-stderr.log` (helper-process stderr lands there). Usually missing yt-dlp\u002Fffmpeg, expired cookies, or geo\u002Fformat restrictions. |\n| Jellyfin cast returns \"fetch failed\" (502) | Check server URL, API key, and user ID under **Settings > Jellyfin**, that the playlist ID exists, and that the server is reachable from this machine. Jellyfin transcodes to PCM via `ffmpeg`, so the configured ffmpeg path must be valid. |\n\n## Why this exists\n\n[Big John](https:\u002F\u002Fwww.nexusmods.com\u002Fforzahorizon6\u002Fmods\u002F95) released a great **Spotify** radio mod for FH6 that I drew a lot of inspiration from. The catch: it requires Spotify Premium, and the author chose to keep it closed-source. I built FH6 Universal Radio because I believe the project can go much further once the community is allowed to contribute: adding sources (TIDAL, internet radio, etc.), polishing the UI, fixing edge cases, supporting more game builds. So this one is **fully open and GPLv3-licensed** to make that possible.\n\n## Support the Project\n\nFH6 Universal Radio is a community-driven project, and your support helps it grow! 🚀\n\n- ❤️ **Donate** via [GitHub Sponsors](https:\u002F\u002Fgithub.com\u002Fsponsors\u002Fg0ldyy) or [Ko-fi](https:\u002F\u002Fko-fi.com\u002Fg0ldyy) to support development\n- ⭐ **Star the repository** here on GitHub\n- 🐛 **Contribute** by reporting issues, suggesting features, or submitting PRs\n\n## License\n\nReleased under the [GNU General Public License v3.0](LICENSE). You're free to use, modify, and redistribute the code; forks and derivatives must remain GPLv3 and credit the original project.\n\n## Disclaimer\n\nUnofficial fan-made mod. Not affiliated with, endorsed by, or connected to Turn 10 Studios, Playground Games, Xbox Game Studios, Microsoft, Google, YouTube, or Jellyfin (Jellyfin LLC). All trademarks belong to their respective owners. Use at your own risk.\n","FH6 Universal Radio 是一款针对《极限竞速：地平线 6》的开源广播模组，支持本地音乐文件、YouTube 音乐和 Jellyfin 服务器播放。其核心功能包括通过浏览器控制面板选择音乐源、实时调整音量及设置等，并且音频会通过游戏内置的广播系统播放，实现与游戏内其他电台一致的体验。此外，该模组还具备响度归一化和5段均衡器等功能，以确保不同曲目间音量的一致性。适用于希望在游戏过程中享受自定义音乐库或在线流媒体服务的玩家。",2,"2026-06-11 04:07:51","CREATED_QUERY"]