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

news/2025/1/31 6:23:49 标签: 阿里云, 语音识别, xcode, 人工智能

基于阿里云百炼大模型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 = root
        self.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("警告", "没有可保存的识别内容")
        return

    file_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.niftyadmin.cn/n/5838388.html

相关文章

oracle中使用in 和 not in 查询效率分析

在Oracle数据库中&#xff0c;IN和NOT IN的查询效率受多种因素影响&#xff0c;以下是关键点总结和优化建议&#xff1a; 1. IN 的效率 优化方式&#xff1a; IN 通常会被优化为 OR条件 或 半连接&#xff08;Semi-Join&#xff09;&#xff0c;如果子查询关联到外部表&#x…

[免费]微信小程序智能商城系统(uniapp+Springboot后端+vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序智能商城系统(uniappSpringboot后端vue管理端)&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序智能商城系统(uniappSpringboot后端vue管理端) Java毕业设计_哔哩哔哩_bilibili 项目介绍…

Excel 技巧22 - Ctrl+D 向下复制(★★),复制同间距图形

本文讲Excel中CtrlD 向下复制的用法。 这个是我特别喜欢和常用的功能&#xff0c;操作简单&#xff0c;功能强大。 1&#xff0c;CtrlD向下复制 1-1&#xff0c;单个单元格复制 最为常用的就是一个单元格的&#xff0c;就像下面这样的&#xff0c;也不用选中&#xff0c; 就…

柯西辐角定理(Cauchy Argument Principle)及其可视化

Cauchy Argument Principle&#xff08;柯西辐角定理&#xff09; 定义 Cauchy Argument Principle 是复分析中的一个重要原理&#xff0c;它描述了一个全纯函数&#xff08;meromorphic function&#xff09;在一个闭合路径内的零点与极点的关系。具体来说&#xff0c;对于一…

Eureka 服务注册和服务发现的使用

1. 父子工程的搭建 首先创建一个 Maven 项目&#xff0c;删除 src &#xff0c;只保留 pom.xml 然后来进行 pom.xml 的相关配置 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xs…

物业管理软件引领社区智能化转型提升服务效率与居民生活质量

内容概要 物业管理软件的出现&#xff0c;标志着社区管理方式的一场革命&#xff0c;它不仅仅是一个工具&#xff0c;更是推动智能化转型的关键助力。通过高效的管理功能&#xff0c;物业管理软件在优化服务流程的同时&#xff0c;也提升了居民的生活质量和社区的整体发展活力…

【MySQL】悲观锁和乐观锁的原理和应用场景

悲观锁和乐观锁&#xff0c;并不是 MySQL 或者数据库中独有的概念&#xff0c;而是并发编程的基本概念。 主要区别在于&#xff0c;操作共享数据时&#xff0c;“悲观锁”认为数据出现冲突的可能性更大&#xff0c;而“乐观锁”则是认为大部分情况不会出现冲突&#xff0c;进而…

wordpress外贸独立站常用询盘软件

LiveChat LiveChat是一家提供实时聊天软件的公司&#xff0c;帮助企业通过其平台与客户进行即时通讯&#xff0c;提高客户满意度和忠诚度。他们的产品允许企业在网站、应用程序或电子邮件等多个渠道与客户互动&#xff0c;从而提升客户体验并促进销售增长。 LiveChat的软件特…