树莓派音频处理详解
本文深入探讨树莓派的音频架构,涵盖模拟与数字音频、HDMI和I2S音频传输、1位DAC原理,以及如何通过USB声卡或外部DAC提升音质。同时介绍使用omxplayer、aplay和Audacity进行音频播放与编辑的方法,帮助用户掌握树莓派上的声音输入输出处理技术。
音频
计算机上的声音功能确实是一个重要问题。影视行业有一句老话:“声音占你制作的70%”。声音能增强视觉效果,营造情绪,增加兴奋感,激发用户兴趣等。电脑游戏就是一个充分体现声音重要性的绝佳例子。
简而言之,本章将探讨计算机中的音频,特别是树莓派的架构如何支持音乐以及各种声音处理操作。我们将讨论模拟与数字音频、通过高清多媒体接口(HDMI)传输音频、1位数字模拟转换(DAC)、信号与声音处理,以及用于传输数字音频信号的通信协议集成电路间声音传输(I2S)。
我们还介绍了树莓派的板载声音,包括输入和输出功能。我们从计算机上的声音基础以及一些历史开始。
你现在能听到我吗?
第二次世界大战刚结束时,第一代计算机是沉默的——当然,除了机械计算机中齿轮的研磨和咔嗒声、电源的嗡嗡声,以及电子大型机中真空管烧毁时的“啪”声。
此外,当这些庞然大物因错误程序和缺乏操作系统来预防或从软件故障中恢复而崩溃时,操作员常常会爆发出各种生动的语言,此时不得不进行漫长的重启。
我们所指的“语言”并非COBOL或FORTRAN——或者更现代一点的说法,Python或JavaScript。我们谈论的是士兵、水手和空军人员在战争期间战斗中学会的那些巧妙用语,随后他们进入不断发展的数据处理领域,并慷慨地将这些用语传授给了他们的操作员同行。
请注意,当你阅读前面两段文字时,即使声音只存在于你的脑海中,你也能听到声音。声音营造了场景并创造了氛围。声音非常重要。想想这个经典的电影时刻:在影片《2001太空漫游》中,计算机HAL 9000演唱《戴西·贝尔》。受1961年的 IBM 7094启发,Hal为电影史以及计算机生成声音/语音的历史提供了标志性的瞬间。
尽管当时使用了特殊效果,但计算机的声音功能很快便成为现实。
MIDI
计算机声音的真正黎明,至少就广泛的用户兴趣而言,始于个人计算机的出现。就本次讨论而言,我们认为这一事件发生在1980年,当时康懋达64、Radio Shack的 TRS‐80和Apple II广受欢迎。随后在1981年,IBM推出了首台IBM PC,越来越多的人开始使用个人计算机进行娱乐(例如玩游戏)以及实际工作。因此,个人电脑发出的声音变得越来越重要,尤其是对音乐感兴趣的人们正在探索计算机如何协助他们创作音乐。
1981年,乐器数字接口(MIDI)进入音乐行业,在专业和业余音乐人中引起了极大的兴奋感。现在,你可以直接在个人计算机上将音乐转化为data,并将其加载到一种名为音序器的设备中进行编辑、保存,并稍后回放。太酷了!
当然,许多人意识到他们的个人计算机非常适合这一用途。他们的个人电脑很快迎来了MIDI扩展卡和音序软件。人们可以为计算机添加MIDI播放器,并从公告板系统(互联网的前身)下载各种MIDI音乐。
声卡
当然,如果无法听到声音,就很难享受音乐。是的,许多早期的计算机,例如IBM PC,都配有微小的内置扬声器。这些扬声器除了偶尔发出诊断蜂鸣声或其他系统声音外,几乎派不上其他用场。事实上,这正是它们的设计目的。它们提供的音频频率范围有限,功率也非常低。指望它们实现像样的音乐播放是毫无意义的。
在相当长的一段时间里,在个人计算机中实现良好音效的最佳方式是使用扩展卡。
声卡大约花了六年时间才成为计算机中常见的内置功能。
从1988年左右开始,声卡变得普及,并出现了多种不错的选择,这意味着数字音频对许多计算机用户而言从一种可能性变成了必需品。这些声卡具备声音放大功能,并支持外部扬声器,这一配置至今仍是个人计算机的标准配置。
大多数现代个人计算机出厂时已配备性能不错的声卡、扬声器、网络适配器以及其他配件,而过去你还需要额外购买相应的适配器。然而,为了获得最佳音效,仍有许多优质选择可供替换,从扬声器到可震动整个房屋的独立低音炮音箱都有。
带有附加声卡的计算机能够通过麦克风输入将扬声器输出的声音进行数字录音。许多真正的专业声卡可用于将您的计算机变成专业录音棚级别的音频编辑器和混音器。
如今,计算机声音表现出色。现在你需要了解它的工作原理。
模拟与数字
19世纪,人们开始使用和录制声音——例如亚历山大·格雷厄姆·贝尔的电话(见图 11‐1)、托马斯·爱迪生的留声机等。这种声音的产生和录制方式使用了换能器(麦克风就是其中一种),将空气压力的变化转换为随频率和振幅变化的电信号波形,以匹配实际的声音。当通过扬声器(类似于反向的换能器)播放时,人们听到的是所录制声音的近似还原。这种类型的录音被称为模拟。
在接下来的一百年里,模拟声音录制技术确实变得非常出色。通过高端立体声设备播放的磁带和唱片,其质量无疑已接近“身临其境”的效果。因此,你现在可能会问:“如果模拟技术这么好,为什么还要改变呢?”

