基于阿里云百炼大模型Sensevoice-1的语音识别与文本保存工具开发

devtools/2025/2/2 8:34:59/

基于阿里云百炼大模型Sensevoice-1的语音识别与文本保存工具开发

摘要
随着人工智能技术的不断发展,语音识别在会议记录、语音笔记等场景中得到了广泛应用。本文介绍了一个基于Python和阿里云百炼大模型的语音识别与文本保存工具的开发过程。该工具能够高效地识别东北方言的会议记录音频文件,并将识别结果保存为文本文件,方便用户使用和管理。

1.引言

语音识别技术是人工智能领域的重要分支,它能够将语音信号转换为文本内容,极大地提高了信息处理的效率。在实际应用中,例如会议记录、语音笔记等场景,语音识别工具能够帮助用户快速生成文本内容,节省时间和精力。本文将详细介绍如何使用Python和阿里云百炼大模型开发一个简单的语音识别与文本保存工具,特别关注对东北方言会议记录音频文件的识别。

2.技术栈介绍

2.1 Python

Python是一种广泛使用的高级编程语言,具有简洁的语法和强大的库支持,适合快速开发各种应用。在本项目中,Python被用于实现图形用户界面和后端逻辑。

2.2 阿里云百炼大模型

阿里云百炼大模型提供了强大的语音识别能力,支持多种语言和方言的识别。其中,sensevoice-v1模型专门针对中文语音识别进行了优化,能够高效地处理东北方言等地方言的语音文件。通过阿里云的API,我们可以轻松地将语音识别功能集成到我们的工具中。

2.3 Tkinter

Tkinter是Python的标准GUI库,用于创建图形用户界面。它提供了丰富的控件,如按钮、文本框等,能够方便地实现用户交互功能。

3.工具功能设计

3.1 东北方言会议记录语音识别

工具的核心功能是识别东北方言的会议记录音频文件。用户可以通过点击“会议记录语音识别”按钮,触发语音识别流程。工具会调用阿里云百炼大模型的语音识别API,将指定的东北方言音频文件转换为文本内容,并显示在文本框中。

3.2 文本保存

识别后的文本内容可以通过点击“保存识别内容到文本”按钮保存到本地文件中。用户可以选择保存路径和文件名,工具会将文本内容写入指定的文本文件中。

4.代码实现

4.1 初始化界面
class AudioTranscriptionApp:def __init__(self, root):self.root = rootself.root.title("语音识别与保存工具")self.root.grid_rowconfigure(0, weight=1)self.root.grid_columnconfigure(0, weight=1)self.root.grid_columnconfigure(1, weight=1)self.text_box = tk.Text(root, height=15, width=60, font=("Arial", 18))self.text_box.grid(row=0, column=0, columnspan=2, sticky="nsew", padx=10, pady=10)self.text_box.insert(tk.END, "识别内容如下:\n")self.recognize_button = tk.Button(root, text="会议记录语音识别", command=self.recognize_audio)self.recognize_button.grid(row=1, column=0, padx=10, pady=10, sticky="ew")self.save_button = tk.Button(root, text="保存识别内容到文本", command=self.save_transcription)self.save_button.grid(row=1, column=1, padx=10, pady=10, sticky="ew")

在初始化界面时,我们创建了一个多行文本框用于显示识别结果,以及两个按钮分别用于触发语音识别和保存文本内容。

