首页 > 编程语言 >python系列&deep_study系列:python如何将语音转文字

python系列&deep_study系列:python如何将语音转文字

时间:2024-07-02 19:58:29浏览次数:17  
标签:系列 python study API speech 语音 print audio

python如何将语音转文字




python如何将语音转文字

如果在python中将语音转换成文本?

在本文中,我们将探讨解决此问题的三种不同方法。

方法 1:使用 SpeechRecognition 库

SpeechRecognition 库提供了一种在 Python 中将语音转换为文本的简单方法。若要使用此库,需要先通过运行以下命令来安装它:

pip install SpeechRecognition

安装后,您可以按照以下步骤使用该库将语音转换为文本:

导入 SpeechRecognition 模块

import speech_recognition as sr

创建 Recognizer 类的实例:

r = sr.Recognizer()

使用麦克风作为音频源:

with sr.Microphone() as source:
    print("Speak something...")
    audio = r.listen(source)

将语音转换为文本:

try:
    text = r.recognize_google(audio)
    print("You said:", text)
  except sr.UnknownValueError:
    print("Sorry, I could not understand your speech.")
  except sr.RequestError as e:
    print("Sorry, an error occurred. Please try again later.")

方法 2:使用 Google Cloud Speech-to-Text API

如果您需要更准确的语音识别或有特定要求,可以使用 Google Cloud Speech-to-Text API。此选项需要设置 Google Cloud 项目并启用 Speech-to-Text API。以下是要遵循的步骤:

安装 Google Cloud 语音库

pip install google-cloud-speech

导入必要的模块:

from google.cloud import speech_v1p1beta1 as speech

Speech-to-Text API 创建客户端:Create a client for the Speech-to-Text API

client = speech.SpeechClient()

指定音频源和编码:

audio = speech.RecognitionAudio(uri="gs://path/to/audio/file.wav")
config = speech.RecognitionConfig(
    encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
    sample_rate_hertz=16000,
    language_code="en-US")

将音频数据发送到语音转文本 APISend the audio data to the Speech-to-Text API

response = client.recognize(config=config, audio=audio)

检索转录:

for result in response.results:
    print("Transcript:", result.alternatives[0].transcript)

方法 3:使用 PyAudio 库

如果您更喜欢较低级别的方法,可以使用 PyAudio 库从麦克风捕获音频,然后使用语音识别库将其转换为文本。这是你如何做到的:

安装 PyAudio 库

pip install pyaudio

导入必要的模块:

import pyaudio
import speech_recognition as sr

创建 Recognizer 类的实例:

r = sr.Recognizer()

设置音频源和属性:

chunk = 1024
sample_format = pyaudio.paInt16
channels = 2
sample_rate = 44100
record_seconds = 5
device_index = 1

stream = p.open(format=sample_format,
                channels=channels,
                rate=sample_rate,
                frames_per_buffer=chunk,
                input_device_index=device_index,
                input=True)

从流中读取音频数据:

print("Recording...")
frames = []
for i in range(0, int(sample_rate / chunk * record_seconds)):
    data = stream.read(chunk)
    frames.append(data)
print("Finished recording.")

将音频数据转换为文本:

audio_data = b''.join(frames)
text = r.recognize_google(audio_data)
print("You said:", text)

综上,使用 SpeechRecognition 库的第一个选项是最直接和最容易实现的。它为语音识别提供了高级接口,不需要任何其他设置或配置。因此,对于大多数用例,建议使用选项 1。







星星猫

python如何将语音转文字

标签:系列,python,study,API,speech,语音,print,audio
From: https://blog.csdn.net/weixin_54626591/article/details/140091414

相关文章

  • python系列&deep_study系列:Whisper——部署fast-whisper中文语音识别模型
    Whisper——部署fast-whisper中文语音识别模型Whisper——部署fast-whisper中文语音识别模型环境配置准备tiny模型模型转换代码Whisper——部署fast-whisper中文语音识别模型whisper:https://github.com/openai/whisper/tree/main参考文章:WhisperOpenAI开源语音......
  • Python解释器安装
    1、首先,我们进入官网链接如下:www.python.org我们选择页面上方下载按钮这里我们选择3.11.1版本然后选择推荐版本等待下载完毕2、下载完成之后选择自定义安装选择位置和功能这里直接下一步这里选择向所有用户安装python3.11和向环境变量添加python,然后再自定义安装......
  • 【课程设计】基于python的一款简单的计算器
    我们是大二本科生团队,主力两人耗时3天完成了这款计算器的制作。希望大家给我们多多引流!!!!!!欢迎各位优秀的高考学子报考长安大学,报考长安大学电子信息工程专业。欢迎有志于就读信息与通信工程和计算机科学与技术的准研究生报考长安大学!注意:文件我已经打包好了!长安大学直属国家......
  • python编译器
        Python解释器安装配置下载    第一,搜索python官网WelcometoPython.orgTheofficialhomeofthePythonProgrammingLanguagehttps://www.python.org/   第二,进入此页面PythonReleasesforWindows|Python.orgTheofficialhomeofthePyth......
  • 轻松调用其他工程的Python文件,提升编程效率
    哈喽,大家好,我是木头左!一、前言在Python开发过程中,经常会遇到需要在一个工程中调用另一个工程的Python文件的情况。这种情况通常发生在需要复用已有代码或者进行模块化开发时。那么,如何实现这一目标呢?本文将为你揭晓答案。二、Python模块导入原理在Python中,可以使用import语......
  • Python 执行其他工程的 Python 文件
    哈喽,大家好,我是木头左!三级标题:探索Python的模块化特性Python是一种广泛使用的高级编程语言,其设计哲学强调代码的可读性和简洁的语法。其中一个重要的特性就是模块化,即允许创建、使用和重用代码模块。这种模块化的特性不仅使得的代码更加清晰和组织化,而且还能让在多个项目中......
  • Python TensorFlow双向Bi-LSTM长短期记忆神经网络深度学习可视化用户传感器活动数据
    全文链接:https://tecdat.cn/?p=36613原文出处:拓端数据部落公众号在本文中,我们旨在利用深度学习技术,特别是TensorFlow框架下的Keras库,对WISDM(无线传感器数据挖掘)数据集进行活动识别。WISDM数据集包含了从用户身上佩戴的加速度传感器收集的三轴加速度数据,这些数据被用于识别用户的......
  • Python123:找出不是两个数组共有的元素、矩阵运算、方阵循环右移(C语言)
    文章目录1、找出不是两个数组共有的元素2、矩阵运算3、方阵循环右移1、找出不是两个数组共有的元素题目:给定两个整型数组,本题要求找出不是两者共有的元素。输入格式:输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。‪‬‪......
  • 2.3 在MacOS系统下载、安装、配置搭建Python开发环境——《跟老吕学Python》
    2.3在MacOS系统下载、安装、配置搭建Python开发环境——《跟老吕学Python》在MacOS系统下载、安装、配置搭建Python开发环境一、Python开发环境的硬件要求二、下载MacOS版Python安装包1.访问Python官网下载页2.选择Mac版本3.点击下载4.检查下载的文件5.准备安装......
  • [Python]使用python处理PDF,在PDF中某一页加一行文字,另存成一个新的文件
    本文参考链接:https://blog.csdn.net/Anq1_/article/details/111144032一、需求分析我有一个数据文件(data.xlsx),里面是序号和班级信息;还有一个PDF文件,每一页里是格式化的信息,其中包含序号,且序号唯一。遍历PDF每个页面,找到序号对应的班级,加在左下角 二、实现过程找了很多方法......