哇声是一款面向 iPhone 和 iPad 的趣味录音变声 App。当前版本定位为给小月龄宝宝玩的声音玩具:点击开始后,App 会监听用户说话,识别一句话结束后自动播放变声结果。
- 点击开始后持续监听麦克风输入。
- 检测到语音后自动缓存当前语音片段。
- 检测到停顿后自动播放变声结果。
- 播放期间暂时忽略麦克风输入,降低外放回录影响。
- 支持外放为主的使用场景。
- 支持中文界面。
- 支持音量波形反馈。
- 支持停顿时长和识别灵敏度调节。
- 支持多种趣味音色:
- 原声
- 松鼠
- 鸭子
- 小孩
- 小怪兽
- 小猫
- 小狗
- 小牛
- Swift
- SwiftUI
- AVFoundation
- AVAudioEngine
- AVAudioUnitTimePitch
- AVAudioUnitEQ
- AVAudioUnitDistortion
- AVAudioUnitReverb
- AVAudioUnitDelay
当前版本采用“说完一句后播放”的分句模式:
麦克风输入
-> 音量/能量分析
-> 语音活动检测
-> 语音片段缓存
-> 检测到停顿
-> 应用音色效果
-> 外放播放
-> 回到监听
首版不做边说边听的实时耳返。这样更适合外放场景,也能减少麦克风录到扬声器声音后重复触发的问题。
Wavox/
Audio/
AudioSessionManager.swift
SpeechSegmentBuffer.swift
VoiceActivityDetector.swift
VoiceChangerEngine.swift
VoiceEffectProcessor.swift
VoicePreset.swift
Models/
VoiceChangerState.swift
VoiceDetectionSettings.swift
Views/
AdvancedSettingsView.swift
AudioLevelMeterView.swift
MainVoiceChangerView.swift
VoicePresetGrid.swift
WavoxApp.swift
docs/
realtime-voice-changer-ios-design.md
- 使用 Xcode 打开
Wavox.xcodeproj。 - 选择 iPhone 或 iPad 真机。
- 运行
Wavoxscheme。 - 首次运行时允许麦克风权限。
音频录制、外放、蓝牙设备和回录行为必须使用真机验证。模拟器只能用于编译和界面预览,不适合作为音频功能验收环境。
xcodebuild -project Wavox.xcodeproj -scheme Wavox -sdk iphonesimulator -destination 'generic/platform=iOS Simulator' build- 不保存录音历史。
- 不上传音频。
- 不做语音转文字。
- 不做实时耳返。
- 音色基于系统 AVFoundation Audio Unit 组合实现,不是专业 formant 级变声。
- 音色听感需要持续在真机外放环境中微调。
详细方案见: