主要内容

空间化单耳音频到5.1声道环绕声使用树莓派

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

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

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

所需的产品下载188bet金宝搏

所需的硬件

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

  • 一副耳机,可插入硬件的3.5 mm耳机插孔

  • USB电缆

  • 以太网电缆

  • 显示器连接到树莓派硬件和HDMI电缆(可选)

步骤1:连接树莓派硬件音频空间化

在开始这个示例之前,我们建议您完成开始使用树莓派硬件的Simulink支持包金宝app金宝app的例子。

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

  2. 在硬件的3.5 mm耳机接口上插入一副耳机。

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

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

打开音频位置模型。

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

音频输入

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

  • 拖动直升飞机到一个想要的位置:在外部模式下运行模型时视觉设置位置块作为输入computeVol块中,该模型启动一个用户界面。用户界面在圆的圆周上有五个离散通道,在圆的中心有一个低频输出。听众占据了圆圈中心的位置,用一个简笔画来表示。使用该界面,您可以通过拖动直升机到圆圈内的不同位置来改变直升机的位置。在改变直升机的位置时,模型输出给听者的印象是,音频是从离直升机最近的扬声器播放的。

  • 计算随机直升机位置:在外部模式下运行模型时随机设置位置块作为输入computeVol块,块在每个采样时间计算直升机在圆圈内的随机位置。位置是用一对笛卡尔坐标计算出来的。模型输出给听者的印象是,在每个采样时间,音频是从随机扬声器中播放的。不像视觉设置位置布洛克,你不能控制直升机的位置。

空间算法

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

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

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

  1. 确定源两侧的两个扬声器,或者在简并情况下,确定单个扬声器。

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

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

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

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

音频输出

音频回放Block将六声道音频输出发送到硬件的3.5 mm耳机插孔。为了输出一个模拟六通道源的立体声信号,也就是als标识符,plughw中的设备号前缀音频回放块参数对话框。输出是模拟六声道源的立体声信号。

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

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

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

3.设置硬件板参数覆盆子π.选项中的参数自动填充硬件板设置使用树莓派的默认值。

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

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

  • 用户名:硬件上运行Linux®系统的root用户名。Raspbian Linux发行版的默认用户名为π

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

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

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

硬件选项卡,在金宝app模式部分中,选择在船上运行然后点击监控和调整.当支持包生成代码时,模型窗口的左下角显示状态。金宝app成功生成代码后,支持包将加载并在硬件上运行代码。金宝app可执行程序将直升机定位在圆圈内的随机位置,并通过硬件的音频插孔播放空间化音频。你现在可以通过一对连接到硬件的耳机听到空间化的音频。音频似乎是在每个采样时间从随机扬声器中播放的。

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

1.在模型中,双击开关以连接视觉设置位置Block to thecomputeVol块。

2.在模拟选项卡,单击运行.当支持包生成代码时,模型窗口的左下角显示状态。金宝app成功生成代码后,支持包将加载并在硬件上运行代码。金宝app

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

参考文献

Pulki,城镇。使用矢量基振幅平移的虚拟声源定位。音频工程学会学报。第45卷第6期,1997年6月。