0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

开发者说 | 手语翻译系统系列之使用旭日X3派实现实时语音转写

地瓜机器人 2023-01-05 14:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

准备工作

  • 硬件部分:旭日X3派,USB免驱摄像头,电源适配器,烧录Ubuntu系统的SD卡,USB扬声器,显示屏(或者VNC/SSH远程连接)

  • 软件部分:Thonny IDE集成开发环境
2.jfif

注意:购买麦克风时要购买二合一的USB麦克风,切勿购买3.5mm耳机接口传输的麦克风。

首先更新软件源和所有软件,只需要使用快捷键ctrl+alt+T打开命令行,输入以下命令,耐心等待即可。

# 更新软件源 apt-get update # 更新升级所有软件 apt-get upgrade

开发工具依然是沿用Thonny,作为一款轻量化的python集成开发环境,对新手十分友好,简单易上手,后续安装各种python依赖库也相当方便。安装完成后同样是使用快捷键ctrl+alt+T打开命令行,输入Thonny启动,然后开始项目的重头戏——安装项目依赖库,需要用到的第三方库和版本如下,大家可以根据这个顺序进行安装,以免遗漏(也可以复制到一个新的txt文件利用pip一次性安装)。

cffi==1.12.3 gevent==1.4.0 greenlet==0.4.15 pycparser==2.19 six==1.12.0 websocket==0.2.1 websocket-client==0.56.0

注意:有些库安装失败的话代码可能不会有高亮提示,但运行时会报错,所以,出现报错第一时间检查第三方库是否成功安装。

本文着重介绍需要用到的Python标准GUI库——Tkinter。

在Python程序中,Tkinter是Python的一个模块,它可以像其他模块一样在Python交互式shell中(或者“.py”程序中)导入,导入Tkinter模块后,就可使用Tkinter模块中的函数、方法等进行GUI编程。同时,开发者也可以使用Tkinter库中的文本框、按钮、标签等组件实现GUI开发。

首先,需检查Tkinter是否成功导入,如运行无误则说明导入成功,否之,则需要重新安装Tkinter库。

import tkinter

接着创建一个窗口,先使用http://tkinter.Tk生成一个主窗口对象,然后才能使用Tkinter模块中其他的函数和方法等元素。生成主窗口以后才可以向里面添加组件,或者直接调用其mainloop()方法进行消息循环。示例如下:

import tkinter #导入Tkinter模块 top = tkinter.Tk()#生成一个主窗口对象 top.mainloop()#进入消息循环

我们要有交互,就需要有组件。组件与窗口一样,也是通过Tkinter模块中相应的组件函数生成的。在生成组件以后,就可以使用pack、grid或place等方法将它添加到窗口中,以下示例给窗口增添两个按钮:

import tkinter #导入Tkinter模块 root = tkinter.Tk()#生成一个主窗口对象 label= tkinter.Label(root, text="Python, tkinter!") label.pack()#将标签添加到窗口中 button1 = tkinter.Button(root, text="按钮1")#创建按钮1 button1.pack(side=tkinter.LEFT)#将按钮1添加到窗口中 button2 = tkinter.Button(root, text="按钮2")#创建按钮2 button2.pack(side=tkinter.RIGHT)#将按钮2添加到窗口中 root.mainloop()#进入消息循环

3.jfif

至此,用Tkinter库创建一个带交互功能的窗口已经完成,大家感兴趣可以继续学习其他组件,这里就不再赘述。

接下来进行云服务器部署,本项目选用云端语音平台,登录平台后,通过右上角「控制台」,或右上角下拉菜单的「我的应用」进入控制台。如果账户未曾创建过应用,平台会引导创建,创建完成后,便可通过左侧的服务列表,选择要使用的服务。

在服务管理面板中,将看到这个服务对应的可用量、历史用量、服务接口的验证信息,还有可以调用的API和SDK。值得注意的是,要将应用创建后生成的APPID,APISecret和APIKey去替换代码中的APPID,APISecret和APIKey一定要一一对应,否则会影响代码的正常运行!