4.2 东北方言会议记录语音识别逻辑
def recognize_audio(self):try:task_response = dashscope.audio.asr.Transcription.async_call(model='sensevoice-v1', # 语言模型file_urls=['https://ai-inspection-lxw.oss-cn-hangzhou.aliyuncs.com/output.mp3?Expires=1738208593&OSSAccessKeyId=TMP.3KhisLmHf1f1YvnxwxcRF3FSMJPNaD1RTyww1TAebKcp5Ymhm2R9bt53kzuWFD6vpkCt....'],  #上传到OSS的音频文件language_hints=['zh', 'en'],  # 使用中文语言提示,适用于东北方言)transcription_response = dashscope.audio.asr.Transcription.wait(task=task_response.output.task_id)if transcription_response.status_code == HTTPStatus.OK:for transcription in transcription_response.output['results']:url = transcription['transcription_url']result = json.loads(request.urlopen(url).read().decode('utf8'))self.transcription_text = result['transcripts'][0]['text']# 正则模式pattern = r"<\|Speech\|>(.*?)<\|\/Speech\|>" self.transcription_text_matches = re.findall(pattern, self.transcription_text)self.transcription_text_final = "\n".join(self.transcription_text_matches)self.text_box.delete(1.0, tk.END)self.text_box.insert(tk.END, "识别内容如下:\n")self.text_box.insert(tk.END, self.transcription_text_final)messagebox.showinfo("提示", "transcription done")else:messagebox.showerror("错误", f"Error: {transcription_response.output.message}")except Exception as e:messagebox.showerror("错误", f"发生错误: {e}")

语音识别逻辑中,我们调用了阿里云百炼大模型的异步语音识别API,并等待任务完成。识别结果通过正则表达式提取并显示在文本框中。特别地,我们使用了中文语言提示(language_hints=['zh']),以更好地支持东北方言的识别。

4.3 文本保存逻辑
def save_transcription(self):if not self.transcription_text_final:messagebox.showwarning("警告", "没有可保存的识别内容")returnfile_path = filedialog.asksaveasfilename(defaultextension=".txt",filetypes=[("Text files", "*.txt"), ("All files", "*.*")])if file_path:with open(file_path, "w", encoding="utf-8") as file:file.write("识别内容如下:\n")file.write(self.transcription_text_final)messagebox.showinfo("提示", "保存成功")

在文本保存逻辑中,我们通过文件对话框让用户选择保存路径,并将识别结果写入指定的文本文件中。

运行结果:

截屏2025-01-30 11.37.13

5.使用说明

5.1 安装依赖

在运行代码之前,需要安装以下Python库:

pip install dashscope
pip install tkinter
5.2 启动工具

运行代码后,工具会启动一个图形用户界面。用户可以通过点击“会议记录语音识别”按钮进行东北方言会议记录音频文件的语音识别,并通过点击“保存识别内容到文本”按钮将识别结果保存到本地文件中。

6.遇到的问题及解决方案

在开发过程中,我们遇到了一些问题,例如网络连接问题导致语音文件无法正确解析。如果用户遇到类似问题,建议检查以下几点:

• 确保语音文件的URL链接是有效的,并且服务器能够正常访问。

• 检查网络连接是否正常,适当重试可能解决问题。

• 如果问题仍然存在,可以尝试更换语音文件或联系技术支持。

7.结论

本文介绍了一个基于Python和阿里云百炼大模型的语音识别与文本保存工具的开发过程。通过Tkinter实现的图形用户界面,用户可以方便地进行东北方言会议记录音频文件的语音识别和文本保存操作。该工具在会议记录、语音笔记等场景中具有较高的实用价值。未来,我们可以进一步优化工具的功能,例如支持更多语音文件格式、提高识别精度等,以满足更多用户的需求。

欢迎点赞、关注、收藏、转发!!!


http://www.ppmy.cn/devtools/155391.html

相关文章

[JavaScript] ES6及以后版本的新特性

文章目录 箭头函数&#xff08;Arrow Functions&#xff09;为什么需要箭头函数&#xff1f;箭头函数的完整语法箭头函数中的 this实用场景 解构赋值&#xff08;Destructuring Assignment&#xff09;为什么需要解构赋值&#xff1f;数组解构赋值的完整用法对象解构赋值的完整…

帝国CMS8.0终极栏目转换或批量改顺序成功后不能返回地址的解决方案

帝国CMS8.0终极栏目转换或批量改顺序成功后不能返回地址问题的解决办法&#xff1a; 修改 /e/class/classfun.php 文件&#xff0c; 查找2处 “$cache_ecmstourlurlencode(EcmsGetReturnUrl());” 修改为 “$cache_ecmstourlurlencode($_POST[&topic_c449dd39-aa1d-41…

数据分析系列--②RapidMiner导入数据和存储过程

一、下载数据 二、导入数据 1. 在本地计算机中创建3个文件夹 2. 从本地选择.csv或.xlsx 三、界面说明 四、存储过程 1.保存 Congratulations, you are done. 一、下载数据 点击下载AssociationAnalysisData.xlsx数据集 二、导入数据 1. 在本地计算机中创建3个文件夹 2. 从…

跨境支付领域中常用的英文单词(持续更新)

### **1. 支付方式 (Payment Methods)** 1. Credit Card 2. Debit Card 3. Bank Transfer 4. Wire Transfer 5. PayPal 6. Alipay 7. WeChat Pay 8. Apple Pay 9. Google Pay 10. Cryptocurrency 11. Digital Wallet 12. Mobile Payment 13. Cash on D…

BGP协议

BGP作为一种外部网关动态路由协议&#xff0c;其基于TCP的179号端口&#xff0c;其联系不同自治系统间的通讯 关于BGP的版本&#xff0c;最早只有1&#xff0c;2&#xff0c;3这三个版本&#xff0c;后经过改进有了BGP4&#xff0c;目前普遍使用BGP4版本&#xff0c;其可兼容I…

用一个例子详细说明python单例模式

单例模式是一种设计模式&#xff0c;它确保一个类只有一个实例&#xff0c;并提供一个全局访问点来访问该实例。这在需要控制资源&#xff08;如数据库连接、文件系统等&#xff09;的访问时非常有用。 下面是一个使用Python实现单例模式的例子&#xff1a; class Singleton:…

4. 劲舞团python解法——2024年省赛蓝桥杯真题

问题描述&#xff1a;4.劲舞团 - 蓝桥云课 小蓝最近迷上了一款名为 “劲舞团” 的游戏&#xff0c;具体来说&#xff0c;只要按照游戏中给出的键位提示依次按出对应的键位&#xff0c;游戏人物便可以跟随节奏跳舞。对于连续的 K 次正确敲击&#xff0c;如果任意连续的两次敲击…

(笔记+作业)书生大模型实战营春节卷王班---L0G2000 Python 基础知识

学员闯关手册&#xff1a;https://aicarrier.feishu.cn/wiki/QtJnweAW1iFl8LkoMKGcsUS9nld 课程视频&#xff1a;https://www.bilibili.com/video/BV13U1VYmEUr/ 课程文档&#xff1a;https://github.com/InternLM/Tutorial/tree/camp4/docs/L0/Python 关卡作业&#xff1a;htt…