Technical Articles / Platform Audio

Why Heartbeat Audio Sounds Worse After Uploading to Patreon, YouTube, or Fan Platforms

A technical, creator-focused guide to why clean stethoscope heartbeat audio can gain pre-echo, edge noise, or thinness after streaming playback.

11 min readLocal-listening + online-playback versions
ForHeartbeat ASMR creators uploading to fan platforms
ProblemExplains codec artifacts after platform upload
TakeawayThe file you export is not always the file your audience hears. Pure heartbeat audio needs a version that survives the streaming codec path, not only one that sounds good locally.

Real sample evidence

Platform playback stress test

A real 12 second heartbeat window used to compare the raw recording, the local-listening version, and the online-playback version.

28Pulse events in clip
0.932 secEstimated cycle
0.288High-band ratio
Listen for
  • Compare the quiet gap before each pulse, not only the loudest thump.
  • The online-playback version is designed to keep enough wideband pulse context for streaming codecs.
Raw recording
Local-listening version
Online-playback version

1The symptom: clean locally, damaged online

A stethoscope heartbeat clip can sound warm, close, and stable inside your editor, then become slightly buzzy, thinner, or smeared after it is uploaded. The frustrating part is that the defect may be small, but once you hear it around the pulse, the ASMR feeling is broken.

In our own tests this was not solved by simply exporting a higher bitrate file. A WAV, PCM-in-video, MP3, or high-bitrate AAC upload can still be transcoded into the platform's streaming rendition. On one Patreon playback path we inspected, the listener-facing stream was AAC-LC at 48 kHz stereo around 130 kbps, delivered through HLS segments. The important file is the one the player streams, not only the one you uploaded.

This is why creators can feel gaslit by their own workflow: the master in CapCut, Premiere, Audition, or a local player can be fine, while the same content played through YouTube, Patreon, or another hosted player reveals a faint artifact that was not obvious before upload.

2What AAC pre-echo actually is

"AAC noise" is an informal umbrella term, not one single sound. It can describe metallic texture, warbling, smearing, bird-like tones, or other artifacts created by lossy encoding. The artifact that matters most in this heartbeat case is pre-echo: a brief noise-like shadow that appears just before a sudden attack, or across the onset-to-attack rise, even though that sound was not present in the source WAV.

AAC is a transform codec. In simplified terms, it divides audio into overlapping time windows, converts each window into frequency information, decides which detail can be represented with fewer bits, quantizes that information, and reconstructs the waveform during playback. AAC can switch to shorter windows and use Temporal Noise Shaping when it detects a transient, but those tools reduce the risk; they do not guarantee that every difficult attack will be transparent at a constrained streaming bitrate.

When a strong heartbeat attack and the very quiet samples before it share coding context, part of the quantization error can be spread across that window. Error after the attack is easier for the loud heartbeat to mask. Error before the attack sits in a nearly silent gap, where human hearing can expose it. That is why pre-echo can sound like a tiny whistle, sandy buzz, or higher-frequency veil arriving just before the thump.

This is not an acoustic room echo and it is not clipping. A room echo is a delayed reflection after the sound. Clipping is waveform overload. Pre-echo is a time-distributed coding artifact created during lossy transform encoding and reconstruction.

3What the streaming codec is doing

Most large video platforms create their own playback versions. They decode your upload, resample or remix if needed, then encode audio again for streaming. The codec tries to spend fewer bits on sounds it predicts listeners will not notice.

That is usually reasonable for speech, music, and normal video. It becomes risky for heartbeat ASMR because the signal is sparse: a quiet gap, then a strong pulse edge, then a body/decay. Around that sudden energy change, a transform codec can spread a tiny amount of error before or around the pulse. Creators often hear it as pre-echo, a faint edge buzz, or a small higher-frequency shadow riding on the heartbeat.

YouTube's own upload recommendation already hints at the pipeline: it asks for MP4 video with AAC-LC, Opus, or Eclipsa Audio, stereo, and 48 kHz sample rate. That is an upload recommendation, not a promise that the exact same audio packets will be served unchanged to every viewer. YouTube Music's own quality settings also describe bitrate ceilings such as 128 kbps for Normal and 256 kbps for High/Always High across AAC and Opus, which is a reminder that playback is an adaptive delivery product, not a file download.

  • The uploaded container is only the source for the platform's encoder.
  • The streamed audio may have a lower bitrate than your export.
  • A local AAC preview can reproduce part of the problem, but the platform player is the final judge.
  • Peak headroom alone does not fix it; many noisy pulses have plenty of peak margin.
  • Changing 44.1 kHz to 48 kHz is good hygiene, but it cannot remove a pulse shape that is codec-sensitive.

4Why heartbeat ASMR exposes the artifact

Heartbeat audio is not like a podcast voice. Voice has continuous vowels, consonants, and a lot of natural masking. Music usually has drums, ambience, reverb, bass, harmonics, and other layers that hide small codec errors.

