fix(voice): make RNNoise the default noise suppression (#3103)

This commit is contained in:
Hampus
2026-10-02 11:31:40 +02:00
committed by GitHub
parent 98cce4815d
commit 4e6f9b539c
2 changed files with 16 additions and 1 deletions
@@ -386,6 +386,17 @@ export function applyLegacyNoiseSuppressionNoneMigrationV1(parsed: Record<string
return changed; return changed;
} }
function applyDeepFilterDefaultRetiredMigrationV1(parsed: Record<string, unknown>): boolean {
if (parsed.deepFilterDefaultRetiredMigratedV1 === true) {
return false;
}
if (parsed.noiseSuppressionBackendPrefV1 === 'deep_filter') {
parsed.noiseSuppressionBackendPrefV1 = null;
}
parsed.deepFilterDefaultRetiredMigratedV1 = true;
return true;
}
function validateNoiseSuppressionBackend(value: unknown): VoiceNoiseSuppressionBackend | null { function validateNoiseSuppressionBackend(value: unknown): VoiceNoiseSuppressionBackend | null {
return isVoiceNoiseSuppressionBackend(value) ? value : null; return isVoiceNoiseSuppressionBackend(value) ? value : null;
} }
@@ -460,6 +471,7 @@ class VoiceSettings {
screenShareHevcOptIn = false; screenShareHevcOptIn = false;
screenShareAv1OptOutMigratedV1 = false; screenShareAv1OptOutMigratedV1 = false;
screenShareHevcOptOutMigratedV1 = false; screenShareHevcOptOutMigratedV1 = false;
deepFilterDefaultRetiredMigratedV1 = false;
screenShareContentHintPrefV2: ScreenShareContentHint = DEFAULT_SCREEN_SHARE_CONTENT_HINT; screenShareContentHintPrefV2: ScreenShareContentHint = DEFAULT_SCREEN_SHARE_CONTENT_HINT;
screenShareContentHintDefaultMigratedV1 = false; screenShareContentHintDefaultMigratedV1 = false;
screenShareSoftwareQualityRetiredV1 = false; screenShareSoftwareQualityRetiredV1 = false;
@@ -583,6 +595,7 @@ class VoiceSettings {
changed = applyScreenShareSoftwareQualityRetiredMigrationV1(parsed) || changed; changed = applyScreenShareSoftwareQualityRetiredMigrationV1(parsed) || changed;
changed = applyScreenShareBackupCodecModeRetiredMigrationV1(parsed) || changed; changed = applyScreenShareBackupCodecModeRetiredMigrationV1(parsed) || changed;
changed = applyLegacyNoiseSuppressionNoneMigrationV1(parsed) || changed; changed = applyLegacyNoiseSuppressionNoneMigrationV1(parsed) || changed;
changed = applyDeepFilterDefaultRetiredMigrationV1(parsed) || changed;
if (changed) { if (changed) {
AppStorage.setItem('VoiceSettings', JSON.stringify(parsed)); AppStorage.setItem('VoiceSettings', JSON.stringify(parsed));
} }
@@ -590,6 +603,7 @@ class VoiceSettings {
this.screenShareAv1OptOutMigratedV1 = parsed.screenShareAv1OptOutMigratedV1 === true; this.screenShareAv1OptOutMigratedV1 = parsed.screenShareAv1OptOutMigratedV1 === true;
this.screenShareHevcOptOutMigratedV1 = parsed.screenShareHevcOptOutMigratedV1 === true; this.screenShareHevcOptOutMigratedV1 = parsed.screenShareHevcOptOutMigratedV1 === true;
this.manualAudioSourcesOptOutResetMigratedV1 = parsed.manualAudioSourcesOptOutResetMigratedV1 === true; this.manualAudioSourcesOptOutResetMigratedV1 = parsed.manualAudioSourcesOptOutResetMigratedV1 === true;
this.deepFilterDefaultRetiredMigratedV1 = parsed.deepFilterDefaultRetiredMigratedV1 === true;
} catch (error) { } catch (error) {
logger.warn('Failed to migrate persisted voice settings:', error); logger.warn('Failed to migrate persisted voice settings:', error);
} }
@@ -643,6 +657,7 @@ class VoiceSettings {
'screenShareHevcOptIn', 'screenShareHevcOptIn',
'screenShareAv1OptOutMigratedV1', 'screenShareAv1OptOutMigratedV1',
'screenShareHevcOptOutMigratedV1', 'screenShareHevcOptOutMigratedV1',
'deepFilterDefaultRetiredMigratedV1',
'screenShareContentHintPrefV2', 'screenShareContentHintPrefV2',
'screenShareContentHintDefaultMigratedV1', 'screenShareContentHintDefaultMigratedV1',
'screenShareSoftwareQualityRetiredV1', 'screenShareSoftwareQualityRetiredV1',
@@ -11,7 +11,7 @@ import {
import type {ResolvedVoiceProcessing} from '@app/features/voice/utils/VoiceProcessingProfile'; import type {ResolvedVoiceProcessing} from '@app/features/voice/utils/VoiceProcessingProfile';
const NOISE_SUPPRESSION_SAMPLE_RATE = 48000; const NOISE_SUPPRESSION_SAMPLE_RATE = 48000;
const DEFAULT_NOISE_SUPPRESSION_BACKEND: VoiceNoiseSuppressionBackend = 'deep_filter'; const DEFAULT_NOISE_SUPPRESSION_BACKEND: VoiceNoiseSuppressionBackend = 'rnnoise';
export function readNoiseSuppressionRuntimeCapabilities(): NoiseSuppressionRuntimeCapabilities { export function readNoiseSuppressionRuntimeCapabilities(): NoiseSuppressionRuntimeCapabilities {
return { return {