diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index c68b6ab61..e180f170e 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -189,4 +189,6 @@
Summary
Game Settings
Controller Settings
+ Audio Resampling
+ When running outside of 100% speed, resamples audio from the target speed instead of dropping frames. Produces much nicer fast forward/slowdown audio at a small cost to performance.
diff --git a/android/app/src/main/res/xml/audio_preferences.xml b/android/app/src/main/res/xml/audio_preferences.xml
index 8c3871db6..07af24e00 100644
--- a/android/app/src/main/res/xml/audio_preferences.xml
+++ b/android/app/src/main/res/xml/audio_preferences.xml
@@ -70,5 +70,11 @@
app:defaultValue="true"
app:summary="@string/settings_summary_audio_sync"
app:iconSpaceReserved="false" />
+
diff --git a/src/core/host_interface.cpp b/src/core/host_interface.cpp
index e184773f4..9142f3e38 100644
--- a/src/core/host_interface.cpp
+++ b/src/core/host_interface.cpp
@@ -544,7 +544,7 @@ void HostInterface::SetDefaultSettings(SettingsInterface& si)
si.SetIntValue("Audio", "OutputVolume", 100);
si.SetIntValue("Audio", "FastForwardVolume", 100);
si.SetIntValue("Audio", "BufferSize", DEFAULT_AUDIO_BUFFER_SIZE);
- si.SetBoolValue("Audio", "Resampling", false);
+ si.SetBoolValue("Audio", "Resampling", true);
si.SetIntValue("Audio", "OutputMuted", false);
si.SetBoolValue("Audio", "Sync", true);
si.SetBoolValue("Audio", "DumpOnBoot", false);
diff --git a/src/core/settings.cpp b/src/core/settings.cpp
index a0d7ddf81..27534d7ce 100644
--- a/src/core/settings.cpp
+++ b/src/core/settings.cpp
@@ -207,7 +207,7 @@ void Settings::Load(SettingsInterface& si)
audio_output_volume = si.GetIntValue("Audio", "OutputVolume", 100);
audio_fast_forward_volume = si.GetIntValue("Audio", "FastForwardVolume", 100);
audio_buffer_size = si.GetIntValue("Audio", "BufferSize", HostInterface::DEFAULT_AUDIO_BUFFER_SIZE);
- audio_resampling = si.GetBoolValue("Audio", "Resampling", false);
+ audio_resampling = si.GetBoolValue("Audio", "Resampling", true);
audio_output_muted = si.GetBoolValue("Audio", "OutputMuted", false);
audio_sync_enabled = si.GetBoolValue("Audio", "Sync", true);
audio_dump_on_boot = si.GetBoolValue("Audio", "DumpOnBoot", false);
diff --git a/src/duckstation-qt/advancedsettingswidget.ui b/src/duckstation-qt/advancedsettingswidget.ui
index 861525121..80047ccc3 100644
--- a/src/duckstation-qt/advancedsettingswidget.ui
+++ b/src/duckstation-qt/advancedsettingswidget.ui
@@ -57,7 +57,7 @@
-
-
+
-
@@ -174,7 +174,7 @@
-
+
diff --git a/src/duckstation-qt/audiosettingswidget.cpp b/src/duckstation-qt/audiosettingswidget.cpp
index 28b528d24..b3f4381d5 100644
--- a/src/duckstation-qt/audiosettingswidget.cpp
+++ b/src/duckstation-qt/audiosettingswidget.cpp
@@ -24,7 +24,7 @@ AudioSettingsWidget::AudioSettingsWidget(QtHostInterface* host_interface, QWidge
SettingWidgetBinder::BindWidgetToIntSetting(m_host_interface, m_ui.bufferSize, "Audio", "BufferSize");
SettingWidgetBinder::BindWidgetToBoolSetting(m_host_interface, m_ui.startDumpingOnBoot, "Audio", "DumpOnBoot");
SettingWidgetBinder::BindWidgetToBoolSetting(m_host_interface, m_ui.muteCDAudio, "CDROM", "MuteCDAudio");
- SettingWidgetBinder::BindWidgetToBoolSetting(m_host_interface, m_ui.resampling, "Audio", "Resampling", false);
+ SettingWidgetBinder::BindWidgetToBoolSetting(m_host_interface, m_ui.resampling, "Audio", "Resampling", true);
m_ui.volume->setValue(m_host_interface->GetIntSettingValue("Audio", "OutputVolume", 100));
m_ui.fastForwardVolume->setValue(m_host_interface->GetIntSettingValue("Audio", "FastForwardVolume", 100));
@@ -66,6 +66,10 @@ AudioSettingsWidget::AudioSettingsWidget(QtHostInterface* host_interface, QWidge
dialog->registerWidgetHelp(m_ui.muteCDAudio, tr("Mute CD Audio"), tr("Unchecked"),
tr("Forcibly mutes both CD-DA and XA audio from the CD-ROM. Can be used to disable "
"background music in some games."));
+ dialog->registerWidgetHelp(
+ m_ui.resampling, tr("Resampling"), tr("Unchecked"),
+ tr("When running outside of 100% speed, resamples audio from the target speed instead of dropping frames. Produces "
+ "much nicer fast forward/slowdown audio at a small cost to performance."));
}
AudioSettingsWidget::~AudioSettingsWidget() = default;