def run(): global wsParam wsParam = Ws_Param(APPID='你的APPID', APIKey='你的APIKey',APISecret='你的APISecret') websocket.enableTrace(False) wsUrl = wsParam.create_url() ws = websocket.WebSocketApp(wsUrl, on_message=on_message, on_error=on_error, on_close=on_close) ws.on_open = on_open ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE}, ping_timeout=2)

随后选择需要的语种和服务即可,支持除中文和英语外的51种外语,24种方言和1种民族语言。

4.png

实现原理

本项目主要就是利用python程序录制本地mp3格式的用户音频,并将音频上传到云端语音平台进行实时转写,最后利用GUI库在屏幕上展示转写结果(云端语音平台翻译文本的方法和窗口的实现,点击文末阅读原文即可获取)。

效果展示

结果显示,本项目对本地资源占用较小,得益于旭日X3派的高算力和高性能,温度的控制让人十分满意(和上一个项目手语翻译终端同时运行也没有问题)。

5.jfif


6.jfif

性能测试

系统测试方案:将程序导入旭日X3派中,接入电源后等待初始化完成,在安静的室内环境下,在麦克风前分别测试普通话,英语,方言(东北话/四川话),将转写终端实时转写的准确率记录,同时将识别的总时长记录收集。

测试数据如下:

7.jfif


8.jfif

结果分析:接收到语音信息后到完成转写结果的显示总时长在0.5秒之内,可基本实现实时转译,对普通话和英文以及51种外语,24种方言和1种民族语言的识别率在95%以上。

结论:实现语音转写除了支持普通话和英语外,支持51个外国语种(包括日语、俄语、泰语、捷克语等常用语种)、24种方言(包括四川话、广东话、河南话、上海话,闽南语等常用方言),另外,还支持一种民族语言(彝语),真正做到无障碍沟通交流。

