用Raspberry Pi运行你自己的无线电台


用Raspberry Pi运行你自己的无线电台_第1张图片

您可以将Raspberry Pi用于各种令人讨厌的项目。但我最近发现你可以使用微小的设备作为FM发射器。这没有太多的修修补补。

Code Club pihack上的一群人写了一个程序,在Raspberry Pi上使用硬件,这意味着生成扩频时钟信号,而不是输出FM无线电信号。

 

背景

这里有一些背景知识。除了Raspberry Pi上熟悉的音频,以太网,HDMI和USB端口外,该器件还具有可直接与其他芯片和模块连接的接口。

这些通用输入/输出(GPIO)“ports” 端口是您在电路板上看到的26针(排列成2×13条)。这些接口不是即插即用的,但可以通过软件控制。

 

要传输令人惊讶的强大FM信号,您只需将电线连接到GPIO 4引脚即可。即使没有电线,Raspberry Pi广播的FM信号也会被附近的FM接收器接收。

用Raspberry Pi运行你自己的无线电台_第2张图片

需要注意的是:广播调频信号的法律因国家而异。在尝试此项目之前,请检查您当地的法规。

获取,设置,去

启动Pi并通过SSH或直接登录设备前往命令行。

我们现在将获取Code Club hackfest中编写的代码并将其解压缩:

mkdir ~/pifm
cd pifm
wget http://omattos.com/pifm.tar.gz
tar zxvf pifm.tar.gz

该目录现在包含六个文件。令人惊讶的是,这就是它的全部。您现在可以广播包含的“sound.wav”文件:

sudo ./pifm sound.wav 102.3

现在抓住FM接收器并将其设置为FM 102.3,您应该听到星球大战主题音乐。实际上,只需在命令末尾附加频道频率,即可在88 MHz和108 MHz之间的任意位置更改广播频率。

用Raspberry Pi运行你自己的无线电台_第3张图片

广播曲目

您也可以播放其他音频文件,但它们必须是16位22050 Hz单声道,并且只能使用WAV格式。这似乎是一个真正的限制,但实际上并非如此。您只需要SoX声音交换音频编辑器,它将处理您的MP3文件并将其转换为动态WAV文件。

使用以下命令安装音频编辑器及其依赖项:

sudo apt-get install sox libsox-fmt-all

完成后,输入以下命令,将“SomeSong.mp3”替换为您要播放的MP3文件的名称:

sox -t mp3 SomeSong.mp3 -t wav -r 22050 -c 1 - | sudo ./pifm - 102.3

该命令的第一部分将MP3文件转换为WAV文件,将其音频采样率更改为22050并将轨道向下混合为单声道。然后将转换后的轨道发送到标准输出,用连字符( - )表示,然后用管道输入(|)到pifm命令的标准输入。

pifm上面示例中命令的唯一区别是,我们要求脚本改为广播标准输入,而不是指定要广播的文件的名称。

 

如果你仍然将你的FM接收器调到102.3频率,你现在应该听到你的MP3!再次,就像原始示例一样,随意将频率替换为88 MHz和108 MHz之间的任何值。

广播播客

你可以用SoX做一些很棒的事情。例如,您可以使用它从互联网上直播您喜欢的流。

要广播Linux语音播客:

sox -t mp3 http://www.linuxvoice.com/episodes/lv_s02e01.mp3 -t wav -r 22050 -c 1 - | sudo ./pifm - 102.3

此命令与前一个示例之间的唯一区别是,您现在指向的是一个驻留在线的MP3,而不是指向本地MP3。

您可以类似地广播在线广播电台。许多工作站发布M3U文件,您可以指向它:

sox -t mp3 http://www.ndr.de/resources/metadaten/audio/m3u/ndrloop5.m3u -t wav -r 22050 -c 1 - | sudo ./pifm - 102.3

 

并非所有电台都播放MP3流。有些使用其他格式,如OGG。您只需要更改要使用sox转换的输入文件的类型。如:

sox -t ogg http://network.absoluteradio.co.uk/core/audio/ogg/live.pls?service=a6bb -t wav -r 22050 -c 1 - | sudo ./pifm - 102.3

如果您正在寻找在线无线电,那么这里有大量在线流媒体的欧洲广播电台。

图片来源:Robert Ashworth

你可能感兴趣的:(用Raspberry Pi运行你自己的无线电台)