电子发烧友App

硬声App

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

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

3天内不再提示
电子发烧友网>电子资料下载>电子资料>RPi Z2W USB声卡开源分享

RPi Z2W USB声卡开源分享

2023-06-13 | zip | 0.06 MB | 次下载 | 免费

资料介绍

描述

这个项目是我之前的 RPi Zero 2 W Audio Gadget 项目的延续

该项目的目标是将 RPi Zero 2 W 用作功能齐全的 DAC 和 DSP。这将通过使用 CamillaDSP 以及其他一些有用的软件将 Pi 上的 USB 捕获设备连接到 Allo miniBOSS DAC 来实现。CamillaDSP 的 DSP 功能不会真正涵盖,但本指南提供的基本配置可以很容易地扩展,以添加过滤器、混合器、处理管道等。基本配置也可以适用于其他输入/输出设备。

该项目还添加了从 USB 主机设备调整的音量和静音控制。在这种情况下,使用 Windows 计算机作为主机,可以使用 Windows 中的音量控制和静音按钮来调整 RPi 上的音量和静音。

本指南有一些假设:

  • 您遵循了上一个指南并拥有一个正常工作的 g_audio 设备
  • 您的用户名是“pi” :这可以更改,但您需要更改配置文件和 .service 文件中的每个“pi”实例
  • 您要用于 CamillaDSP websocket 的端口是“1234” :这也可以通过编辑各种配置文件和启动命令camilladsp.service以及 websocket 端口轻松更改usb-control.py
  • 您在 RPi 上运行内核 5.18-rc3 或更高版本:较旧的内核可能工作,但 5.18 包括对 g_audio 驱动程序的改进,并且根据我的测试,与以前的版本相比,Windows 主机的工作效果要好得多。

第 1 步:启用 Allo miniBOSS

首先,必须添加 Allo miniBOSS 作为叠加层:

sudo nano /boot/config.txt

更改dtparam=audio参数如下,禁用板载声卡:

dtparam=audio=off

然后将此行添加到文件末尾:

dtoverlay=allo-boss-dac-pcm512x-audio

现在重新启动您的 RPi 并检查 DAC 是否显示:

sudo reboot
aplay -l && arecord -l

输出应该与此类似:

pYYBAGSGd12AYOYkAABwInINuRc207.png
 

您可能拥有更多或更少的设备,具体取决于当前插入到您的 pi 的音频设备,但 BossDAC (pcm512x-hifi-0) 应该在播放设备列表中。

第 2 步:重新配置 g_audio

现在需要重新配置 UAC2 声卡。miniBOSS 是一个 384kHz/32 位 DAC,因此 USB 捕获设备将被设置为这样。为简单起见,仅使用一种采样率。在撰写本文时,CamillaDSP 无法轻松处理更改采样率。

为 g_audio 创建一个新的配置文件,以便在启动时读取。

sudo nano /etc/modprobe.d/g_audio.conf

然后将适当的设置添加到文件中:

options g_audio c_srate=384000 c_ssize=4 p_chmask=0 iProduct="RPi USB DAC"
  • c_srate- 以赫兹为单位的捕获采样率
  • c_ssize- 样本的大小(以字节为单位)
  • p_chmask- 将播放通道掩码设置为 0 禁用 USB 播放
  • iProduct- 描述设备的字符串

有关这些设置的作用的更多信息,请参阅我之前的指南。这些可用于进一步定制 USB 音频设备以满足您的需求。

如果您想测试它是否正常工作,请重新启动并检查当前加载的设置:

grep -H '' /sys/module/g_audio/parameters/*

第 3 步:设置 CamillaDSP

首先,安装依赖项:

sudo apt install alsa-utils python3 python3-pip python3-websocket python3-aiohttp python3-jsonschema python3-numpy python3-matplotlib unzip git -y

创建文件夹结构:

mkdir camilladsp
cd camilladsp
mkdir coeffs configs

注意:从现在开始,本指南假定您在目录中。~/camilladsp/

现在为此设备添加 CamillaDSP 配置文件:

wget https://raw.githubusercontent.com/Masonrf/RPi-Z2W-USB-Soundcard/main/camilladsp.yml -P configs

制作日志文件:

touch camilladsp.log

现在下载最新版本的 CamillaDSP。此命令取决于将在其上运行的设备的体系结构。

对于 64 位 RPi:

wget https://github.com/HEnquist/camilladsp/releases/latest/download/camilladsp-linux-aarch64.tar.gz

对于 32 位 RPi:

wget https://github.com/HEnquist/camilladsp/releases/latest/download/camilladsp-linux-armv7.tar.gz

提取压缩包:

tar -xvf camilladsp-linux-*.tar.gz

现在尝试启动 CamillaDSP:

./camilladsp -g-10 -p 1234 configs/camilladsp.yml

它应该(希望)在没有任何错误的情况下启动。如果您没有从主机播放任何音频,您可能会收到有关等待超时的警告:

poYBAGSGd1-AbN1oAACeZOcSsiQ184.png
 

如果您想做一些测试,但只需要错误,请将 start 命令更改为仅显示错误:

./camilladsp -g-10 -p 1234 configs/camilladsp.yml -l error

现在我们可以在启动时作为服务启动 CamillaDSP。

下载服务文件并在启动时启用它:

sudo wget https://raw.githubusercontent.com/Masonrf/RPi-Z2W-USB-Soundcard/main/camilladsp.service -P /lib/systemd/system
sudo systemctl enable camilladsp

确保你得到最后一行“创建的符号链接...”

pYYBAGSGd2OAccVtAAEZa9cU_IE247.png
 

第 4 步:设置 CamillaGUI 服务器

安装 pycamilladsp 及其绘图功能:

sudo git clone https://github.com/HEnquist/pycamilladsp
cd pycamilladsp
sudo pip3 install .
cd ..
sudo git clone https://github.com/HEnquist/pycamilladsp-plot
cd pycamilladsp-plot
sudo pip3 install .
cd ..

安装 camillagui:

wget https://github.com/HEnquist/camillagui-backend/releases/latest/download/camillagui.zip
unzip camillagui.zip -d camillagui

接下来,我们需要重新配置 camillagui:

nano ~/camilladsp/camillagui/config/camillagui.yml

更改camillaDSP 设备配置的路径default_configactive_config

default_config: "~/camilladsp/configs/camilladsp.yml"
active_config: "~/camilladsp/configs/camilladsp.yml"

现在将 CamillaGUI 添加为服务并在启动时启用:

sudo wget https://raw.githubusercontent.com/Masonrf/RPi-Z2W-USB-Soundcard/main/camillagui.service -P /lib/systemd/system
sudo systemctl enable camillagui

现在重新启动并进入http://(your pi ip):5000/您的浏览器

您应该会看到 CamillaDSP 的 gui 界面

poYBAGSGd2aACnS4AAC-aTDpdII879.png
 

如果没有,请检查服务是否处于活动状态:

sudo systemctl status camilladsp.service
sudo systemctl status camillagui.service
pYYBAGSGd2mAb9CjAAEv243Pemk266.png
 

如果您遇到任何问题,请直接向我发送有关 hackster 的消息。

第 5 步:添加主机音量控制/静音

最后一步是添加一个python程序,将主机发送的USB音量和静音控制信号连接到CamillaDSP。

安装依赖项:

sudo apt install libasound2-dev
pip install pyalsaaudio

下载python程序并测试它:

wget https://raw.githubusercontent.com/Masonrf/RPi-Z2W-USB-Soundcard/main/usb-control.py
python3 usb-control.py

当您更改主机音量和静音选择时,您应该会看到值发生变化。您还应该能够在 python 程序运行时听到更改,并且您可以通过 USB 连接播放声音。

pYYBAGSGd2yAZwiJAADOw44PH84967.png
 

现在将此功能添加为启动时的服务:

sudo wget https://raw.githubusercontent.com/Masonrf/RPi-Z2W-USB-Soundcard/main/usb-control.service -P /lib/systemd/system
sudo systemctl enable usb-control

最后,重新启动以使更改生效。

您现在应该可以从您的主机静音和更改音量了!


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费