python实时语音识别(real-time)可以一直识别,而不是需要讲一段再去识别

1.废话不多说,直接贴代码

import speech_recognition as sr
import logging

logging.basicConfig(level=logging.DEBUG)

while True:
    r = sr.Recognizer()
    #Mic
    mic = sr.Microphone()
    logging.info('message enter')
    with mic as source:
        r.adjust_for_ambient_noise(source)
        audio = r.listen(source)
    logging.info('message end and recognize')
    test = r.recognize_google(audio, language='cmn-Hans-CN', show_all=True)
    print(test)
    logging.info('end')

2. 需要在Terminal中pip两个依赖

pip install SpeechRecognition
pip install PyAudio

3.值得一提的是:其中运用到了recognize_google()方法,此方法需要使用“外面的网络”*******

有需要的可点击以下网站了解具体教程 魔戒.net

### 实时语音转文字模型概述 对于实时语音转文字的任务,Python 提供了多种强大的工具和库来支持这一需求。以下是几个常用的解决方案: #### 1. **DeepSpeech** Mozilla 开发的 DeepSpeech 是一种开源的语音识别引擎,基于 Baidu 的 Deep Speech 论文构建[^1]。它提供了高效的端到端语音转文字能力,并且可以通过 TensorFlow 或 PyTorch 进行训练和推理。 ```python import deepspeech model_file_path = 'deepspeech-0.9.3-models.pbmm' beam_width = 500 model = deepspeech.Model(model_file_path, beam_width) audio_file_path = 'test_audio.wav' with open(audio_file_path, 'rb') as audio_file: audio = audio_file.read() text = model.stt(audio) print(f"Transcribed text: {text}") ``` 此代码片段展示了如何加载预训练模型并将其应用于音频文件以获取转录文本。 #### 2. **Real-Time Voice Cloning** 另一个值得注意的项目是 CorentinJ 的 Real-Time-Voice-Cloning 工具箱[^2]。虽然该项目主要关注于声音克隆,但它也包含了用于语音处理的基础组件,可以作为更复杂系统的起点。为了使用该工具箱,需先设置 Python 3.7 环境并下载必要的预训练模型。 #### 3. **Vosk API** Vosk 是一个离线语音识别套件,专为实时应用设计。它的性能优越,适合嵌入式设备以及服务器环境下的部署。 ```python from vosk import Model, KaldiRecognizer, SetLogLevel import wave SetLogLevel(0) model = Model(lang="en-us") # 更改 lang 参数以适应其他语言 wf = wave.open('test.wav', "rb") rec = KaldiRecognizer(model, wf.getframerate()) while True: data = wf.readframes(4000) if len(data) == 0: break if rec.AcceptWaveform(data): result = rec.Result() print(result) wf.close() ``` 上述脚本说明了 Vosk 如何读取 WAV 文件并将语音转换成结构化的 JSON 输出[^4]。 #### 4. **Google Cloud Speech-to-Text** 尽管 Google Cloud Speech-to-Text 不完全是一个本地化方案,但在某些场景下可能更为适用,特别是当需要高精度而不在乎网络延迟的时候。它可以轻松集成进任何 Python 应用程序中。 ```python from google.cloud import speech_v1p1beta1 as speech client = speech.SpeechClient() config = speech.RecognitionConfig( encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16, sample_rate_hertz=16000, language_code='en-US', enable_automatic_punctuation=True ) audio = speech.RecognitionAudio(uri="gs://bucket_name/audio_file.flac") response = client.recognize(config=config, audio=audio) for result in response.results: print("Transcript: {}".format(result.alternatives[0].transcript)) ``` 这段代码利用 Google Cloud SDK 来执行远程语音识别请求。 ### 性能对比与选择建议 每种方法都有各自的优缺点: - 如果追求完全自主控制而不依赖外部服务,则应考虑像 DeepSpeech 和 Vosk 这样的选项。 - 对于更高的精确度或者多语种支持,在预算允许的情况下可以选择云服务商的产品如 Google Cloud Speech-to-Text。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值