使用Raspberry 皮零的放大语音转换器

0

在为儿子研究可能的升级时 ’我在《星球大战》中的赏金猎人服装上遇到了戴夫·谢维特(Dave Shevett)的精彩博文,内容涉及Planet-Geek.com,网址为 使用Raspberry Pi创建语音转换器 万圣节服装。看起来我可以将其整合到我们精心构造的赏金猎人头盔中。

曼达洛服装

The system uses 索克斯 to 记录ord sound via a microphone, distort it and then send to an amplified speaker.

我收集了硬件,然后跟随戴夫’的脚步声。对于我的项目,我决定使用Raspbian Lite和Pi ZeroW。所有这些都有效,因此,本帖子面向那些想要做类似事情并且可能会发现这些步骤有用的人。

变声系统

语音转换器硬件

  • Raspberry Pi零W
  • microUSB转USB适配器
  • USB集线器(可选)
  • 键盘
  • USB声音适配器
  • 5V电源
  • 扩音器

USB声音适配器

M语音转换器-USB声音音频适配器USB音频适配器的加密狗东西是“C-Media Electronics Inc CM108音频控制器”。它具有标准的USB插头,3.5毫米麦克风插孔和3.5毫米耳机插孔。里面有一个非常亮的红色LED,我用一些胶带将它们驯服了。

有很多选择,但是’很难知道它们与Pi的兼容性如何。它们可从[易趣]几美元/英镑。

Amplified 扬声器

Voice Changer - Amplified 扬声器我买了一个“N74”来自[易趣]售价20英镑。它有一个内置的可充电电池,一个电源插座以及两个麦克风。我需要挖出5V电源适配器给它充电。

组态

首先,使用最新的Raspbian Lite映像创建一个新的4GB microSD卡。 皮零应该使用适当的适配器连接到HDMI监视器和键盘。当Pi首次启动时,使用默认的用户名和密码(pi / raspberry)登录。

启动配置实用程序:

sudo raspi-config

并进行以下设置更改:

  • 主机名> “VoiceChanger”
  • 启动选项> Desktop/CLI > Console Autologin
  • 启动选项>在启动时等待网络> No
  • 接口选项> SSH > Yes
  • 高级选项> Expand Filesystem

选择<Finish>并在出现提示时重启树莓派。

设置WiFi(可选)

将Pi连接到网络后,即可在PC上使用SSH进行其余配置。这样可以节省一些键入时间,因为您可以剪切n粘贴文本并传输文件。

要配置WiFi,请编辑wpa_supplicant.conf文件:

sudo 纳米 /etc/wpa_supplicant/wpa_supplicant.conf

它应该已经包含:

ctrl_interface=/var/run/wpa_supplicant
update_config=1

然后插入:

network={
  scan_ssid=1
  key_mgmt=WPA-PSK WPA-EAP
  psk="1234567890"
  ssid="MyWIFISSID"
}

使用您自己的密码和SSID。仔细检查值,保存(CTRL-X,Y)并返回命令行。

连接USB音频设备

使用以下命令关闭Pi:

sudo halt

并断开电源。

如果您有USB集线器,则可以同时连接键盘和USB声音接收器。如果要使用SSH连接到Pi,则不要’不需要集线器,并用USB声音加密狗替换键盘。

重新接通电源并让Pi启动。运气好的话,您的Pi将会连接到WiFi并启用SSH。

检查USB音频设备

