Raspberry Pi命令行音频

18

自从我写了我的Raspbian图像以来,事情有了一些进展 Raspberry Pi扬声器& Analog Sound Test 发布。因此,当我想开始为实验添加一些音频时,我决定再看看。一世’我的遥控汽车项目进展缓慢,但我想我也应该在此拔一些音频。

最新的Raspian映像中发生的一件事是alsa声音驱动程序已得到改进并默认启用。因此,我决定使用3.5mm短插头导线连接可充电扬声器,看看是否可以播放WAV和MP3文件。

可充电有源扬声器

首先要做的是运行:

lsmod | grep snd_bcm2835

并检查列出了snd_bcm2835。如果不是’然后运行以下命令:

sudo modprobe snd_bcm2835

如果模块不是’引导时会自动加载,然后可以通过以下过程强制加载:

cd /etc
sudo nano modules

然后加‘snd-bcm2835’所以看起来像这样:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be
# loaded at boot time, 上e per line. Lines beginning with "#" are
# ignored. Parameters can be specified after the module name.

snd-bcm2835

默认情况下,输出设置为自动选择默认音频接口(HDMI(如果可用,否则为模拟))。您可以使用以下命令强制其使用特定的接口:

amixer cset numid=3 n

哪里<n>是必需的接口:0 =自动,1 =模拟,2 = hdmi。强制Raspberry Pi使用模拟输出:

amixer cset numid=3 1

如果我在插入有HDMI电缆的情况下启动Pi,通常必须这样做。否则,它会默认默认为3.5mm插孔。

使用Aplay播放WAV文件

一切都准备就绪,可以测试一些声音文件。首先是WAV。使用以下命令从我的声音存档中获取一些WAV文件:

wget http://www.freespecialeffects.co.uk/soundfx/sirens/police_s.wav
wget http://www.freespecialeffects.co.uk/soundfx/computers/bleep_01.wav

要播放,请使用:

ap lay police_s.wav

如果幸运的话,声音将通过扬声器或耳机播放。

使用MPG321播放MP3

有很多方法可以从命令行播放MP3,但我倾向于使用MPG321。可以使用以下命令安装:

sudo ap t-get -y install mpg321

安装后,我们可以获取一个MP3进行试验:

wget http://www.freespecialeffects.co.uk/soundfx/household/bubbling_water_1.mp3

可以使用以下方式播放MP3文件:

mpg321 bubbling_water_1.mp3

音量可以使用‘g’命令行选项。在下面的示例中,我将音量设置为50%:

mpg321 -g 50 bubbling_water_1.mp3

使用Omxplayer播放MP3

您也可以使用出色的Omxplayer播放MP3。要获取选项列表,请输入:

omxplayer

默认情况下,它是在最新的Raspbian版本中安装的,但是如果需要手动安装,可以使用以下命令进行安装:

sudo ap t-get -y install omxplayer

要播放声音文件,您只需键入:

omxplayer bubbling_water_1.mp3

加号(+)和减号(-)可用于调节播放的音量。

这篇文章介绍了从命令行播放基本的音频。如果要开始播放音乐列表,则应该探索Pi可用的一些更高级的媒体软件。这包括XBMC和OpenElec。

在以后的文章中,我将介绍如何使用Pygame在Python脚本中播放音频。

以下是一些照片,显示了我用于Raspberry Pi命令行音频测试的可充电有源扬声器:

分享。

18条留言

      • 我让omxplayer找到一个mp3文件…..但是,当我尝试播放时没有声音。我在屏幕上使用+调高了音量,但仍然没有声音。
        我能够在Scratch gui上播放文件。因此,扬声器和mp3文件似乎还可以。 omxplayer只是没有声音。

        有任何想法吗?

        • 排序..我输入“omxplayer -o local”然后是文件名。现在工作正常。
          下一步使显示器(hdmi)扬声器运行。

  1. 嗨,马特,

    试图为我1.5岁的孩子做一个音乐盒。基本上,我想要的是一个连接到PI的键盘,每当他按下该键时,就会播放歌曲。 MP3已预加载到播放器中,每个键对应于特定文件。我怀疑shell脚本应该非常简单,但是可以’使其起作用。有任何想法吗?提前致谢。

    • 如果在完成操作之前按了一个键,那么棘手的事情将是停止当前的MP3。值得在RaspberryPi.org论坛中提问,那里的人会有一些想法。

    • 你不’不需要全尺寸的键盘;一个数字键盘将起作用(特别是那些自己进行数字锁定并默认将其打开的数字键盘;如果您没有’为此,您可能需要使用控制台工具设置Num Lock状态。您可以在/root/.bash_profile中编写脚本,并通过将其放入/ etc / inittab中来使root自动登录到控制台:1:2345:respawn:/ sbin / getty–noclear 38400 -a根tty1(您’需要重新启动或重新启动init才能生效)。在脚本本身中,使用“read -n1 -r 安斯”从键盘读取一个字符并将其放入变量“Ans”, then do a switch (or if) with a load of tests 上 安斯 (standard bash script stuff). Stopping a previous file from playing is merely a matter of writing “killall madplay”或你的任何球员’re using.

    • 它没有商标,但我’我刚刚在eBay上搜索了“充电扬声器1.5W”这是第一个结果。项目标题是“声立方便携式可充电MP3手机迷你扬声器”.

  2. 我想使用您的传感器代码
    //www.ytguangda.com/2013/02/cheap-pir-sensors-and-the-raspberry-pi-part-2/
    检测到运动时播放音频(mp3或wav)。
    我直接从raspi上的bash运行mpg321并已正常工作。
    但是我可以’使其在python脚本中运行。我也尝试使用pygame,因为某些网页建议通过python播放音频。但这没有’t work either. I’我花了两个小时试图使这件事起作用,所以现在该寻求帮助了。

  3. 我使用tbo播放器gui作为OMX播放器的前端。它具有播放,暂停,停止,vol +和vol-;但是,在播放视频时,屏幕输出通常会覆盖gui。

    当我开始键入此帖子时,我使用了错误的键盘,并且当音乐停止播放时,我正在键入手柄。我知道钥匙 停止播放,(重新)开始播放,然后在播放中途暂停,然后如果重复播放则在播放流中的同一点开始。

  4. 哎呀!我将字母设置为小于和大于标记,这是html脚本。
    r – starts the stream
    i – stops playback
    o –从头开始
    p – pause – it’切换,暂停/取消暂停

    可以在mp3上正常工作,但在flv上却有些棘手。要停止flv文件,请先单击暂停,然后停止(先按p再按i),否则它将重新启动。

    可能还有其他键。
    马特,非常感谢您开始讨论。 (现在可以了解有关USB音频以及音频控件的信息。

发表评论

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