基于阿里云百炼大模型Sensevoice-1的语音识别与文本保存工具开发
基于阿里云百炼大模型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("提示", "保存成功")
在文本保存逻辑中,我们通过文件对话框让用户选择保存路径,并将识别结果写入指定的文本文件中。
运行结果:

5.使用说明
5.1 安装依赖
在运行代码之前,需要安装以下Python库:
pip install dashscope
pip install tkinter
5.2 启动工具
运行代码后,工具会启动一个图形用户界面。用户可以通过点击“会议记录语音识别”按钮进行东北方言会议记录音频文件的语音识别,并通过点击“保存识别内容到文本”按钮将识别结果保存到本地文件中。
6.遇到的问题及解决方案
在开发过程中,我们遇到了一些问题,例如网络连接问题导致语音文件无法正确解析。如果用户遇到类似问题,建议检查以下几点:
• 确保语音文件的URL链接是有效的,并且服务器能够正常访问。
• 检查网络连接是否正常,适当重试可能解决问题。
• 如果问题仍然存在,可以尝试更换语音文件或联系技术支持。
7.结论
本文介绍了一个基于Python和阿里云百炼大模型的语音识别与文本保存工具的开发过程。通过Tkinter实现的图形用户界面,用户可以方便地进行东北方言会议记录音频文件的语音识别和文本保存操作。该工具在会议记录、语音笔记等场景中具有较高的实用价值。未来,我们可以进一步优化工具的功能,例如支持更多语音文件格式、提高识别精度等,以满足更多用户的需求。
欢迎点赞、关注、收藏、转发!!!
相关文章:
基于阿里云百炼大模型Sensevoice-1的语音识别与文本保存工具开发
基于阿里云百炼大模型Sensevoice-1的语音识别与文本保存工具开发 摘要 随着人工智能技术的不断发展,语音识别在会议记录、语音笔记等场景中得到了广泛应用。本文介绍了一个基于Python和阿里云百炼大模型的语音识别与文本保存工具的开发过程。该工具能够高效地识别东…...
【go语言】函数
一、什么是函数 函数是入门简单精通难,函数是什么??? 函数就是一段代码的集合go 语言中至少有一个 main 函数函数需要有一个名字,独立定义的情况下,见名知意函数可能需要有一个结果,也可能没有…...
CTF-web: phar反序列化+数据库伪造 [DASCTF2024最后一战 strange_php]
step 1 如何触发反序列化? 漏洞入口在 welcome.php case delete: // 获取删除留言的路径,优先使用 POST 请求中的路径,否则使用会话中的路径 $message $_POST[message_path] ? $_POST[message_path] : $_SESSION[message_path]; $msg $userMes…...
从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(动态菜单组件实现)
目录 面对对象C的程序设计(范例) 面对对象C的程序设计(应用) 进一步谈论我上面给出的代码——继承 实现一个面对对象的文本编辑器 所以,什么是继承 重申我们对菜单的抽象 抽象菜单项目 抽象菜单动画 实现菜单功…...
EtherCAT主站IGH-- 23 -- IGH之fsm_slave.h/c文件解析
EtherCAT主站IGH-- 23 -- IGH之fsm_slave.h/c文件解析 0 预览一 该文件功能`fsm_slave.c` 文件功能函数预览二 函数功能介绍`fsm_slave.c` 中主要函数的作用1. `ec_fsm_slave_init`2. `ec_fsm_slave_clear`3. `ec_fsm_slave_exec`4. `ec_fsm_slave_set_ready`5. `ec_fsm_slave_…...
windows10 配置使用json server作为图片服务器
步骤1:在vs code中安装json server, npm i -g json-server 注意:需要安装对应版本的json server,不然可能会报错,比如: npm i -g json-server 0.16.3 步骤2:出现如下报错: json-server 不是…...
Linux——网络(tcp)
文章目录 目录 文章目录 前言 一、TCP逻辑 1. 面向连接 三次握手(建立连接) 四次挥手(关闭连接) 2. 可靠性 3. 流量控制 4. 拥塞控制 5. 基于字节流 6. 全双工通信 7. 状态机 8. TCP头部结构 9. TCP的应用场景 二、编写tcp代码函数…...
腾讯云开发提供免费GPU服务
https://ide.cloud.tencent.com/dashboard/web 适用于推理场景,每个月10000分钟免费时长 166 小时 40 分钟 自带学术加速,速度还是不错的 白嫖 Tesla T4 16G 算力 显存:16GB 算力:8 TFlops SP CPU:8 核 内存&#…...
详解python的修饰符
Python 中的修饰符(Decorator)是一种用于修改或扩展函数或类行为的工具。它们本质上是一个函数,接受另一个函数或类作为参数,并返回一个新的函数或类。修饰符通常用于在不修改原函数或类代码的情况下,添加额外的功能。…...
《攻克语言密码:教AI理解隐喻与象征》
在自然语言处理(NLP)领域,让计算机理解人类语言中的隐喻和象征,是迈向更高语言理解水平的关键一步。从“时间就是金钱”这样的概念隐喻,到文学作品里象征着坚韧的“寒梅”,这些非字面意义的表达方式承载着丰…...
如何解除TikTok地区限制:实用方法解析
随着社交媒体的不断发展,TikTok作为一款短视频平台,已经在全球范围内吸引了数以亿计的用户。然而,不同地区对TikTok的使用权限存在一定的限制,这使得一些用户无法享受平台提供的完整内容和功能。 一、了解TikTok地区限制的原因 在…...
神经网络|(七)概率论基础知识-贝叶斯公式
【1】引言 前序我们已经了解了一些基础知识。 古典概型:有限个元素参与抽样,每个元素被抽样的概率相等。 条件概率:在某条件已经达成的前提下,新事件发生的概率。实际计算的时候,应注意区分,如果是计算综…...
《DeepSeek 网页/API 性能异常(DeepSeek Web/API Degraded Performance):网络安全日志》
DeepSeek 网页/API 性能异常(DeepSeek Web/API Degraded Performance)订阅 已识别 - 已识别问题,并且正在实施修复。 1月 29, 2025 - 20:57 CST 更新 - 我们将继续监控任何其他问题。 1月 28, 2025 - 22&am…...
使用Edu邮箱申请一年免费的.me域名
所需材料:公立Edu教育邮箱一枚(P.S:该服务不支持所有的Edu教育邮箱,仅支持比较知名的院校) 说到域名,.me这个后缀可谓是个性十足,适合个人网站、博客等。.me是黑山的国家顶级域名(c…...
【MCU】DFU、IAP、OTA
我发现很多人把几个概念都学混了,只记得一个升级了 DFU DFU (device firmware update)是指的 USB DFU,这个是 USB 的一个机制,可以升级设备的固件,可以去 USB-IF 查看规范文件。 OTA 全称为 Over-the-air update,利…...
2025.1.21——六、BUU XSS COURSE 1 XSS漏洞|XSS平台搭建
题目来源:buuctf BUU XSS COURSE 1 目录 一、打开靶机,整理信息 二、解题思路 step 1:输入框尝试一下 step 2:开始xss注入 step 3:搭建平台 step 4:利用管理员cookie访问地址 三、小结 二编&#…...
跟李沐学AI:视频生成类论文精读(Movie Gen、HunyuanVideo)
Movie Gen:A Cast of Media Foundation Models 简介 Movie Gen是Meta公司提出的一系列内容生成模型,包含了 3.2.1 预训练数据 Movie Gen采用大约 100M 的视频-文本对和 1B 的图片-文本对进行预训练。 图片-文本对的预训练流程与Meta提出的 Emu: Enh…...
7.抽象工厂(Abstract Factory)
抽象工厂与工厂方法极其类似,都是绕开new的,但是有些许不同。 动机 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时,由于需求的变化,往往存在更多系列对象的创建工作。 假设案例 假设…...
python-leetcode-路径总和
112. 路径总和 - 力扣(LeetCode) # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:de…...
WGCLOUD使用介绍 - 如何监控ActiveMQ和RabbitMQ
根据WGCLOUD官网的信息,目前没有针对ActiveMQ和RabbitMQ这两个组件专门做适配 不过可以使用WGCLOUD已经具备的通用监测模块:进程监测、端口监测或者日志监测、接口监测 来对这两个组件进行监控...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
uniapp 实现腾讯云IM群文件上传下载功能
UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...
java高级——高阶函数、如何定义一个函数式接口类似stream流的filter
java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用(Math::max) 2 函数接口…...
从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...
[特殊字符] 手撸 Redis 互斥锁那些坑
📖 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作,想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁,也顺便跟 Redisson 的 RLock 机制对比了下,记录一波,别踩我踩过…...
起重机起升机构的安全装置有哪些?
起重机起升机构的安全装置是保障吊装作业安全的关键部件,主要用于防止超载、失控、断绳等危险情况。以下是常见的安全装置及其功能和原理: 一、超载保护装置(核心安全装置) 1. 起重量限制器 功能:实时监测起升载荷&a…...
【AI News | 20250609】每日AI进展
AI Repos 1、OpenHands-Versa OpenHands-Versa 是一个通用型 AI 智能体,通过结合代码编辑与执行、网络搜索、多模态网络浏览和文件访问等通用工具,在软件工程、网络导航和工作流自动化等多个领域展现出卓越性能。它在 SWE-Bench Multimodal、GAIA 和 Th…...
