香橙派版《全语音控制媒体播放器(Fully Speech-Controlled Media Player)》

「原项目地址」
https://blog.csdn.net/flyingboy_98/article/details/109195388

「硬件」
Orange Pi Zero 3

「系统」
Orangepizero3_1.0.0_debian_bullseye_desktop_xfce_linux5.4.125.7z

「环境设置」
1、更新系统:

sudo apt update -y
sudo apt upgrade -y

2、安装必要软件:

sudo apt install python3-pip python3-dev cmake mplayer libpulse-dev \
espeak open-jtalk open-jtalk-mecab-naist-jdic sox -y

3、香橙派GPIO相关:

git clone https://github.com/orangepi-xunlong/wiringOP
cd wiringOP
./build clean
./build
sudo pip3 install --upgrade OPi.GPIO

修改GPIO设置:

sudo vi /usr/local/lib/python3.8/dist-packages/OPi/pin_mappings.py
_pin_map = {
    # Physical pin to actual GPIO pin
    BOARD: {
        3: 229,
        5: 228,
        7: 73,
        8: 226,
        10: 227,
        11: 70,
        12: 75,
        13: 69,
        15: 72,
        16: 79,
        18: 78,
        19: 231,
        21: 232,
        22: 71,
        23: 230,
        24: 233,
        26:74 
    },
}

4、安装语音识别软件(Vosk):

sudo pip3 install vosk

「复制原项目文件」

sudo cp -r hts-voice /usr/share/
cp -r gongjv /home/orangepi/Documents/
cp -r yuyinbofang /home/orangepi/Documents/
cp -r yy /home/orangepi/Documents/

「修改原项目文件」

1. zhukong.py
1) GPIO(on BOARD)
2) LuJing(/home/orangepi)
3) 注释掉sr.Microphone(...),改用arecord录音。

2. ziyuan.py
1) LuJing(/home/orangepi)

3. bofang.py
1) BoFangQi_MoRen = ["mplayer","-ao","alsa","-ss","00:00:00"]
2) BoFangQi_WuSun = ["mplayer","-ao","alsa","-ss","00:00:00"]
3) TingZhi_MoRen = ['killall','mplayer']

4. yy/bin/zhspeak.py
1) LuJing(/home/orangrpi/)

「香橙派音频设置(Pulseaudio)」
1、重新安装Pulseaudio。

sudo apt autopurge pulseaudio*

硬关机。

sudo apt install pulseaudio*

硬关机。
2、设置用户组(用户为orangepi):

sudo usermod -a -G pulse-access orangepi
sudo usermod -a -G audio pulse
sudo usermod -a -G bluetooth pulse

3、设置系统声音及音量:

alsamixer
关闭LINEOUT:
LINEOUTL Off
LINEOUTR Off
主音量调到95,麦克风音量调到95。

4、编辑Pulseaudio自启动脚本:

vi /home/orangepi/Documents/run_pa.sh
#!/bin/bash
sudo pulseaudio --exit-idle-time=-1
sudo pactl unload-module 7

最后一行是关闭HDMI声卡,使声音从耳机插孔输入。
5、将Pulseaudio自启动脚本写入开机启动文件。

sudo vi /etc/rc.local

在”exit 0“之前加入:

/home/orangepi/Documents/run_pa.sh

「开启播放服务」

vi /home/orangepi/Documents/MultiMedia_Player.service

将以下内容写入文件并保存:

[Unit]
Description=MultiMediaPlayer
After=multi-user.target

[Service]
ExecStart=/usr/bin/python3 /home/orangepi/Documents/yuyinbofang/zhukong.py

[Install]
WantedBy=multi-user.target
sudo cp MultiMedia_Player.service /lib/systemd/system/
sudo systemctl enable MultiMedia_Player.service

重启香橙派。

### 基于香橙实现智能语音项目的资料与教程 #### 香橙平台概述 OrangePi AIpro套装专为人工智能和机器学习爱好者、开发者及教育者设计,具备强大的核心处理器性能以及完善的神经网络加速器计算能力[^2]。该平台不仅能够流畅运行各类AI和机器学习算法,还提供了丰富的外设支持,如摄像头、传感器等。 #### 项目实施流程 ##### 1. 环境搭建 为了启动基于香橙的智能语音项目,首先需要构建合适的开发环境。这通常涉及安装Linux发行作为操作系统基础,并设置必要的编译工具链和支持库。对于特定的应用场景,可能还需要部署额外的服务或中间件,例如MQTT服务器用于消息传递或是Web服务端口监听HTTP请求。 ##### 2. 语音识别引擎集成 选择并集成了适合嵌入式系统的轻量级语音识别解决方案至关重要。考虑到资源限制因素,在小型ARM平台上推荐采用Kaldi、Porcupine或其他类似的开源框架。这些方案可以有效地处理自然语言理解任务并将用户的口头指令转换成可执行的动作命令[^1]。 ##### 3. 控制逻辑编写 通过Python脚本或者其他高级编程语言来定义如何响应来自语音模块解析后的意图表达。此部分工作主要包括但不限于: - 创建产品模型以便管理不同类型的交互对象; - 定义具体的动作映射关系表以关联关键词组同实际功能调用之间的一一对应关系; - 编写相应的回调函数负责接收事件通知进而触发目标行为的发生; ```python import os def handle_voice_command(command): if command == "play music": play_music() elif command == "pause video": pause_video() def play_music(): os.system('mpg123 /path/to/song.mp3') def pause_video(): # Assuming a media player is running and can be controlled via DBus or similar interface. pass ``` ##### 4. 测试优化迭代改进 完成初步编码之后即进入密集测试阶段,期间应重点关注以下几个方面: - 准确度验证——确认系统能否正确无误地捕捉用户发出的声音信号并作出恰当反应; - 性能评估——测量整个过程耗时长短及其占用CPU/GPU比例情况; - 用户体验考量——收集反馈意见调整参数设定直至达到最佳效果为止; #### 手机接入Linux热插拔配置 利用`dmesg`查看内核日志信息可以帮助诊断连接过程中可能出现的问题,而借助ADB(Android Debug Bridge)则可以在PC上远程操控安卓设备,从而简化调试流程提高效率。 #### 屏幕操作自动化 最后一步则是让程序自动模拟手指触控动作实现上下滚动浏览内容的目的。可以通过发送触摸屏坐标数据给framebuffer驱动层达成目的,或者更简单的方式就是直接调用adb shell input swipe命令来进行仿真滑动: ```bash adb shell input swipe 500 1800 500 700 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值