# High Fidelity Radio Player > Make any radio stream sound cleaner with adaptive expansion and exciter, plus optional on-device AI ad-mute. Privacy-first, no account, no tracking. High Fidelity Radio Player (https://highfidelityradioplayer.com/) is a free, open-source, privacy-first internet radio player that runs entirely in the browser using the Web Audio API and AudioWorklet. It plays internet radio streams (MP3, AAC, OGG, Opus, FLAC, HLS) and applies a studio-style processing chain to restore dynamics and high-frequency detail that broadcast compression and lossy codecs remove. There is no backend, no account, no cookie, no analytics and nothing is uploaded. Licence: AGPL-3.0-or-later. Source: https://codeberg.org/toulcit/highfidelityradioplayer Version: 3.10.0. Language: English. Hosting: static site served from Berlin, Germany (EU) by Codeberg Pages. ## Processing chain and features ### Audio Expander A real AudioWorklet downward expander that restores dynamics to compressed radio streams by pushing quiet passages down and letting loud ones breathe, recovering the natural dynamic range lost in FM and internet radio compression. Implementation: Uses Web Audio API AudioWorklet for real-time audio processing with threshold, ratio, attack, and release parameters. Key points: Restores natural dynamics; Recovers lost detail; Improves clarity; Enhances listening experience. ### Harmonic Exciter Regenerates musical harmonics that are lost during lossy compression, while an air shelf restores the brightness and sparkle that lossy codecs like MP3 and AAC typically remove from the high frequency range. Implementation: Adds synthetic harmonics based on the fundamental frequencies in the audio signal, with adjustable intensity and frequency range. Key points: Restores high frequency content; Adds musical sparkle; Improves perceived clarity; Enhances instrument separation. ### Room Correction EQ A 10-band parametric equalizer that lets the listener shape the frequency response for their room or speakers, compensating for room acoustics and playback-system colouration on both web radio streams and local audio files. Implementation: 10 peaking biquad filters (32 Hz to 16 kHz, +/-12 dB) in the Web Audio graph, applied after the enhancer stages. Settings persist in the browser only. Key points: Adapts any stream to your room; Works on radio and local files; No account, nothing uploaded. ### K-12 Dynamics Meter Implements the Bob Katz K-12 metering system for measuring program loudness and dynamic range, providing professional-grade audio level monitoring. Implementation: Measures average level and crest factor according to the K-12 system, which is a reference for broadcast and mastering engineers. Key points: Average level; Crest factor; Dynamic range; Headroom. ### Frequency Response Meter Visualizes the frequency response of both the raw input signal and the processed output, allowing users to see the effect of the audio processing chain on the frequency spectrum. Implementation: Real-time FFT analysis with configurable frequency bands, showing both raw and processed spectra for A/B comparison. Key points: Real-time analysis; Raw vs processed comparison; Configurable bands; Visual feedback. ### Stereo Image Meter Displays the stereo width and correlation of the audio signal, helping users understand the stereo characteristics of their audio and how the processing affects the stereo image. Implementation: Measures M/S (Mid/Side) components and correlation between left and right channels, providing visual feedback on stereo width and mono compatibility. Key points: Stereo width; M/S balance; Correlation; Phase issues. ### Digital LED VU Meter Modern digital LED-style VU meters that provide accurate level monitoring with peak hold and clip indication, replacing traditional analog needle meters. Implementation: Digital LED bar graph meters with configurable segments, peak hold, and clip detection for both left and right channels. Key points: LED-style display; Peak hold; Clip indication; Stereo monitoring. ### Local AI Ad-Muting (optional) An optional on-device classifier detects commercial breaks and mutes them. The 101 KB model and its ONNX runtime download only when the feature is enabled, log-mel features are computed locally, and no audio or listening data is uploaded. It is off by default and can be overridden instantly. Implementation: 3-block CNN over 64-band log-mel (3 s windows, 16 kHz); exported to int8 ONNX (~101 KB) and executed with onnxruntime-web (WASM). Held-out evaluation: 90% precision / 97% recall, threshold from a calibrated sweep (0.47). Mute 150 ms, unmute 600 ms hysteresis; FORCE UNMUTE override. Key points: On-device inference; Off by default; No uploads; FORCE UNMUTE override. ### Parallel Harmonic Exciter A parallel WaveShaper stage that regenerates musical harmonics above 1.2 kHz, restoring the perceived air and detail that MP3/AAC encoders strip out. The untouched dry signal is summed with the wet path, so the result stays transparent. Implementation: Highpass at 1.2 kHz feeds a 2x-oversampled WaveShaperNode with a tanh transfer curve; dry/wet summing keeps the dry path bit-transparent. Drive is codec-aware: full at 192 kbps and above, scaled down below 160 kbps so codec noise is never amplified into sizzle. Key points: Parallel dry/wet; 2x oversampling; Codec-aware drive; No global waveshaping. ### Auto-Volume Normaliser Pure gain normalisation across stations: a slow K-12 target-following GainNode steadied by an AnalyserNode, so quiet streams come up and loud streams come down without any dynamic-range compression. Implementation: K-12 RMS integrator (600 ms window) on the raw pre-FX tap drives a ±12 dB gain window with 400 ms smoothing. No compressor and no limiter exists anywhere in the chain: zero dynamic-range reduction by design. Key points: K-12 target; No compression; No limiter; Per-station level matching. ### Now Playing Metadata Displays artist, song title, and album art by parsing ICY metadata from MP3/AAC streams and HLS ID3 tags, with automatic lookup via MusicBrainz and Cover Art Archive. Implementation: Parses stream metadata in real-time and fetches album art from open-source databases when available, with local caching for performance. Key points: ICY metadata parsing; HLS ID3 tag support; MusicBrainz lookup; Cover Art Archive integration; Local caching. ### ROI Calculator Compares music licensing costs for venues across different options: regular radio (collecting society fees), Spotify Business (subscription + fees), and royalty-free music (subscription only). Implementation: Calculates annual costs based on square meters, business type, and country-specific tariffs for NL (Buma/Stemra), BE (Sabam/PlayRight), and DE (GEMA). ## Frequently asked questions **Is this really privacy-first?** Yes. The site is a fully static page with no backend, no accounts, no first-party cookies and no analytics. Audio processing runs entirely in your browser via the Web Audio API, and nothing is persisted between visits. The only external connections are the radio stream you choose, the optional local AI model (only if you enable ad-muting and the model is deployed) and the anonymous A-ads frame. **Why use this instead of a music-streaming subscription?** Because radio is already paid for: public broadcasters are funded from taxes, commercial stations from advertising and music-licence fees. This player adds adaptive studio-grade processing to those free streams, so you can skip another monthly bill, avoid an account and keep your listening habits private. A well-encoded station (256–320 kbps AAC/MP3 or FLAC) matches a standard subscription stream, and the adaptive expander plus parallel exciter restore much of what broadcast compression removes. **Can processing make a 128 kbps stream sound lossless?** No. Processing cannot recover frequencies the codec already discarded. The adaptive expander restores dynamics that broadcast compression flattened and the parallel exciter adds harmonics so lossy highs feel restored, but a 320 kbps or FLAC stream always carries more real detail than 128 kbps. For best results choose the highest-quality stream a station offers. **Can I tune the sound myself?** Yes, within a deliberately clean path: Advanced mode exposes the same parameters the adaptive engine uses — input and output gain, expander ratio, exciter drive and frequency, auto-volume target and tube amount. There is no EQ by design: tone shaping belongs in the correction built into your speakers or headphones. **How accurate is the AI ad-muting, and does it upload audio?** Nothing is uploaded. A 101 KB classifier runs locally: the browser computes log-mel features from the stream tap, scores 3-second windows with ONNX Runtime and mutes above a calibrated threshold. On our held-out evaluation (1,500 Internet Archive clips) it caught 97% of ad clips at 90% precision — so roughly one in ten detections is music. It is off by default, FORCE UNMUTE always overrides it, and no audio or features are stored or transmitted. **Where is my data stored?** Nothing personal. The player keeps no settings or history: the only client-side storage is a service-worker cache of the app's own files. There is no account, no cookie, no analytics, and nothing is uploaded or synced. **Can I use this in my café, bar or shop?** Not this edition. Playing radio or licensed music in a business generally needs a licence from your local collecting society (Buma/Stemra, SABAM/PlayRight, GEMA or the equivalent) and unlicensed public performance can be fined. **Why doesn't every stream play directly?** Browsers enforce CORS: a stream server must explicitly allow web pages to play it. Streams that refuse cross-origin playback cannot be processed by the Web Audio API at all; some are also geo-blocked or offline. Pick a stream that allows it — the ones listed here do. **Do I need an app store or an account to install this?** No. It is a website, so it works in any modern browser with no install at all. On a phone or tablet you can add it to your home screen as a PWA (installable, works offline for the app shell), and the same build runs on smart-TVs and hi-fi streamers with a browser engine — webOS, Tizen, Titan OS, Sonos, HEOS and Bluesound. There is no sign-up, no account and no app-store approval. **Where is this hosted, and is it green?** The site is served from Berlin, Germany (EU) by Codeberg Pages, a volunteer-run non-profit that runs its own hardware and avoids large cloud providers where possible. The build is fully static, so no server processes your requests. Codeberg does not publish a verifiable renewable-energy figure for its facility, so we do not claim to be 100% green. The radio streams are hosted by third-party broadcasters and CDNs that may be outside the EU and may not use renewable energy — we cannot verify or control that. **Does the player collect my data?** No. Nothing you do is sent to us because there is no "us" — there is no server. The stream URL stays in your browser, settings are never persisted, and the only third-party network calls are the stream host and the anonymous ad frame. **What is High Fidelity Radio Player?** High Fidelity Radio Player is a privacy-first, browser-based internet radio player that enhances the sound quality of compressed radio streams using professional audio processing techniques like expansion, harmonic excitation, and equalization. It runs entirely on your device with no account, subscription or tracking. **How does the audio expander work?** The expander is a true AudioWorklet downward expander that pushes quiet passages down and lets loud ones breathe, restoring the natural dynamic range that is lost during FM and internet radio compression. Unlike simple compression, it actually increases the dynamic range. **What audio formats are supported?** The player supports MP3, AAC, OGG, Opus, FLAC, and HLS streams. It uses the native browser audio capabilities with native HLS on Safari and HLS.js elsewhere. **Is this service free?** Yes, High Fidelity Radio Player is completely free, open-source software. All audio processing happens locally in your browser - there is no server, no accounts, and no subscriptions. **How does the ROI calculator work?** The ROI calculator compares the costs of different music options for venues: regular radio (which requires public performance licenses from collecting societies), Spotify Business (which has subscription fees plus potential license fees), and royalty-free music services (which only require a subscription). **What does privacy-first mean here?** Privacy-first means there is no server that receives your data, no account to create and no first-party cookies or analytics. All processing happens locally in your browser; nothing is persisted between visits beyond a cache of the app's own files. **Is this an alternative to Spotify, Apple Music or Deezer?** For radio listening, yes. Radio is already funded through taxes (public broadcasting), music-licence fees and advertising, so this player adds hi-fi processing to free streams without another subscription, account or profile. A 256-320 kbps AAC/MP3 or FLAC station matches a standard subscription stream; the expander and exciter restore dynamics and perceived air that broadcast compression removes. Processing cannot restore frequencies the codec already deleted, so a lossless stream will always carry more real detail than 128 kbps. **Can I use this for my business?** Yes, the player is perfect for cafés, bars, restaurants, and other venues. The ROI calculator specifically helps venue owners understand the cost implications of different music options, including the public performance fees charged by collecting societies. **How do I add my own radio stations?** Choose a stream from the player list. The adaptive chain works with MP3, AAC, OGG, Opus, FLAC and HLS streams whose hosts allow cross-origin playback. ## What the player is and is not - It is not a music-streaming subscription. It plays the free-to-air streams that broadcasters already publish, plus any direct stream URL you paste in. - It is not an ad-blocker and does not modify or skip advertising. Ads in the stream play as broadcast. - It cannot recover frequencies a lossy codec already discarded. A 320 kbps or FLAC stream always carries more real detail than 128 kbps. - It does not record, download or redistribute audio. Nothing is stored on a server, because there is no server. ## Business use Playing radio or licensed music in a business (café, bar, restaurant, shop, gym, office, hotel) normally requires a licence from the local collecting society, for example Buma/Stemra (Netherlands), SABAM/PlayRight (Belgium) or GEMA (Germany); unlicensed public performance can be fined. The ROI calculator at https://highfidelityradioplayer.com/roi/ compares radio, Spotify Business and royalty-free options, and the separate Venue Hi-Fi edition (https://toulcit.codeberg.page/highfidelitypurebusiness/) is built around royalty-free music and local files. This is not legal advice. ## Topics audio processing, sound enhancement, dynamic range compression, harmonic distortion, equalization, audio metering, loudness measurement, internet radio, streaming audio, radio player, audio streaming, web radio, online radio, radio stations, stream discovery, Web Audio API, AudioWorklet, JavaScript audio, browser audio, real-time processing, digital signal processing, audio effects, music licensing, royalty calculation, public performance, collecting societies, venue audio, business music, cost comparison, privacy-first, no tracking, no first-party cookies, no account, local storage, offline capable, PWA, responsive design, spotify alternative, apple music alternative, deezer alternative, free radio streaming, no subscription music, radio instead of streaming ## Links - Home and player: https://highfidelityradioplayer.com/ - Hi-fi internet radio: https://highfidelityradioplayer.com/hifi-internet-radio/ - Privacy-first radio player: https://highfidelityradioplayer.com/privacy-first-radio-player/ - Radio vs Spotify / Apple Music / Deezer: https://highfidelityradioplayer.com/radio-vs-spotify/ - Business music licensing: https://highfidelityradioplayer.com/business-music-licensing/ - ROI calculator: https://highfidelityradioplayer.com/roi/ - Privacy policy: https://highfidelityradioplayer.com/privacy/ - Terms and disclaimers: https://highfidelityradioplayer.com/terms/ - Source code: https://codeberg.org/toulcit/highfidelityradioplayer