答案很简单:只有第一代(原始)录音才是高质量的。如果你将录音室的母带复制到另一盘磁带上,就会产生一些噪音,所有那些蜿蜒的声波都会略微失真。而对副本再进行复制时,会引入更多噪音,如此反复。静电、嘶嘶声、哨音等问题随之而来。此外,由于计算机是数字的,它们无法处理录制的声音。
数字音频以多种方式解决了噪音问题,并使编辑变得非常容易。当声音通过麦克风或从已录制的模拟磁带或其他介质进入数字录音机时,录音机会将波形转换为计算机能够理解的二进制1和0。换句话说,声音变成了数据,并可以格式化并保存为诸如.wav或.mp3之类的音频文件。
一个数字音频文件可以被复制数百次、数千次甚至数百万次,其质量仍与第一代文件完全相同,不会引入任何噪音。此外,该文件现在为数字格式,因此可以以各种方式进行编辑、剪切、增强和混音。
曾经,模拟技术提供了所有电子声音,声音本身是人类实际能听到的声音的记录。
这种情况已经不再存在。软件可以从零开始创建音乐和其他声音,全部为数字形式。
互联网上提供了数百种音乐创作程序,有助于创作虚拟音乐、音效,甚至合成人造“人类”语音。
总之,在模拟音频和数字音频的比较中,数字音频因以下三个主要原因胜出:
■ 声音和/或音乐变成计算机数据,易于处理。
■ 无论制作多少代副本,都不会引入噪音。
■ 软件可以通过任何模拟输入创建数字音乐和声音。
声音和信号处理
音频处理涉及多个方面,其中大多数与有意修改已录制或创建的数字音频文件有关。
本节将对音频处理进行总体概述。有关实现声音输入和输出的硬件细节及计算机架构的说明将在本章节后续部分介绍。本章最后将介绍如何使用树莓派及其板载声音硬件实际编辑声音。
随着数字音频的出现,使用计算机处理音频迅速取代了传统方法,如今数字音频已主导了音乐产业、广播、家庭录音等领域。播客(录制的节目片段,类似于广播节目,但旨在播放)
在线音乐在互联网上大量涌现,音乐爱好者每天下载数以百万计的音乐文件。
计算机化音频处理可以有多种形式:
■ 编辑文件以删除或添加声音、调整音量等
■ 录制带有特殊效果(例如混响)的音频或在编辑期间添加效果。
■ 压缩文件以使高低振幅趋于均衡并改善声音
■ 对音频中的信息进行编码或解码,以用于计算机操作、数据收集或各种模式的数字通信
在纯粹编辑模拟声音时代,编辑声音非常麻烦。为了消除录音中一小段恼人的噪音,必须先将磁带定位,猜测有问题的声音位置,然后用剃刀或剪刀剪掉该部分,再用胶水将磁带重新粘合。(电影剪辑也采用同样的过程。)这种方法精确吗?当然不。
如今编辑数字音频时,您会查看波形或多个波形,使用鼠标指针选中需要删除的部分,然后按下删除键。播放文件时,您无法察觉到编辑的位置。
编辑功能可让您调整音量、降低噪音——包括户外录音时麦克风产生的风噪,或音乐会期间某人的咳嗽声——并执行许多其他操作,例如添加各种增强效果,具体内容将在下一节中介绍。
编辑包括将多个音轨的声波进行混音。例如,在录制管弦乐队时,可能会有20个或更多的麦克风分布在各处以录制不同的音轨。通过组合或突出各个音轨,对这段录音的最终发布进行编辑的人可以施展各种技巧,从而获得更悦耳、更鼓舞人心的效果。
压缩
压缩音频波形可以在传输介质上实现比其他降级再现更好的音质。20世纪30年代和20世纪40年代的老式调幅广播及电影录音就是一个典型例子。尤其是人声听起来发闷,不如现代广播和电影音频那样饱满丰富。在无线电音频中,这种单薄感被音频限制电路进一步加剧,这些电路旨在保护发射机免受过调制损坏,并防止失真。换句话说,播音员在直播时大声喊叫可能会烧毁昂贵的发射机,导致电台停播。
20世纪60年代,哥伦比亚广播公司电台网络的Audimax系统等开创性效果使早期的压缩尝试变得实用。压缩技术能够更准确地再现语音和音乐,并且无失真。
在树莓派的软件(如Audacity)中,有两种流行的压缩类型可供使用:
■ 音频压缩:减少音频波形中的数据量,以便通过光盘、MP3、网络电台等方式准确再现,且几乎不损失音质
■ 动态范围压缩:减小音量大小之间的差异,从而实现准确的再现
使用效果进行录音
用于修改整个或部分声音文件的功能称为效果。效果可以为原始录音中不存在的声音添加氛围、兴奋感、丰满度及其他变化。效果能够将单调的现实转变为神奇的虚拟声景。您甚至在一个声音上使用多种效果。一些常见的效果示例包括:
■ 回声:产生声音在大厅或洞穴墙壁上反射的回响效果
■ 合唱:添加极轻微的延迟,使录制的人声听起来像是多个人在演唱,或使一组录制的声音听起来像是更多人参与
■ 音高变换:将音乐或其他声音的音高向上或向下移动;例如,你可以复制一个音轨,将副本的音高升高或降低一个八度,再与原始音轨混音以获得有趣的效果。你还可以改变演员声音的音高,用于卡通角色。音高变换也可用于调整走调歌手的音高,使其声音变得准确。一些卡拉OK机使用实时音高变换来辅助歌手,使他们听起来比实际表现更好。这种技术称为自动调音,如今在流行文化中非常普遍,甚至专业歌手也在使用。
■ 机器人语音效果:将人声转变为机械合成的声音版本。添加音高变换效果可产生恐怖的效果
■ 时间拉伸:在不影响音频信号音高的情况下提高或降低其速度
还有数百个效果,要么内置于音频编辑软件中,要么可根据需要下载并添加。图11‐2展示了 Adobe Audition的示例,它是Creative Cloud套件的一部分,提供了强大的声音编辑功能。

