mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-17 13:05:32 +09:00
fix(voice): default noise suppression to standard
This commit is contained in:
1 parent
53ddca725e
commit
af3ad02962
2 files changed
+20
-6
No files matched your search
@@ -51,6 +51,8 @@ const MAX_VOICE_PROCESSING_DEVICE_OVERRIDES = 16;
|
|||||||
const VIDEO_FRAME_RATE_MIN = 15;
|
const VIDEO_FRAME_RATE_MIN = 15;
|
||||||
const VIDEO_FRAME_RATE_MAX = 120;
|
const VIDEO_FRAME_RATE_MAX = 120;
|
||||||
const VIDEO_FRAME_RATE_DEFAULT = 30;
|
const VIDEO_FRAME_RATE_DEFAULT = 30;
|
||||||
|
const DEFAULT_BROWSER_NOISE_SUPPRESSION = true;
|
||||||
|
const DEFAULT_DEEP_FILTER_NOISE_SUPPRESSION = false;
|
||||||
export const CAMERA_EFFECT_STRENGTH_MIN = 0;
|
export const CAMERA_EFFECT_STRENGTH_MIN = 0;
|
||||||
export const CAMERA_EFFECT_STRENGTH_MAX = 100;
|
export const CAMERA_EFFECT_STRENGTH_MAX = 100;
|
||||||
export const CAMERA_EFFECT_STRENGTH_DEFAULT = 50;
|
export const CAMERA_EFFECT_STRENGTH_DEFAULT = 50;
|
||||||
@@ -257,6 +259,16 @@ function applyOutputVolumeRecalibrationMigrationV1(parsed: Record<string, unknow
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function applyNoiseSuppressionStandardDefaultMigrationV1(parsed: Record<string, unknown>): boolean {
|
||||||
|
if (parsed.noiseSuppressionStandardDefaultMigratedV1 === true) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
parsed.noiseSuppression = DEFAULT_BROWSER_NOISE_SUPPRESSION;
|
||||||
|
parsed.deepFilterNoiseSuppressionPrefV2 = DEFAULT_DEEP_FILTER_NOISE_SUPPRESSION;
|
||||||
|
parsed.noiseSuppressionStandardDefaultMigratedV1 = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
function validateBackgroundImages(images: unknown): Array<BackgroundImage> {
|
function validateBackgroundImages(images: unknown): Array<BackgroundImage> {
|
||||||
if (!Array.isArray(images)) return [];
|
if (!Array.isArray(images)) return [];
|
||||||
const validated: Array<BackgroundImage> = [];
|
const validated: Array<BackgroundImage> = [];
|
||||||
@@ -283,10 +295,11 @@ class VoiceSettings {
|
|||||||
inputVolume = 100;
|
inputVolume = 100;
|
||||||
outputVolume = 100;
|
outputVolume = 100;
|
||||||
echoCancellation = true;
|
echoCancellation = true;
|
||||||
noiseSuppression = true;
|
noiseSuppression = DEFAULT_BROWSER_NOISE_SUPPRESSION;
|
||||||
autoGainControl = true;
|
autoGainControl = true;
|
||||||
deepFilterNoiseSuppressionPrefV2 = true;
|
deepFilterNoiseSuppressionPrefV2 = DEFAULT_DEEP_FILTER_NOISE_SUPPRESSION;
|
||||||
deepFilterNoiseSuppressionLevelPrefV2 = 80;
|
deepFilterNoiseSuppressionLevelPrefV2 = 80;
|
||||||
|
noiseSuppressionStandardDefaultMigratedV1 = false;
|
||||||
voiceProcessingMode: VoiceProcessingMode = DEFAULT_VOICE_PROCESSING_MODE;
|
voiceProcessingMode: VoiceProcessingMode = DEFAULT_VOICE_PROCESSING_MODE;
|
||||||
voiceProcessingModeByDeviceLabel: Record<string, VoiceProcessingMode> = {};
|
voiceProcessingModeByDeviceLabel: Record<string, VoiceProcessingMode> = {};
|
||||||
cameraResolution: CameraResolution = 'medium';
|
cameraResolution: CameraResolution = 'medium';
|
||||||
@@ -440,6 +453,7 @@ class VoiceSettings {
|
|||||||
changed = applyScreenShareAudioDefaultOnMigrationV1(parsed) || changed;
|
changed = applyScreenShareAudioDefaultOnMigrationV1(parsed) || changed;
|
||||||
changed = applyStreamingModeDefaultMigrationV1(parsed) || changed;
|
changed = applyStreamingModeDefaultMigrationV1(parsed) || changed;
|
||||||
changed = applyOutputVolumeRecalibrationMigrationV1(parsed) || changed;
|
changed = applyOutputVolumeRecalibrationMigrationV1(parsed) || changed;
|
||||||
|
changed = applyNoiseSuppressionStandardDefaultMigrationV1(parsed) || changed;
|
||||||
if (changed) {
|
if (changed) {
|
||||||
AppStorage.setItem('VoiceSettings', JSON.stringify(parsed));
|
AppStorage.setItem('VoiceSettings', JSON.stringify(parsed));
|
||||||
}
|
}
|
||||||
@@ -462,6 +476,7 @@ class VoiceSettings {
|
|||||||
'autoGainControl',
|
'autoGainControl',
|
||||||
'deepFilterNoiseSuppressionPrefV2',
|
'deepFilterNoiseSuppressionPrefV2',
|
||||||
'deepFilterNoiseSuppressionLevelPrefV2',
|
'deepFilterNoiseSuppressionLevelPrefV2',
|
||||||
|
'noiseSuppressionStandardDefaultMigratedV1',
|
||||||
'voiceProcessingMode',
|
'voiceProcessingMode',
|
||||||
'voiceProcessingModeByDeviceLabel',
|
'voiceProcessingModeByDeviceLabel',
|
||||||
'cameraResolution',
|
'cameraResolution',
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ export interface ResolvedVoiceProcessing {
|
|||||||
export const DEFAULT_VOICE_PROCESSING_MODE: VoiceProcessingMode = 'voice';
|
export const DEFAULT_VOICE_PROCESSING_MODE: VoiceProcessingMode = 'voice';
|
||||||
export const DEEP_FILTER_NOISE_REDUCTION_LEVEL_MIN = 0;
|
export const DEEP_FILTER_NOISE_REDUCTION_LEVEL_MIN = 0;
|
||||||
export const DEEP_FILTER_NOISE_REDUCTION_LEVEL_MAX = 100;
|
export const DEEP_FILTER_NOISE_REDUCTION_LEVEL_MAX = 100;
|
||||||
export const FOCUSED_VOICE_DEEP_FILTER_NOISE_REDUCTION_LEVEL = 100;
|
|
||||||
|
|
||||||
export function clampDeepFilterNoiseReductionLevel(level: number): number {
|
export function clampDeepFilterNoiseReductionLevel(level: number): number {
|
||||||
if (!Number.isFinite(level)) {
|
if (!Number.isFinite(level)) {
|
||||||
@@ -67,10 +66,10 @@ export function resolveVoiceProcessing(settings: VoiceProcessingSettingsLike): R
|
|||||||
return {
|
return {
|
||||||
mode: 'voice',
|
mode: 'voice',
|
||||||
echoCancellation: true,
|
echoCancellation: true,
|
||||||
browserNoiseSuppression: false,
|
browserNoiseSuppression: true,
|
||||||
autoGainControl: settings.autoGainControl,
|
autoGainControl: settings.autoGainControl,
|
||||||
deepFilter: true,
|
deepFilter: false,
|
||||||
deepFilterNoiseReductionLevel: FOCUSED_VOICE_DEEP_FILTER_NOISE_REDUCTION_LEVEL,
|
deepFilterNoiseReductionLevel: DEEP_FILTER_NOISE_REDUCTION_LEVEL_MIN,
|
||||||
contentHint: 'speech',
|
contentHint: 'speech',
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user