首页 > 编程语言 >python 语音转文字

python 语音转文字

时间:2024-12-17 08:59:28浏览次数:7  
标签:文字 语音 str python ret result file rec path

支持被压缩的wav,缺点是准确率低

 

import json
import wave
from vosk import Model, KaldiRecognizer
from pydub import AudioSegment

from pydub.utils import make_chunks

def recognize_wave(model, file_path):
print(111)
# 打开WAV音频文件
with wave.open(file_path, 'rb') as wf:
print(1)
rate = wf.getframerate() # 采样率

frames = wf.readframes(wf.getnframes()) # 读取所有帧

rec = KaldiRecognizer(model, rate)
rec.SetWords(True)
str_ret = ""

# 识别音频数据
if rec.AcceptWaveform(frames):
result = json.loads(rec.Result())
if 'text' in result:
str_ret += result['text']

result = json.loads(rec.FinalResult())
if 'text' in result:
str_ret += result['text']

str_ret = "".join(str_ret.split())
return str_ret


if __name__ == "__main__":
# 设置原始音频文件路径和新的采样率
file_path = '87622-1.wav'
new_sampling_rate = 44100 # 假设我们想要改变为44.1kHz

# 加载音频
audio = AudioSegment.from_file(file_path)

# 设置新的采样率
audio.set_frame_rate(new_sampling_rate)

# 保存新的音频文件
audio.export('output1234.wav', format='wav')


model = Model("vosk-model-cn-0.22")
file_path = 'output1234.wav' # 请确保文件名和路径正确

res = recognize_wave(model, file_path)
print(res)

标签:文字,语音,str,python,ret,result,file,rec,path
From: https://www.cnblogs.com/ch-zaizai/p/18611491

相关文章

  • 如何在 Ubuntu 20.04 或 22.04 上安装 Python 3
    以下是关于如何在Ubuntu20.04或22.04上安装Python3的详细步骤。Python是一种广泛使用的编程语言,适用于自动化、数据分析、机器学习等领域。Ubuntu系统通常预装了Python3,但如果需要安装或升级到最新版本,可以按照以下方法操作。检查系统是否已安装Python3打......
  • Python+OpenCV系列:AI看图识人、识车、识万物
    在人工智能风靡全球的今天,用Python和OpenCV结合机器学习实现物体识别,不仅是酷炫技能,更是掌握未来的敲门砖。本篇博文手把手教你如何通过摄像头或图片输入,识别人、动物、车辆及其他物品,让你的程序瞬间具备AI能力。一、什么是物体识别?物体识别是计算机视觉中的关键任......
  • 家长必备永久免费图像校正漂白工具PM Lite 文字清晰,打印省墨。PS平替神器
    Mlite是一款免费的图像校正和漂白工具,该软件仅支持在Windows101809及以上版本,64位操作系统下运行。通过使用PMlite,用户可以轻松地对图像进行校正和漂白处理,以获得更好的视觉效果。更新日志1、增加选区功能(用于复制、裁切、填白)2、新增支持“发送到”功能(需要将软件......
  • python装饰器详解
    一、函数装饰器 #上面是装饰器,下面是原函数defifren(p):#p是额外带来的参数,因为要带参数p所以多了一层函数嵌套defplusnihao(f):defwraper():#核心装饰器代码,f代指sayhello函数,是由上一层传入进来的,本层负责增加前后功能f()......
  • Python系统教程008-条件判断(二)
    知识回顾1、if语句的基本语法?2、常用的比较运算符有哪些?3、注释的分类以及格式4、else处理条件不满足的情况练习:地板上有n个石子,猫头鹰和小兔子正在玩取石子的游戏,从猫头鹰开始,轮流取石子,每次每个动物取走一个石子,猫头鹰能获胜吗?规则如下:流程图:输入格式:一个正整......
  • Python速成脚本小子(附20道基础题)
    当今社会,编程已经成为了一种必备的技能。而Python,作为一门高效简洁的编程语言,备受大家的喜爱。Python语言易学易用,非常适合初学者入门,同时也是各大公司招聘的必备技能之一。那么,如何快速入门Python,成为一个Python速成脚本小子呢?以下是一些建议:1.学习基本语法Python语法......
  • Python中的列表,元组
    列表列表的特点:有序,可重复,长度可变(增删改查),异构,可切片,可遍历。列表的基本语法:列表名=[元素]list=['apple','banana','pineapple']列表的作⽤是⼀次性存储多个数据,并且列表可以存储不同类型的数据一:列表的增删改查:增加:append():增加指定数据到列表中names=['1',......
  • [python]使用flask-caching缓存数据
    简介Flask-Caching是Flask的一个扩展,为任何Flask应用程序添加了对各种后端的缓存支持。它基于cachelib运行,并通过统一的API支持werkzeug的所有原始缓存后端。开发者还可以通过继承flask_caching.backends.base.BaseCache类来开发自己的缓存后端。官方文档-https:......
  • 如何用编码检测代理ip是否有效?( Python语言)
    基于requests库(简单的HTTP请求检测)首先,需要安装requests库。如果没有安装,可以在命令行中使用pipinstallrequests进行安装。以下是一个简单的函数来检测代理IP是否有效:importrequestsdefcheck_proxy(proxy):try:proxies={"http":"http:/......
  • 使用方法重载实现Python访问者模式
    Python上的访问者模式,看了一下网上其他人的例子,一般都是类似下面的代码。fromabcimportABC,abstractmethod#抽象访问者classAnimalVisitor(ABC):@abstractmethoddefvisit_dog(self,dog:"Dog"):pass@abstractmethodd......