A cleaned heartbeat file is almost the opposite. It may have long near-silent gaps, very pure low-frequency pulse energy, and a sharp onset-to-attack rise. If noise reduction makes the gaps too empty and the pulse too isolated, the codec has very little temporal context. The next heartbeat can feel like it appears from a vacuum.

That does not mean the heartbeat should be noisy. The practical point is subtler: the pulse needs enough natural context and correlated upper texture that the encoder is not asked to reconstruct a hard, isolated low-frequency event from almost nothing.

  • Long clean gaps make tiny pre-echo easier to hear.
  • Over-hard mask edges can create a pulse that is too isolated for streaming compression.
  • A narrow low-frequency body without enough correlated upper texture can sound synthetic after transcoding.
  • If the onset is too abrupt, the codec error appears exactly where listeners focus.

5The wrong fixes we ruled out

We tried the obvious fixes first: more bitrate, different sample rates, WAV/PCM sources, AAC exports, more peak headroom, extra low-pass filtering, and simple smoothing. Those approaches did not solve the core issue reliably.

The important lesson was that the artifact was not just 'too much treble'. In fact, hard low-pass filtering could make the problem easier to trigger. The safer direction was to make the heartbeat extraction less brittle: keep a soft, correlated wideband footprint around the heartbeat, avoid absolute silence as the only context, and stop treating the final upload as if it were a normal local master.

This matches what audio creators have discussed for years in less specialized contexts: YouTube and similar platforms re-encode uploads, so lossless or high-bitrate sources reduce one generation of damage, but they do not remove the final streaming encode. For heartbeat ASMR, avoiding double compression is necessary but not sufficient.

6What worked better in our experiments

The useful direction was not final EQ. It was earlier: how the heartbeat is separated from the recording. A hard-ish pulse mask can create a beautifully clean local file, but it may also carve a pulse that is too isolated and too narrow for streaming codecs.

The stronger result came from a softer render mask and a wider heartbeat-correlated footprint. In plain language: keep the low-frequency heartbeat body, preserve a controlled connection layer above it, and keep enough real high-frequency information that moves with the heartbeat. That high layer is not there to sound bright. It is there to make the heartbeat less like a naked low-frequency impulse when the platform re-encodes it.

We also found that simply adding random noise, heavy smoothing, or exciter-style artificial brightness was not the answer. Those can hide one artifact while creating another. The better version had to be tied to the actual heartbeat timing and spectral shape.

7The practical solution: two playback versions

For commercial work, we keep two outputs. The local-listening version is polished and detailed for archive, editing, or direct file delivery. It can be more intimate and more strongly enhanced because it does not have to survive the same streaming path.

The online-playback version has a different target: it should still sound like a real heartbeat after platform transcoding. In practice that means preserving enough heartbeat-correlated wideband information, keeping the extraction edges soft, avoiding destructive expander/gate behavior, and controlling loudness without making fragile pulse edges dominate the codec.

A creator may prefer the local-listening version in a direct A/B test but upload the online-playback version. The online version is not meant to sound brighter or more dramatic locally. It is meant to survive the player subscribers actually use.

8How creators should test it

Do not approve a heartbeat master only inside your editor. Export a short test, upload it privately or unlisted, then listen through the actual platform player on the same headphones your audience is likely to use.

Listen especially to the onset-to-attack area of each beat and the quiet space just before it. If the streamed version adds a faint buzz, whistle-like edge, or pre-echo that is not in the local file, you are hearing a delivery problem. The fix is not always more denoise or more EQ. The fix is a render designed for the codec path.

9References

  1. AES research
    Watermark-Aided Pre-Echo Reduction in Low Bit-Rate Audio Coding

    Research on attack smoothing and pre-echo produced by low-bit-rate AAC and MP3 coding, with temporal-envelope correction used to reduce the artifact.

  2. Signal processing research
    Pre-Echo Noise Reduction in Frequency-Domain Audio Codecs

    An ICASSP research summary defining pre-echo and modeling how quantization noise spreads before transient signals in MPEG AAC.

  3. YouTube official
    Recommended upload encoding settings

    YouTube recommends MP4 uploads with AAC-LC, Opus, or Eclipsa Audio, stereo, and 48 kHz sample rate. Useful as upload hygiene, but not a guarantee that playback will be untouched.

  4. YouTube Music official
    Audio quality settings

    YouTube Music documents bitrate ceilings such as 128 kbps for Normal and 256 kbps for High/Always High across AAC and Opus, showing that playback quality is an adaptive service setting.

  5. Creator history
    YouTube audio processing complaints

    A historical report on creator complaints after YouTube changed audio processing, useful context that platform audio changes have affected creators before.

  6. Creator forum
    Highest possible audio quality for YouTube

    A creator discussion about YouTube audio codecs and why Opus/AAC delivery can matter more than the export file alone.

Try it with your recording

Hear what can be recovered before deciding.

Send a downloadable 20-60 second raw heartbeat clip. I will return a private processing preview, then you can decide whether the full recording is worth continuing.
Send a heartbeat clip