一旦启动,请使用任何SSH终端实用程序(例如Putty或MobaXterm)连接到Pi。或使用键盘(如果您’ve仍然附有它。

现在检查是否检测到USB音频设备:

lsusb

您应该会看到列出的音频设备以及已连接的任何其他USB设备:

USB音频适配器lusb输出

可以使用以下命令查看有关适配器的更多信息:

dmesg | grep C-Media

查找设备’s card number use :

aplay -l

该设备应列为“card 1”.

USB Audio Adapter 玩 device listing

创建“asoundrc” file using :

sudo 纳米 .asoundrc

并添加以下文本:

pcm.!default {
 type hw
 卡1
}

ctl.!default {
 type hw 
 卡1
}

这告诉系统将卡1用作默认音频输入和输出。

保存文件(CTRL-X,Y)后,您可以随时使用以下命令检查内容:

cat .asoundrc

Install 索克斯

为了使用“play”我们需要安装的实用程序“SoX” :

sudo apt-get install sox

安装mpg123(可选)

To enable the system to 玩 MP3 files I also installed mp123 but this is optional.

sudo apt-get install mpg123

You can 玩 MP3 files using :

mpg123 mysong.mp3

Alsamixer

要检查扬声器和麦克风是否未静音,可以使用以下命令运行Alsamixer:

alsamixer

这应该显示一个衡量标准“Speaker”, “Mic” and “Auto Gain Control”.

USB Aduio适配器alsamixer输出

使用箭头键,您可以调整两个通道的增益并打开或关闭自动增益。可以使用M键将通道静音。“MM”如果通道被静音,则出现。按“Esc”返回命令行。

扬声器 Test

将耳机或扬声器连接到加密狗后,您可以使用简单的扬声器测试实用程序:

speaker-test -c2

要么

speaker-test -c2 -t sine -f 500

您应该通过扬声器听到白噪声或500Hz的声音。按CTRL-Z退出测试。

重启

安装完某些软件包并编辑.asoundrc文件后,请重新启动以确保所有更改都处于活动状态。 扬声器-test命令有时会导致“设备或资源繁忙”错误,因此重新启动现在很有用:

sudo reboot

播放WAV文件(可选)

Almost there! If you want to 玩 a test WAV file you can download a test file using :

wget http://www.kozco.com/tech/piano2.wav

and then 玩 using :

玩 piano2.wav

Voice Changing Using 索克斯

使用戴夫·谢维特’的方法,您可以使用以下方法动态更改声音:

玩 "|rec --buffer 2048 -d 沥青 -300 回声 0.8 0.88 100 0.6 150 .5 带 1.2k 1.5k"

使用以下命令处理来自麦克风通道的数据“rec” and passes it to “play”将结果发送给扬声器。

  • 缓冲 允许流在将其发送到扬声器之前收集麦克风数据进行处理。这将增加一些延迟。您可以减少数量,但如果可能的话,缓冲区可能会溢出’t keep up.
  • 沥青 降低声音的音调
  • 回声 添加一些回声(您已经猜到了,对吧?)
  • 添加一个以1.2kHz为中心,两侧斜率为1.5Hz的滤波器。

All the 索克斯 options are detailed 上 the 索克斯 options page.

USB音频适配器通过Play和Rec更改语音

You can 玩 around with the options and values to get different effects.

开机自动启动

如果您希望变声器具有便携性,则可以设置脚本以在Pi启动时自动运行play命令。这可以通过配置cron作业来完成。

首先,我们需要创建一个脚本:

纳米 voicechanger.sh

then paste in the 玩 command :

玩 "|rec --buffer 2048 -d 沥青 -300 回声 0.8 0.88 100 0.6 150 .5 带 1.2k 1.5k"

使用以下命令访问Pi用户的cron设置:

crontab -e

选择“nano”是否要求文本编辑器。然后添加以下行:

@reboot sh /home/pi/voicechanger.sh > /home/pi/voicechanger.log 2>&1

使用CTRL-X,Y保存并退出。

When you next reboot the 玩 command should be automatically executed.

最后的想法

我浪费大量时间的一件事是麦克风与USB音频设备的连接。如果将3.5mm插孔完全插入插座,则麦克风不会’工作。我花了很长时间想知道为什么’在我将其轻轻拔出之前,它一直工作着,连接建立并且麦克风按预期工作。

在某些方面,语音转换器效果很好,但实际上并没有’听起来不怎么样。我决定最终不使用变声器,因为我的儿子’他的实际声音在背景中太明显了。在这一点上,我已经介绍了很多内容,因此决定将其编写,以防其他人发现它有用。

分享。

发表评论

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据 .