【课】智能系统集成(项目2 校园语音客服)

语音采集实验模块

作者:毛栗小舞狼

本文档是智能系统集成课程所对应的教学资料

本文档采用Markdown格式进行记录

项目功能

  • 录音,保存为wav格式。
  • 声音转文字,全面支持中文。

用作学习实验,为构造更大的应用打基础。

录完发现我的声音挺难听的,下次一定要换个录音好听的电脑

技术选型

录音

  • 录音用PyAudio实现
  • 保存格式为wav文件

PyAudio库通过pip安装
pip是可以切换国内源的

语音转文字

  • 输入格式为wav文件
FunASR(依赖过于复杂暂不使用)

依赖:

  • Python >= 3.8
  • PyTorch >= 1.13
  • torchaudio
Vosk

依赖:

  • 下载中文语音模型:
    从 Vosk 官方网站 https://alphacephei.com/vosk/ 下载中文语音模型,
    例如 vosk-model-cn-0.22,并解压到项目目录中
  • 模型国内下载:
    https://gitcode.com/open-source-toolkit/efc8a/tree/main

案例代码:

import json
import pyaudio
from vosk import Model, KaldiRecognizer

model = Model("vosk-model-small-cn-0.3")
recognizer = KaldiRecognizer(model, 16000)

p = pyaudio.PyAudio()
stream = p.open(
    format=pyaudio.paInt16,
    channels=1,
    rate=16000,
    input=True,
    frames_per_buffer=8000
)
print("开始说话,按Ctrl+C停止...")
try:
    while True:
        data = stream.read(4000)
        if recognizer.AcceptWaveform(data):
            result = json.loads(recognizer.Result())
            print(result.get("text",""))
        else:
            partial_result = json.loads(recognizer.PartialResult())
            print(partial_result.get("partial",""))
except KeyboardInterrupt:
    print("停止录音")
    stream.stop_stream()
    stream.close()
    p.terminate()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Goatton

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值