本文转自地平线开发者社区
原作者:鑫辰大海王

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5186

    文章

    20165

    浏览量

    329047
  • 语音
    +关注

    关注

    3

    文章

    403

    浏览量

    39500
  • 人工智能
    +关注

    关注

    1813

    文章

    49757

    浏览量

    261682
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    打造机器人母生态!一年开发者数量翻倍,地瓜机器人发布具身智能大算力开发平台

    增长200%,个人开发者数量翻倍。   作为机器人芯片公司,地瓜机器人已经打造了两大系列产品:旭日X系列主打高性价比,面向泛消费机器人;S
    的头像 发表于 11-27 09:16 7132次阅读
    打造机器人母生态!一年<b class='flag-5'>开发者</b>数量翻倍,地瓜机器人发布具身智能大算力<b class='flag-5'>开发</b>平台

    RISC-V实现实时AI多媒体:深度数智亮相2025 VideoLAN开发者大会

    在本届伦敦VideoLAN开发者大会上,深度数智与开源社区共同见证了AI增强多媒体技术在RISC-V架构上的原生运行突破。这标志着开放媒体、开放AI与开放芯片技术真正实现了日常化应用的重要里程碑
    的头像 发表于 11-06 17:21 1056次阅读
    RISC-V<b class='flag-5'>实现实时</b>AI多媒体:深度数智亮相2025 VideoLAN<b class='flag-5'>开发者</b>大会

    讯飞实时语音转写大模型上线

    从全球协作,到国际交流,再到知识普惠,实时语音转写已经成为信息传递的重要工具。它让跨越时空的交流更顺畅,让内容的获取更高效。
    的头像 发表于 09-26 16:08 623次阅读

    奇瑞风云X3系列双车上市

    8月16日,奇瑞汽车旗下风云品牌全新方盒子产品序列——风云X3与风云X3 PLUS正式宣告上市。风云X3系列基于iCAR 03系列焕新升级而
    的头像 发表于 08-19 11:48 847次阅读

    HDC 2025开发者主题演讲精彩回顾

    日前,华为开发者大会(HDC 2025)进入第二天,行业领袖、技术专家、全球开发者齐聚现场,共同见证这场科技盛会。在开发者主题演讲中,华为技术专家深入解析HarmonyOS的最新技术、体验创新以及
    的头像 发表于 07-09 11:20 1050次阅读

    明远智睿SSD2351开发板:语音机器人领域的变革力量

    通过网络连接云端服务器进行快速检索和分析,然后利用语音合成技术将答案以自然流畅的语音反馈给用户。同时,借助开发板的网络连接功能,语音机器人还可以与后台管理
    发表于 05-28 11:36

    深开鸿CEO王成录:开发者是开源鸿蒙生态的原点

    5月24日,深开鸿正式发布全国首款面向开发者的开源鸿蒙学习平台——开鸿Bot系列产品。这是开源鸿蒙在开发者终端领域的关键落地,更是深开鸿贯彻“以开发者为中心”理念的里程碑举措。深开鸿C
    的头像 发表于 05-26 12:06 729次阅读
    深开鸿CEO王成录:<b class='flag-5'>开发者</b>是开源鸿蒙生态的原点

    开鸿Bot系列:为开源鸿蒙开发者而生!

    操作系统实现从国产高性能芯片到操作系统的全栈自主化,构建起一站式的开源鸿蒙学习与开发平台。融合开发与办公场景打造开源鸿蒙生态的“第一站”作
    的头像 发表于 05-16 16:06 911次阅读
    开鸿Bot<b class='flag-5'>系列</b>:为开源鸿蒙<b class='flag-5'>开发者</b>而生!

    为开源鸿蒙开发者而生,开鸿Bot系列今日预售启动

    操作系统实现从国产高性能芯片到操作系统的全栈自主化,构建起一站式的开源鸿蒙学习与开发平台。 融合开发与办公场景,打造开源鸿蒙生态的“第一站
    的头像 发表于 05-15 14:12 527次阅读
    为开源鸿蒙<b class='flag-5'>开发者</b>而生,开鸿Bot<b class='flag-5'>系列</b>今日预售启动

    RDK X3 带飞的智能护理系统:让机器人秒变贴心小棉袄

    济往开来团队带着超燃黑科技来了!基于 RDK X3 开发的老年智能监控系统,跌倒秒报警、手势一键呼叫、还能陪唠嗑!最绝的是 开源代码直接甩链接 ,技术党狂喜!
    的头像 发表于 05-09 21:53 586次阅读
    RDK <b class='flag-5'>X3</b> 带飞的智能护理<b class='flag-5'>系统</b>:让机器人秒变贴心小棉袄

    【第一弹】树莓开发者必看!Ubuntu Snap焕新升级:跨平台开发从未如此简单!

    导语:当树莓遇上UbuntuSnap,会发生什么?无论是用树莓搭建智能家居中枢,还是开发物联网边缘设备,依赖管理和跨平台兼容性始终是开发者的痛点。而UbuntuSnap
    的头像 发表于 03-25 09:19 703次阅读
    【第一弹】树莓<b class='flag-5'>派</b><b class='flag-5'>开发者</b>必看!Ubuntu Snap焕新升级:跨平台<b class='flag-5'>开发</b>从未如此简单!

    AI助力实时翻译耳机

    是一种能够实时将一种语言翻译成另一种语言的耳机设备。它通常由一个耳机和一个配套的应用程序组成,用户可以通过应用程序选择需要翻译的语言,并通过耳机听到翻译结果。 2
    的头像 发表于 01-24 11:14 3313次阅读
    AI助力<b class='flag-5'>实时</b><b class='flag-5'>翻译</b>耳机

    Cadence推出Palladium Z3与Protium X3系统

    楷登电子(Cadence)公司近日宣布,正式推出新一代Cadence® Palladium® Z3 Emulation和Protium™ X3 FPGA原型验证系统。这一组合标志着数字孪生
    的头像 发表于 01-07 13:48 1732次阅读

    开发者的开源鸿蒙故事

    近日,在以“一切为了开发者”为主题的“2024开放原子开发者大会暨首届开源技术学术大会”上,开源鸿蒙5.0 Release版本正式发布,备受各方关注。该版本在系统完备度、分布式创新、开发者
    的头像 发表于 01-06 10:28 1224次阅读

    《HarmonyOS第一课》焕新升级,赋能开发者快速掌握鸿蒙应用开发

    应用集成与开发能力,能够独立完成复杂任务及拥有团队组织能力。 主题课程则聚焦前沿应用开发主题和实践,如应用UX体验标准、实时语音与文本互转、账户能力集成等应用核心功能的
    发表于 01-02 14:24