mpv Audio Speed Pitch Wrong: How to Fix It

  • Reset mpv speed and restore natural audio pitch safely.
  • Find conflicting filters, profiles, scripts, and custom key bindings.
  • Use clean tests and logs to isolate playback artifacts.

If mpv changes playback speed but the voices become unnaturally high, low, metallic, choppy, or distorted, the problem is usually connected to playback speed, audio pitch correction, an audio filter, or a configuration override. The fastest way to diagnose the issue is to test the same media at normal speed with mpv's configuration disabled, then reintroduce speed changes and custom settings one at a time. This guide covers Windows, Linux, and macOS, including local files, online URLs, playlists, network streams, custom profiles, scripts, hardware decoding, and yt-dlp integration.

Computer playing a voice recording at normal speed beside a clean terminal session.

1. Confirm the Symptom With a Minimal Clean mpv Command

Before editing a configuration file, determine whether the mpv audio speed pitch problem exists in a clean session. This separates an mpv or media problem from a setting introduced by your normal configuration, scripts, profiles, or input bindings.

1.1 Test normal-speed playback without your configuration

Open a terminal, PowerShell window, or Command Prompt and run mpv with configuration loading disabled. Replace the sample path with the path to your media file.

On Linux or macOS:

mpv --no-config --speed=1 --audio-pitch-correction=yes "/path/to/video.mkv"

On Windows PowerShell:

mpv --no-config --speed=1 --audio-pitch-correction=yes "C:\Media\video.mkv"

Quoting the path matters when it contains spaces, brackets, ampersands, or other characters interpreted by the shell. Dragging the file into the terminal after typing the command can help produce the correct path.

Listen to a section containing clear speech or music. Success means playback runs at its normal duration, voices sound natural, and there is no speed-related warbling or pitch shift. If this clean test works, stop investigating codecs, GPU drivers, and operating system audio settings for now. Your regular mpv configuration is the more likely cause.

1.2 Test the speed controls deliberately

