主要内容

利用MATLAB函数块在Simulink中将单耳音频空间化为5.1声道环绕声金宝app

这个例子向您展示了如何在树莓派硬件上使用MATLAB函数块和Simulink®树莓派硬件支持包将单耳音频信号空间化为5.1声道环绕声。金宝app金宝app

音频空间化是一种在立体声或多声道声场中分布单声道声源的声音平移技术。空间化音频给听者一种印象,即音频是在三维空间中播放的。音频空间化包括两个关键部分:方向和距离。方向决定播放音频的频道。距离决定正在播放的音频的音量。

在本例中,音频源是直升机的单声道录音。空间化算法将直升机的声音混合成六个通道:左前、前中、右前、左环绕、右环绕和一个低音炮通道。然后,该算法输出模拟六通道源的立体声信号。

所需产品下载188bet金宝搏

所需的硬件

  • 树莓派硬件(推荐型号3B或3B+)

  • 一副耳机,可以插入3.5毫米耳机插孔的硬件

  • USB电缆

  • 以太网电缆

  • 连接树莓派硬件和HDMI线的显示器(可选)

步骤1:连接Raspberry Pi硬件进行音频空间化

在开始此示例之前,我们建议您完成以下步骤:针对Raspberry Pi硬件的Simu金宝applink金宝app支持包入门实例

  1. 将USB数据线的micro-USB端连接树莓派,USB数据线的普通USB端连接计算机。等待硬件上PWR指示灯开始闪烁。

  2. 将一对耳机连接到硬件的3.5 mm耳机插孔。

  3. 使用硬件设置界面,配置树莓派网络。

步骤2:打开音频空间Simulink模型金宝app

打开音频位置模型。

模型的不同部分可以根据块的功能进行描述。

音频输入

Simu金宝applink模型以两种方式接受直升机的位置:

  • 将直升机拖到所需位置:当您使用外部模式运行模型时目视设置位置块作为computeVol块时,模型将启动用户界面。用户界面在圆的圆周上有五个离散通道,在圆的中心有一个低频输出。侦听器位于圆的中心位置,由一个木棍图形表示。使用该界面,您可以通过将直升机拖动到圆内的不同位置来更改直升机的位置。改变直升机位置时,模型输出会给听众一种印象,即音频是从离直升机最近的扬声器播放的。

  • 计算直升机随机位置:当您使用外部模式运行模型时设置位置随机块作为computeVol块,块在每个采样时间计算直升机在圆圈内的随机位置。该位置通过使用一对笛卡尔坐标计算。模型输出给听者一种印象,即在每个采样时间从随机扬声器播放音频。与目视设置位置Block,你不能控制直升机的位置。

空间算法

来自音频源的单声道音频源音频文件读块混合为六个通道,每个通道对应一个扬声器。如用户界面所示,圆圈中心有一个低频通道,圆周上有五个扬声器。使用以下算法确定扬声器振幅:

1.在圆心处,每个扬声器的振幅是相等的。每个扬声器(包括低频扬声器)设置为1/平方米(5)

2.在圆的周长上,使用矢量基振幅平移(VBAP)确定扬声器的振幅。该算法:

  1. 确定源任一侧的两个扬声器,或者在退化情况下,确定单个扬声器。

  2. 将(a)中说话人位置确定的向量解释为基向量。这些基向量表示归一化源位置向量。此新基中的系数表示归一化后的相对说话人振幅。对于算法的这一部分,低频通道的振幅设置为零。

3.当源从中心移动到外围时,从算法(1)到算法(2)有一个过渡。这个过渡以径向距离的三次函数衰减。振幅矢量被归一化,因此功率与震源位置无关。

4.最后,根据平方反比定律,振幅随着距离中心的距离增加而衰减,这样,圆周处的振幅是中心处振幅的四分之一。

有关矢量基振幅平移的更多详细信息,请参阅[1]。

音频输出

ALSA音频播放block将六声道音频输出发送至硬件的3.5毫米耳机插孔。要输出模拟六声道源的立体声信号,ALSA标识符,plughw,以设备编号为前缀ALSA音频播放块参数对话框。输出是模拟六通道信号源的立体声信号。

步骤3:配置音频空间Simulink模型金宝app

1.要打开模型配置参数对话框,单击Simulink模型工具栏上的齿轮图标。金宝app

2.在“配置参数”对话框中,选择硬件实现

3.设置硬件板参数覆盆子π.属性中的参数将自动填充硬件板设置默认值为树莓派。

4.在硬件板设置窗格中,展开目标硬件资源并选择板参数.指定这些参数值:

  • 设备地址:硬件的IP地址或主机名。

  • 用户名:指定在硬件上运行的Linux系统的根用户名。Raspbian Linux发行版的默认用户名为π

  • 密码:指定硬件上Linux系统的root密码。Raspbian Linux发行版的默认密码为树莓

5.点击应用.点击好啊保存更改。

步骤4:从随机位置播放空间化音频

1.在模型工具栏上,将仿真模式设置为外部

2.在“模型”工具栏中,单击“运行”按钮。当支持包生成代码时,“模型”窗口的左下角显示状态。成功生成代码后,支持包将在硬件上加载并运行代码。可执行文件将直升机定位在圆圈内的随机位置,并通过硬件的音频插孔播放空间化音频。现在,您可以金宝app通过连接到硬件的一对耳机收听空间化音频。音频似乎是在每个采样时间从随机扬声器播放的。

步骤5:从期望的位置播放空间化音频

1.在模型中,双击开关连接目视设置位置块的computeVol块。

2.在模型工具栏中,单击Run按钮。当支持包生成代码时,模型窗口的左下角显示状态。金宝app成功生成代码后,支持包将在硬件上加载并运行代码。金宝app

3.在模型中,双击目视设置位置块。可执行文件启动一个用户界面。该接口在圆的圆周上有五个离散的通道,在圆的中心有一个低频输出。听者占据了圆心的一个位置,用简笔画来表示。您现在可以通过连接到硬件的一对耳机听到空间化的音频。这段音频似乎是从离直升机最近的扬声器播放的。用鼠标拖动直升机来改变直升机的位置。观察正在播放的音频的位置和音量的变化。继续改变直升机的位置,观察直升机在不同位置时音频音量的变化。

参考文献

普尔基,维尔。“使用矢量基振幅平移进行虚拟声源定位。”音频工程学会杂志。第45卷第6期,1997年6月。