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种方言(包括四川话、广东话、河南话、上海话,闽南语等常用方言),另外,还支持一种民族语言(彝语),真正做到无障碍沟通交流。

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

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

    关注

    5017

    文章

    18489

    浏览量

    293061
  • 语音
    +关注

    关注

    3

    文章

    364

    浏览量

    37714
  • 人工智能
    +关注

    关注

    1781

    文章

    44949

    浏览量

    232367
收藏 人收藏

    评论

    相关推荐

    开源项目!设计一款智能手语翻译眼镜

    这个项目是一款创新的智能手语翻译眼镜,它能够实时地将手语转换为听得见的语音。这款眼镜采用了VIAM平台和树莓
    发表于 05-20 15:59

    用悟空全志H3开发板做一个基于ROS系统的全向轮小车

    悟空是一款开源的单板卡片电脑,新一代的Linux开发板,它可以运行Linux、Ubuntu和 Debian 等操作系统。悟空H3 Zer
    发表于 05-06 11:15

    源码开放,开发者手机 buff 叠满

    开发者手机开源代码编译指导 编译环境建议: ubuntu20.04 Linux 系统内存:最低 16G Pyhon 3.8 安装必要工具: sudo apt-get update sudo
    发表于 03-04 14:29

    鸿蒙开发者预览版如何?

    在24年的华为鸿蒙发布会中表示。预览版已经向开发者开放申请,首批支持的机型有三款分别为华为 Mate 60、华为Mate 60 Pro、华为Mate X5。 其HarmonyOS NEXT去除
    发表于 02-17 21:54

    鸿蒙系统优缺点,能否作为开发者选择

    星河版已经是纯血鸿蒙,但是它的发展一些周期。生态圈的建立难度大,各大厂商加入鸿蒙原生开发需要时间累积。 鸿蒙开发人才空缺,由于鸿蒙作为一款新型的系统,程序员们都是从0学起。所以市面上很少有鸿蒙
    发表于 02-16 21:00

    HarmonyOS SDK,助力开发者打造焕然一新的鸿蒙原生应用

    六大领域的开发能力,为开发者带来简洁、高效的开发体验,开发者只需通过 API 调用即可实现丰富的鸿蒙原生应用功能和独特体验。同时,在
    发表于 01-19 10:31

    【飞腾4G版免费试用】大家来了解飞腾4G版开发

    、RT-Thread等国产操作系统。 在飞腾在电子发烧友论坛构建了在飞腾开发者社区,大家也可以通过社区资料更多的了解飞腾4G版开发
    发表于 01-02 22:43

    欢迎加入飞腾开发者社区,感谢每一位开发者

    ://bbs.elecfans.com/group_1708 飞腾开发者社区部分内容截图 回顾合作历程,从2023年开始,华秋 · 电子发烧友就与飞腾建立了密切的合作关系,双方团队共同努力,实现了许多
    发表于 12-11 16:11

    OpenHarmony北向-让更广泛的应用开发者更容易参与

    一、标准系统的体验 按照官方文档指导,这样操作,OH标准系统开发板就可以运行开发者开发的OpenHarmony应用了。 二、实际情况 按照开发
    发表于 12-06 14:32

    【鸿蒙生态千帆起】HarmonyOS系统级地图与位置服务,赋能广大开发者

    HarmonyOS下地图领域的最新技术探索与实践成果。 得益于HarmonyOS一次开发多端部署、可分可合自由流转、统一生态原生智能的特性,Petal Maps为开发者提供了系统级、深融合、低功耗、更安全的地图
    发表于 11-22 10:37

    【悟空H3开发板免费体验】基于ROS系统的全向轮小车

    开发板。 悟空是一款开源的单板卡片电脑,新一代的Linux开发板,它可以运行Linux、Ubuntu和 Debian 等操作系统。悟空H
    发表于 11-12 01:00

    【悟空H3开发板免费体验】基于悟空H3开发板实现:三全向轮小车速度控制、里程反馈

    产品试用报告 - 悟空H3开发板 产品概述 产品名称:悟空H3开发板 试用项目:ROS
    发表于 11-02 01:37

    HarmonyOS SDK,赋能开发者实现更具象、个性化开发诉求

    随着移动互联网的逐步成熟,用户的需求越来越细化。鸿蒙生态为开发者提供的HarmonyOS SDK开放能力,高效赋能美团外卖等合作伙伴实现更具象、个性化的开发诉求,给用户提供更丰富便捷的体验。
    发表于 10-24 17:34

    各位开发者期待已久的开源鸿蒙开发者手机已经开放购买啦!!

    各位开发者期待已久的开源鸿蒙开发者手机已经开放购买啦!! “开源鸿蒙开发者手机”,本质上是手机形态的开发板,为广大 OpenHarmony 开发者
    发表于 10-10 18:32

    地平线RDK X3语音算法通过Alexa ACM方案认证

    地平线RDK X3是地平线基于自研的旭日3芯片,针对通用机器人开发场景打造的智能开发板,为各类算法的开发部署提供了坚实的硬件基础。地平线RD
    的头像 发表于 07-18 16:37 1013次阅读
    地平线RDK <b class='flag-5'>X3</b><b class='flag-5'>语音</b>算法通过Alexa ACM方案认证