In mpv's default input configuration, the left square bracket key decreases playback speed and the right square bracket key increases it. Backspace resets speed to normal. Depending on keyboard layout and custom bindings, the physical keys may differ.

  1. Start the clean command at --speed=1.
  2. Press ] once or twice and listen to speech.
  3. Press [ to reduce the speed.
  4. Press Backspace to reset playback to 1.0.

With pitch correction enabled, changing speed should alter timing without making voices simply rise or fall in proportion to the speed. Some processing artifacts can still occur at extreme speeds because time stretching has practical limits. After pressing Backspace, the file should return to normal speed and normal pitch. If it does, mpv's basic speed and pitch processing is working, and you should inspect your permanent settings instead of changing system components.

2. Check the Settings Directly Related to Speed and Pitch

The relevant mpv controls are the speed property, the audio-pitch-correction option, audio filters such as scaletempo or scaletempo2, input bindings, profiles, and scripts that change those values. Subtitle styling, screenshot options, HDR tone mapping, and video shaders do not normally change audio pitch, although a complex configuration can activate profiles that also contain audio settings.

2.1 Verify audio pitch correction

mpv provides the audio-pitch-correction option to preserve pitch when playback speed changes. Add the following line to mpv.conf if you want pitch correction enabled explicitly:

audio-pitch-correction=yes

Do not add a second, manually forced time-stretch filter until you have tested this option alone. Stacking filters or combining an automatic pitch-correction path with a script-managed filter can produce metallic sound, echoes, dropouts, or unexpectedly heavy processing.

To test the opposite behavior for diagnosis, run:

mpv --no-config --speed=1.25 --audio-pitch-correction=no "video.mkv"

With correction disabled, pitch should normally rise when playback is accelerated and fall when it is slowed. That result confirms that you are hearing a pitch-correction difference rather than a damaged audio track. Re-enable correction after the comparison.

2.2 Understand scaletempo and scaletempo2

scaletempo and scaletempo2 are audio filters associated with changing playback tempo while attempting to preserve pitch. Their algorithms and available controls differ. A filter may be inserted or managed as part of speed and pitch correction, while users and scripts can also add filters explicitly.

Search your configuration files for these terms:

  • scaletempo
  • scaletempo2
  • audio-pitch-correction
  • af= or af-add
  • speed=
  • set speed, add speed, or multiply speed

If you find a manually configured scaletempo or scaletempo2 filter, comment out only that line and retest. Do not delete the entire configuration directory. Success means speed changes preserve intelligible, natural pitch without doubled processing or severe artifacts. Once that happens, stop removing unrelated options.

2.3 Inspect mpv.conf and input.conf

Configuration locations vary by platform and installation method. Common locations include ~/.config/mpv/ on Linux, ~/.config/mpv/ or an application-specific configuration location on macOS, and an mpv configuration directory associated with the Windows user profile or portable installation. Use the location documented for your package and build.

In mpv.conf, look for a global speed setting or a profile that applies one. In input.conf, look for custom bindings assigned to square brackets, Backspace, mouse buttons, media keys, or script commands. For example, a custom binding might continuously multiply the speed instead of making a predictable incremental adjustment.

Temporarily comment out the suspicious line by placing # at its beginning, restart mpv, and test again. Restarting matters because configuration and scripts are normally loaded when the player starts.

2.4 Check profiles and automatic profile conditions

A profile can change speed, audio filters, synchronization, or track selection only for certain files. Automatic profiles may activate according to resolution, protocol, file extension, display mode, or another property. This can explain why local files work while streams fail, or why only HDR and high-resolution videos exhibit the symptom.

Use the following command to inspect a named profile:

mpv --show-profile=profile-name

Replace profile-name with the actual profile name from your configuration. Review inherited and profile-specific options for speed, af, pitch correction, synchronization, or script options. If disabling one relevant profile fixes the sound, stop there and revise that profile rather than changing global playback settings.

2.5 Disable scripts selectively

Lua and JavaScript extensions can implement speed memory, silence skipping, sponsor skipping, automatic synchronization, playlist rules, or custom key behavior. Test without all configuration first, then disable only the likely script by moving that individual script temporarily outside the scripts directory or using a separate clean configuration path.

A script is a likely cause if speed changes immediately after file load, when a subtitle line appears, after seeking, when moving to the next playlist entry, or when an IPC client connects. Check the script's documented options before editing its code.

2.6 Verify the selected audio track

Files and streams can contain multiple audio tracks with different languages, codecs, channel layouts, sample rates, or commentary mixes. A bad or unusual track can sound distorted independently of playback speed.

Use mpv's track list or cycle through available audio tracks with the configured audio-track control. You can also start with an explicit track selection after identifying its ID:

mpv --no-config --aid=ID "video.mkv"

Success means one track plays correctly at speed 1.0 and remains understandable when speed changes. If only one embedded track is defective, the limitation is likely in that track or its decoding path, not the general speed-control configuration.

Troubleshooting comparison of local media, network streaming, audio output, and video decoding paths.

3. Rule Out Output, Platform, Stream, and Media Limitations

3.1 Test the audio backend without changing everything

An audio backend or device can contribute to crackling, underruns, or timing instability, especially with Bluetooth devices, network audio, exclusive modes, virtual audio cables, or unusual channel layouts. However, a backend problem is less likely when the only symptom is a predictable high or low pitch after pressing a speed key.

First switch temporarily to a normal built-in speaker or wired output. Then run the clean normal-speed test. If artifacts disappear, inspect the operating system device format, Bluetooth profile, virtual device, or backend selection. Avoid installing an untrusted codec pack because mpv includes its own normal decoding stack and random codec bundles rarely solve a speed-property problem.

3.2 Separate hardware decoding from audio processing

Hardware decoding primarily affects video. It does not normally perform audio pitch correction. Nevertheless, severe video-decoding stalls can cause audio resynchronization, dropped audio, or apparent tempo instability.

Compare these tests:

mpv --no-config --hwdec=no --speed=1 "video.mkv"
mpv --no-config --hwdec=auto --speed=1 "video.mkv"

If both have the same clean audio at normal speed, the hardware decoder is not the cause. If only the hardware-decoded test stutters, update the GPU driver through the operating system, hardware vendor, or trusted package repository and inspect video performance. Do not treat ordinary pitch changes caused by disabled pitch correction as a GPU fault.

3.3 Compare local files with URLs and network streams

For an online URL, mpv may rely on yt-dlp to resolve the media, while direct network streams can suffer buffering, timestamp discontinuities, or server-side format changes. Downloading copyrighted content without permission is not required for testing. Instead, compare the problematic URL with a legal, known-good local file and a direct stream you are authorized to access.

If local files work but a URL does not, update yt-dlp through its official distribution channel or your trusted package manager, confirm mpv can find the intended executable, and inspect the selected stream formats. If audio pitch changes only after buffering or reconnecting, collect a log and investigate timestamps or network interruptions rather than adding a time-stretch filter.

3.4 Recognize unrelated settings

Subtitle fonts, subtitle timing, screenshot format, screenshot directory, HDR metadata, tone mapping, shaders, display server selection, and most video-output options do not directly control audio pitch. They matter only if a profile or script tied to those features also sets speed or audio filters.

For example, an automatic HDR profile might contain an accidental speed= line, or a subtitle-learning script might slow playback while subtitles are visible. Check the activated profile or script rather than assuming HDR or subtitles inherently modify pitch.

4. Use mpv Diagnostics to Find the Exact Change

4.1 Capture terminal output and a log file

Run the failing case from a terminal so errors remain visible. For a detailed log, use:

mpv --msg-level=all=v --log-file=mpv-speed-test.log "video.mkv"

Reproduce the problem briefly, press Backspace, and close mpv normally. Search the log for speed, pitch, scaletempo, af, audio, underrun, reconfig, and script messages. Logs can contain file paths and URLs, so remove private tokens, local usernames, and signed query strings before sharing them.

4.2 Observe speed and performance while playing

mpv includes playback statistics that can show speed, synchronization, dropped frames, selected tracks, and processing information. The exact default key and displayed pages can vary with the installed configuration and stats script, but i is commonly used to show playback information. Custom input bindings may replace it.

Watch the reported playback speed while reproducing the issue. If it changes from 1.00 without you pressing a key, a script, profile, IPC controller, or custom binding is probably setting it. If speed stays at 1.00 while pitch is wrong, select another audio track and test the file in a clean session.

4.3 Check IPC clients and external controllers

Front ends, browser integrations, remote-control tools, media-center software, and automation can communicate with mpv through IPC. Such a client can issue set_property speed commands after startup or when playback state changes.

Close the controller and launch mpv directly from a terminal with --no-config. If the problem disappears, reconnect components one at a time. Success means the speed remains at 1.00 until you deliberately change it.

5. Run a Clean Temporary Test Before Permanent Changes

Use a controlled sequence so each result answers one question. Do not change the audio backend, hardware decoder, filters, scripts, and GPU driver simultaneously.

  1. Play a known-good local file with --no-config --speed=1.
  2. Enable pitch correction explicitly and repeat the test.
  3. Use [ and ], then reset with Backspace.
  4. Test the original file or authorized URL under the same clean conditions.
  5. Load your normal configuration but temporarily disable the most relevant profile or script.
  6. Restore one custom speed binding or audio-filter setting at a time.

After every step, define success clearly: normal pitch at speed 1.0, preserved pitch at moderate speed changes, no metallic doubling, and a reliable reset to 1.0 with Backspace. Once a single change produces that result, stop. Additional modifications can hide the actual cause or introduce a new mpv player issue.

6. Quick Fix Checklist

  • Press Backspace to reset playback speed to 1.0.
  • Run mpv with --no-config --speed=1.
  • Test --audio-pitch-correction=yes.
  • Check whether [ and ] have custom bindings.
  • Search mpv.conf and input.conf for speed and audio-filter commands.
  • Remove only a suspected manual scaletempo or scaletempo2 line temporarily.
  • Inspect profiles with --show-profile=profile-name.
  • Disable relevant speed, silence-skipping, or synchronization scripts individually.
  • Confirm the selected audio track is valid.
  • Compare a local file with the affected URL or network stream.
  • Use --msg-level=all=v and --log-file to capture the failure.
  • Investigate hardware decoding only when video stalls accompany the audio issue.

7. Frequently Asked Questions

7.1 Why does pressing the right bracket make voices sound high?

The right bracket normally increases playback speed. If audio pitch correction is disabled, voices and music can rise in pitch as speed increases. Test with --audio-pitch-correction=yes. If correction is already enabled, check for manually stacked audio filters or scripts that manage speed and filtering.

7.2 How do I reset mpv playback speed?

Press Backspace with the default bindings. This should reset the speed property to 1.0. If it does not, inspect input.conf for a reassigned Backspace key or use a clean --no-config session to verify the default behavior.

7.3 Should I add scaletempo or scaletempo2 to mpv.conf?

Not as the first fix. Begin with mpv's audio pitch-correction option and a clean configuration. A manually forced filter can conflict with automatic processing or a script. Add or tune a filter only when you understand the existing filter chain and have a specific reason to override it.

7.4 Why does the problem occur only on one video or audio track?

The track may have damaged timestamps, an unusual sample rate or channel layout, decoding errors, or a source-specific defect. Test another track in the same file and compare it with a known-good local file. If every other file works, avoid changing global settings to compensate for one defective source.

7.5 Can subtitles, HDR, shaders, or screenshots cause wrong audio pitch?

Those features do not normally control pitch. They can appear related when an automatic profile or script activates alongside them and also changes speed or audio filters. Inspect the profile and script settings for the actual speed-related command.

7.6 What should I do if mpv works locally but fails with online video?

Test the URL with --no-config, inspect terminal output, and verify that mpv is using a trusted, current yt-dlp installation when the site requires it. Network buffering and timestamp discontinuities can create artifacts that resemble a speed problem. If the reported speed remains 1.00, focus on stream selection, timestamps, and connectivity rather than pitch-correction settings.


Citations

  1. Official documentation for mpv options, properties, profiles, input commands, logging, and audio filters. (mpv Manual)
  2. Official project documentation and trusted release information for the external URL resolver used by mpv. (yt-dlp)
Cindy, ContentBASE creator assistant

MEET CINDY

Your ContentBASE creator assistant

Cindy helps creators find Canva templates, content ideas, and simple ways to make better social media posts faster.

Want ready-to-use templates? Claim the free Canva bundles or browse the full bundle store.