通信中的信息编码与解码
语音识别是为控制软件和计算机而编码信息的一个示例。例如,当你说“Stop”时,计算机上的程序结束,这是因为你的语音与“stop”的编码版本进行比对并被识别,从而触发该命令。(当然,计算机必须连接有麦克风,并配备用于识别和比对词语与其编码版本的软件。)
物联网中的传感器、工业仪器、卫星以及成千上万的其他设备,使用各种调制音频信号来接收和返回信息。这些音频信号不一定是词语,而是将各种命令和其他数据编码到音频波形中。解码是从中提取信息并进行处理的过程。
广播电台和电视台将调制的声音波形添加到其射频载波中,以发送语音和音乐。无线电波形被编码了节目内容。您的接收器对其进行解码,并将语音和音乐转换为声音供您欣赏。
再举一个例子:如果你曾经见过业余无线电操作员发送摩尔斯电码,那就是声音的操控,通过空气传输到另一位无线电爱好者的接收器后,还原成dits和dahs,从而传递数百甚至数千英里外的消息。更复杂的通信方式也是如此,比如无线电传(RTTY),以及像JT65或JT9这样的技术先进手段(仅需几瓦功率即可实现跨大陆稳定通信的低信号模式),如图11‐3所示。
声音和信号处理应用的数量持续快速增长。
1位数模转换器
DAC 表示数模转换器,ADC 表示模数转换器。DAC 也称为位流转换器。
在本章前面,我们讨论了数字音频相较于模拟音频的优势,但这并不意味着数字音频已经完全取代了模拟音频。为什么呢?毕竟,你可以将耳机插入树莓派主板上的3.5毫米音频接口并听到音乐。耳机是一种换能器,可将记录的模拟波形转换为声波(这些声波是空气中的振动并将其传递到你的耳膜。为了实现这一点,树莓派主板上必须进行某种数模转换。如果你想通过树莓派2或B+的音频接口同时使用视频和音频,你需要一个如图11‐4所示的连接头。

图11‐4所示的连接头包含视频和音频接口,而较早的Model B型号上的音频接口是标准的立体声配置,复合视频接口则单独设置。
在树莓派2之前,立体声插孔不是“三极”类型,仅用于音频。但有个好消息:图11‐4中的插头是四极(TRRS或尖端、环、环、套),而传统的三极立体声插头(如耳机上的插头)仍然可以使用!只有在使用视频时,才需要四极连接器。
请注意,零售价约为30英镑的计算机可能不具备最高质量的音频。不过,其音质并非很差,HDMI连接器可提供相当不错的音效。然而,3.5毫米立体声音频接口输出的音频质量则稍逊一筹。这两者有何区别?3.5毫米插孔输出的是模拟音频,而 HDMI接口输出的是数字音频。
树莓派的板载DAC转换由脉冲宽度调制(PWM)模块生成,为1位。这并不差。许多CD播放机、便携式音响以及其他发声消费类电子产品都使用1位DAC(或等效技术),效果出色。1位DAC以远高于实际速率的频率对音频进行采样,其转换质量可媲美16到20位;但在树莓派中,其性能仅相当于11位。此外,1位数模转换器成本低廉,这对低成本设备制造商来说非常重要。
模数转换器(ADC)每秒多次测量模拟音频的振幅,并将这些振幅作为数字存储在文件中。计算机中最常用的格式是脉冲编码调制(PCM)。数模转换器(DAC),例如树莓派主板上的1位数模转换器的PWM仿真,会采样PCM音频文件,并根据 PCM文件中的数字数据重建模拟波形。
为了简化说明,声波在振幅上随时间连续变化。模数转换器(ADC)会以每秒多次的速度快速测量该波形,并记录每次的振幅值。这些采样点随后被编码成数字脉宽波形。当该脉宽调制(PWM)波形被解码时,原始的模拟波形得以重建,并可驱动扬声器或耳机,从而播放原始内容。
这里的问题是,你可能拥有在录音室中制作的高品质音乐,并已将其转换为24位音频文件。尽管1位数模转换器(DAC)能够正常读取该文件,但它基于过采样技术(在树莓派的情况下为11位到20位)来重建音乐的模拟波形,而不是文件原生的24位质量。由于这种更快的采样速度,可能会引入一些微小的失真。
前一段中提到的术语overrate对于带宽受限波形(例如前述类型的数模转换器所产生的波形)具有重要意义。在信号处理中有一个称为奈奎斯特速率的术语,它等于波形中最高频率的两倍。
理论上,如果对该波形以高于奈奎斯特速率进行采样,则可以更准确地解码,从而降低噪音和失真。这种过采样技术正是如何从1位数模转换器编码文件中实现等效11位速率的方法。
当使用树莓派作为驱动高端放大器和扬声器系统的媒体中心时,您希望获得尽可能最好的声音。树莓派可以做到这一点,但需要外接一个更高质量的数模转换器,这是一种廉价且简单的解决方案。使用24位数模转换器,您将获得更清晰、更具深度的声音。差异虽然细微,但确实存在。
那么,树莓派是如何与这个更优秀的数模转换器通信的呢?它是通过一种称为I2S的音频传输协议实现的。
I2S
I2S—即集成电路间声音传输、芯片间声音传输或 IIS 的简称—是一种用于连接数字音频设备的串行总线接口标准。例如,I2S 可将树莓派连接到外部数模转换器。
但是等等。你可能已经注意到,我们的树莓派主板上没有任何标注为“I2S 连接头”的部分。我们可以使用其中一个USB端口将脉冲编码调制音频输出到数模转换器,但那可能会引入失真。最佳解决方案是使用树莓派主板上的通用输入输出(GPIO)引脚。
此外,最好使用尽可能短的路径。因此,用于树莓派的外部DAC板直接插入GPIO引脚。
你可能想查看以下数模转换器电路板列表,它们的价格都低于25英镑 :
■ 适用于树莓派2的SainSmart HIFI DAC音频声卡模块 (www.sainsmart.com/sainsmart-hifi-dac-audio-sound-card-module-i2s-interface-for-raspberry-pi-2-b.html): 直接插入树莓派主板。
■ HiFiBerry 数模转换器+(www.hifiberry.com/dac/):可插入A、B、B+和2,但可能无法与某些较旧的A和B兼容。
■ Eleduino HIFI DAC音频声卡模块(http://www.eleduino.com/ HIFI‐DAC‐Audio‐Sound‐Card‐Module‐I2S‐interface‐for‐Raspberry‐ pi‐B‐Raspberry‐Pi‐2‐Model‐B‐p10546.html)
■ Arducam HIFI DAC音频声卡模块(http://www.amazon.com/ Arducam‐Audio‐Module‐Interface‐Raspberry/dp/B013JZI3DS)
通过搜索“树莓派数模转换器”可以找到其他DAC电路板的选项。
树莓派声音输入/输出
树莓派提供了两种用于输入和输出声音的连接头:音频输出插孔和HDMI接口。
音频输出插孔
树莓派主板提供了一个标准的3.5毫米立体声音频插孔。您可以在此插入耳机、有源音箱或任何接收并播放音频输入且与插孔连接方式匹配的设备。
此输出的局限性在于声音质量。根据规格,此连接头的音频输出为11位。(对于音质真正良好的音乐,您需要16位或24位。) 不用担心:与其他树莓派的限制一样,解决方案有很多。例如,你可以添加一个通用的USB/音频适配器。这些适配器之一能够输出更好的声音,并支持麦克风输入。
这使你可以将树莓派用作语音或音乐录音设备,或者教会它通过语音命令工作等。
此外,如本章节前面所述,外部DAC板是实现高端音质的不二之选。
HDMI
HDMI于2000年代初开发,用于将高质量的视频和音频传输到播放设备。存在多个版本,但它们都使用相同的电缆和连接器。树莓派的电路板上包含一个HDMI连接器。
HDMI 是由大型平板电视制造商联盟拥有的专有接口。HDMI 技术的发展与这些大型娱乐设备的兴起并行,并推动了其发展。大屏幕需要更优的画质,而家庭影院音响系统则需要更佳的音频。
没有什么比一个能显示树莓派丰富多彩的图形用户界面(GUI)的大显示器更好了,它让你可以观看视频、玩游戏,以及完成你期望计算机能做的各种事情。最佳解决方案是使用HDMI,以下是使用HDMI输出的两个优势:
■ HDMI允许将视频和音频从符合HDMI标准的显示控制器(例如树莓派)传输到兼容的计算机显示器、投影仪、数字电视或数字音频设备。
■ HDMI 的更高品质相较于复合视频(例如从树莓派主板上的黄色或有时黑色接口输出的视频)具有显著优势。这不仅提供了更护眼的显示器,还能实现更高分辨率,而复合视频则可能出现嘈杂及有时失真的视频和/或音频。
需要了解的是,HDMI到HDMI连接包含两者:视频和音频。对于将HDMI转换为DVI(数字视频接口)或VGA(视频图形阵列)的连接,只有视频信号通过连接传输。您可选择使用一条独立音频线从树莓派的音频输出接口输出音频。或者,本章节前面推荐的一些适配器带有音频接口。您仍然需要从转换器的连接头敷设一根音频电缆,连接至显示器的音频输入接口或独立扬声器。
请注意,来自树莓派HDMI输出的音频质量优于3.5毫米音频输出插孔。尽管插入带有内置放大器的优质电脑音箱看似是个好主意,但最佳方法是使用树莓派板载的I2S连接到独立的数模转换器。
树莓派上的声音
不要将我们建议使用外置数模转换器误解为对树莓派声音效果差的抱怨。事实并非如此,树莓派拥有出色的声音功能。在本节中,我们将探讨树莓派的板载声音硬件,然后了解这台出色的微型计算机如何使我们能够以各种方式对声音进行处理。
树莓派声音在电路板上
从树莓派2开始,所有树莓派2的功能都发生在博通BM2535片上系统(SoC)中。该芯片提供了以下三项功能,用于实现树莓派2的音频特性:
■ 提供左右立体声模拟音频的数模转换,用于3.5毫米插孔
■ HDMI数字音频
■ 支持I2S音频传输
现在你已经知道神奇之处所在,是时候做一些实际的事情了,比如编辑音频。
在树莓派上处理声音
如第8章所述,Raspbian(一个为树莓派优化的Debian Linux版本)是安装操作系统的良好起点。本节中的音频编辑技术适用于大多数运行在树莓派上的Linux发行版,但我们的示例使用的是Raspbian。
选择音频设备
像许多具有强大现代操作系统的设备一样,树莓派支持多种实现大多数目标的方法。例如,选择音频设备的方式就不止一种。
树莓派提供两种音频播放方式。第一种是模拟立体声,可将数字文件转换为适用于耳机或扬声器的格式。第二种是HDMI,支持高质量数字声音。设备配备了一个用于模拟音频输出的四极连接器,以及一个HDMI连接器,可用于连接电视、立体声系统和其他支持HDMI的设备。
默认输出方式是使用树莓派主板上的4极3.5毫米插座(除了声音外,还可输出视频)。如本章前面所述,使用标准的3极迷你立体声插头(例如耳机或电脑音箱末端的插头)也符合设计要求,因此您可以使用任何有源电脑音箱,您的树莓派将能发出良好的声音。
做出永久性改变
假设你将树莓派用作连接电视和/或立体声系统的娱乐中心控制器。在这种情况下,每次启动树莓派后手动选择HDMI会非常麻烦。以下是该问题的解决方案:
1. 打开命令行终端(通常是一个带有黑色屏幕的小电视图标)。
2. 输入命令 sudo raspi-config 。( sudo 表示超级用户执行,赋予你更改配置的权限——在此情况下是更改电路板的启动方式。)
3. 树莓派软件配置工具界面出现后(见图 11‐5),使用向下箭头键选择 9 高级选项 。按 Enter 键。
4. 选择 A9 音频 。
5. 在“选择音频输出”界面中,选择 2 强制HDMI 。
6. 点击确定,然后点击完成。
7. 重启树莓派。
从现在开始,树莓派将以HDMI作为默认音频输出设备启动。

手动选择输出
手动选择树莓派的声音输出方式非常简单。为了简便起见,我们可以使用 Raspbian 中自带的 omxplayer 工具。该播放器不仅可以播放 .wav 和 .mp3 等标准音频数字文件格式,还可以播放包括 .mp4 和 .avi 在内的视频格式。
.mp3 是音乐的一种非常流行的格式,但它是一种专有格式。要播放它,你需要安装一个编码器/解码器,例如 lame 。它是免费的。使用以下命令进行安装: sudo apt-get install lame
然后 omxplayer 就可以无需你进一步操作即可播放 MP3 文件。
omxplayer 工具没有图形用户界面功能,因此你需要在终端中使用命令行指令来操作它。例如,你只需输入数字文件的名称即可调用 omxplayer 。该命令为: omxplayer 贝多芬_Ode_To_Joy.wav
在默认设备上播放文件,具体取决于您在上一节所述步骤中设置的内容。
命令: omxplayer -local 贝多芬_Ode_To_Joy.wav
向3.5毫米音频接口输出结果。
命令: omxplayer -hdmi 贝多芬_Ode_To_Joy.wav
向HDMI连接器输出信号。
omxplayer 工具包含许多其他选项。在终端中键入其名称而不带参数即可获取这些选项的列表。
播放音频
许多媒体播放器——可播放音视频文件的软件——适用于树莓派。这些播放器可在您的操作系统桌面上运行。在Raspbian上,一个不错的起点是XiX。您可以在 www.xixmusicplayer.org 下载Linux ARM版本及安装说明。
媒体播放器不应与媒体中心软件相混淆。后者在建立媒体库以及选择和提供娱乐内容方面,具备更多媒体中心所期望的其他功能。一些适用于个人电脑和Mac电脑的主要软件包也有可在树莓派上运行的版本,例如XBMC和Kodi。
如前所述,树莓派的音频性能肯定优于通过3.5毫米音频接口甚至HDMI输出的声音。一种廉价(我们指的是真正廉价)的方法是添加一个USB声卡(从主要在线零售商处购买价格不到7英镑)。许多这类声卡除了扬声器/耳机输出外,还带有麦克风输入。它们与个人电脑中的声卡类似,尽管体积更小,但仍具备许多相同的功能。
这些廉价的USB声卡转接器无需驱动程序。安装时,请先关闭树莓派电源,将转接器插入USB接口,然后启动树莓派。
您还需要将音频输出设备切换到USB声卡。您无法使用 omxplayer 工具来实现这一点,因为它目前不支持USB声卡。相反,请使用名为 aplay 的播放器。与 omxplayer 一样, aplay 通过终端工具在命令行中进行控制。
使用以下步骤在Raspbian上获取 aplay :
1. 在命令行中输入以下内容: sudo apt-get install alsa-utils
2. 在命令行中输入以下命令,获取您的USB声卡的设备编号: aplay -l
该命令中的参数不是数字1,而是小写字母L(l)。
查找USB声卡的设备编号并记下它。我们在测试的树莓派2上的列表显示了几行内容,但以下两行显示了声音设备:
声卡0: ALSA [bcm2835 ALSA], 设备 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
声卡1: 设备 [C-Media USB音频设备], 设备 0: USB音频[USB音频]
第一个,声卡0,包含2835;这是博通SoC的编号,因此我们可以推断这是随我们的树莓派附带的默认声音输出。第二个,声卡1,显示它是一个C-Media USB音频设备。
- 获取设备编号,这有点令人困惑,因为声卡1被视为设备0(因为它是第二个声卡对应第一个设备——计算机的声卡、设备、磁盘等编号通常从0开始而不是1)。
有了这些信息,你就可以将耳机或有源音箱插入USB适配器本身来播放音乐了。
- 通过输入以下命令(这次使用大写字母“L”)来查找您的USB声卡的脉冲编码调制方法:
aplay -L
脉冲编码调制是树莓派将数字文件转换为模拟音频输出时生成的格式。您将使用 -D 选项来指定一种脉冲编码调制方法。
你会看到几行输出。查看显示USB设备名称的两个列表。在我们此处使用 C-Media的测试中,第一行发送未经转换的数字信号。如果你插入了某种设备(例如本章节前面讨论过的DAC),这会很有用。然而,耳机、扬声器以及电视和立体声设备的音频输入通常仍然是模拟的,因此你希望从USB适配器输出 PCM音频。
hw:CARD=设备,DEV=0
C-Media USB音频设备,USB音频 无任何转换的直接硬件设备
plughw:CARD=设备,DEV=0
C-Media USB音频设备, USB音频 带有所有软件转换的硬件设备
在此示例中, plughw:CARD=Device,DEV=0 是您需要用于指定数字文件(本示例中为 Beethoven Ode to Joy.wav)的 -D 参数的信息。
- 使用以下命令通过USB声卡播放音频文件:
aplay -D plughw:CARD=Device,DEV=0 贝多芬_Ode_To_Joy.wav
等等,我们还需要一项信息。它位于上面的-D部分中。就像 omxplayer 以及您会遇到的许多其他工具一样,输入其名称而不带参数将生成其可用命令的列表。执行此操作并查看 -D 这一行,我们发现: -D --device=名称 按名称选择脉冲编码调制设备
你可能想要安装一个带有美观图形用户界面的播放器,并从桌面运行它。许多播放器都有一个桌面图标,你可以点击它来切换音频输出。
安装一款功能强大的免费音频编辑器
一个在 Raspbian 上开箱即用(并可从 Raspbian 安装)且功能全面的实用编辑器是 Audacity,您可以从 www.audacityteam.org 下载。
Audacity 是一种可用于多种用途的实用工具,例如制作博客、创建多层音效、截取音频片段用于演示文稿等。
要在树莓派上安装Audacity,请确保电路板已连接到互联网,然后输入: sudo apt-get install audacity
单击 Raspbian GUI 上树莓旁边的菜单按钮,然后在运行框中输入命令 audacity 。程序启动后将显示类似于图11‐6所示的界面。贝多芬激昂的《欢乐颂》(一个 .wav 数字音频文件)的音频文件已加载完毕, ready to edit。
编辑音频文件与使用文字处理器编辑文本文档非常相似。您将光标插入想要修改的位置,按住鼠标左键并拖动以选中波形的一部分。单击删除键即可擦除选中部分,波形会无缝缩短。复制、粘贴和撤销功能的操作方式也与文字处理器中的操作基本相同。
Audacity 包含大量效果,您还可以下载并安装更多效果。图11‐7 显示了一些内置的效果。点击菜单栏上的 帮助 以获取有关如何使用以及为何使用这些效果的 信息。


图11‐8 显示了 Audacity 中的四条音轨。两条原始的“欢乐颂”音轨被复制并粘贴到另外两条音轨中,且略微偏移。播放结果会发出一种有趣的声音——并不好听,有点奇怪,但很有趣。

编码与解码的一些细节
音视频文件使用称为编解码器的标准。编解码器 是一种用于编码和/或解码数字流或信号的设备或软件。进行此类操作的原因包括压缩文件以节省空间、加密以实现版权保护以及改善播放效果。树莓派硬件知道如何解码最常见的格式。您也可以根据需要添加其他格式。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)