✅ 任务目标
-
了解 ASR(自动语音识别),让 AI 将语音转换为文本。
-
使用开源语音识别库,在本地运行语音转文字。
-
训练自己的语音识别模型,让 AI 适应你的声音。
第一步:什么是 ASR(自动语音识别)?
ASR(Automatic Speech Recognition)就是让 AI 把人说的话转换成文字,它是语音助手的基础。
-
你对 Siri 说 “明天的天气怎么样?”,它需要先把这句话 转换成文本,然后用 NLP 理解你的意思。
-
你的智能助手也需要 语音输入,这样用户就可以通过 说话 来控制 AI,而不是只能打字。
常见的 ASR 应用:
-
语音助手(Siri、小爱同学、讯飞语音)。
-
会议转录(腾讯会议、钉钉语音转写)。
-
字幕生成(B站 AI 字幕)。
-
语音控制("打开微信","拨打电话给妈妈")。
第二步:安装语音识别库
在 Python 里,我们可以使用 SpeechRecognition 进行语音识别。
pipinstallspeechrecognitionpydub
第三步:让 AI 识别麦克风语音
我们用 speech_recognition
让 AI 实时听取你的声音,并转换成文字。
import speech_recognition as sr
# 初始化识别器
recognizer = sr.Recognizer()
# 打开麦克风
with sr.Microphone() as source:
print("🎤 说话中...")
recognizer.adjust_for_ambient_noise(source) # 适应环境噪音
audio = recognizer.listen(source) # 录音
# 识别语音
try:
text = recognizer.recognize_google(audio, language="zh-CN") # 识别中文
print(f"你说的是:{text}")
except sr.UnknownValueError:
print("无法识别语音")
except sr.RequestError:
print("无法连接到语音识别服务")
🎙️ 测试
运行代码后,你可以 对着麦克风说话,AI 会把你的声音转换成文本。
第四步:让 AI 识别本地音频文件
如果你想让 AI 识别音频文件(比如 .wav
录音文件),可以这样做:
audio_path = "your_audio.wav"
with sr.AudioFile(audio_path) as source:
audio = recognizer.record(source) # 读取音频
text = recognizer.recognize_google(audio, language="zh-CN")
print(f"音频内容:{text}")
📌 注意:
-
speech_recognition
只能识别 WAV 格式,如果你的音频是 MP3,需要先转成 WAV。
第五步:使用 Whisper 进行离线语音识别
上面的 speech_recognition
需要联网,但如果你想要本地运行,可以使用 OpenAI Whisper!Whisper 是一个超强的语音识别模型,支持 多种语言,而且 可以在本地运行。
1. 安装 Whisper
pipinstallopenai-whisper
2. 让 AI 识别本地音频
import whisper
# 加载 Whisper 模型
model = whisper.load_model("base")
# 识别音频
result = model.transcribe("your_audio.wav")
print("识别结果:",result["text"])
Whisper 支持中文,而且准确率比 speech_recognition 更高!
第六步:训练自己的 ASR 模型(进阶)
如果你想让 AI 适应你的声音,可以训练自己的 ASR 模型,比如:
-
Fine-tune Whisper:用你的语音数据微调 Whisper,让它更懂你的口音。
-
Mozilla DeepSpeech:一个开源 ASR 项目,可以自己训练模型。
-
PaddleSpeech:百度的语音识别框架,也支持中文。
但 训练 ASR 需要大量语音数据,所以建议先用 Whisper 直接推理,后期再考虑训练自己的模型。
🎯 练习任务
✅ 任务 1:让 AI 识别你的声音,并转成文字。✅ 任务 2:尝试 Whisper,看它的准确率是否比 speech_recognition 更好。✅ 任务 3:试试不同的音频格式(MP3、WAV),看看识别效果如何。