音频共感

概述音频共感(Audio Synesthesia)插件生成可在蓝图脚本中使用的音频元数据的方法。

Windows
MacOS
Linux

音频共感(Audio Synesthesia) 插件公开自动解压的音频元数据,可用于gameplay脚本和蓝图。此功能可帮助设计师驱动动画、效果和其他与音效紧密耦合的元素。

入门指南

必须激活 音频共感(Audio Synesthesia) 插件才能使用此功能。前往 编辑(Edit)> 插件(Plugins)> 音频(Audio),然后勾选 音频共感(Audio Synesthesia) 以启用。出现提示时重启引擎。

若添加新的音频共感(Audio Synesthesia)资源,虚幻引擎将自动创建其对的 音频分析器(Audio Analyzer)。可添加两种资源:

  • 音频共感(Audio Synesthesia) NRT - 支持 USoundWave 非实时(NRT)分析的分析器。

  • 音频共感 NRT 设置(Audio Synesthesia NRT Settings) - 音频共感(Audio Synesthesia) NRT的设置,可用于修改设置的默认值。

点击查看全图。

新建资源时将显示下拉菜单。选择要执行的分析类型。

PickSynesthesiaClass1.png

基本概念

"AudioSynesthesiaNRT"对象的作用:

  • 将分析算法设置关联到要分析的声波。

  • 将分析结果保留为"uasset"。

  • 提供可存取结果的蓝图函数。

使用 AudioSynesthesiaNRT 对象的所有音频分析均在编辑器中执行。Gameplay期间,在文件中读取分析结果。此操作将限制 AudioSynesthesiaNRT 对象分析游戏中生成的音频,但可避免运行时期间执行高开销的音频分析。

更新设置或在分析器中更新音效属性时将执行分析。

分析器使用方式范例

创建并设置LoudnessNRT分析器

  1. 添加 AudioSynesthesiaNRT 资源。可在 音效(Sound)> AudioSynesthesiaNRT 中找到 AudioSynesthesiaNRT 资源。

  2. 在AudioSynesthesiaNRT分析器的下拉从菜单中选择 LoudnessNRT

  3. 可选(Optional):通过在下拉菜单中选择 LoudnessNRTSettings,可使用 音效(Sound)> AudioSynesthesiaNRTSettings 添加 AudioSynesthesiaNRTSettings 对象。

  4. 使用导入音效更新LoudnessNRT Sound属性。 loudnessanalyzer.PNG

使用之前创建的LoudnessNRTSettings更新LoudnessNRT Settings属性。

在蓝图中利用LoudnessNRT

有多种在蓝图中使用LoudnessNRT的方式。以下范例为两个球体根据音频播放的响度变更大小。

  1. 新建Actor蓝图,并将其添加到场景。

  2. 打开蓝图,然后添加AudioComponent和两个球体。在所示范例中,将球体命名为 LeftSphereRightSphere

    Components1.png Spheres2.png

  3. 添加两个变量:LoudnessAnalyzerDuration。Duration应为 浮点(float),LoudnessAnalyzer应为 LoudnessNRT

    MyBlueprint.png

  4. 在构造脚本中:

    • 将音频组件的音效设为Loudness Analyzer中使用的音效。

    • 存储音效的总时长。

点击查看全图。

  1. 在事件脚本中:

    • 设置 AudioPlaybackPercent 事件,以在每次更新音频播放百分比时触发事件。

    • 启动音频播放。

    • 将音效时长乘以播放百分比,得到播放时间(以秒计)。

    • 获取播放器中当前播放时间(以秒计)的标准化响度值。

    • 基于响度值设置球体的缩放。

点击查看全图。

非实时(NRT)分析器

LoudnessNRT

LoudnessNRT分析器测量音频的感知响度。由于其和音频振幅相关,同时提供随时间变化的数字,因此其类似于envelope跟随器或分贝计。鉴于人类对音效感知的程度且对特定频率比较敏感,因此其与直线振幅测量不同。例如,口哨的振幅相当较低,但大家仍会觉得较为响亮。与最低的低音对比,该低音振幅可能极高,但众多听众却认为是音量适中。LoudnessNRT考虑了所有此类情况,将口哨标识为响亮,低音标识为中等响度。

LoudnessNRTSettings 用于配置LoudnessNRT分析器。LoudnessNRTSettings中最常调节的参数为:

  • AnalysisPeriod 控制测量频率。

  • MinimumFrequencyMaximumFrequency 控制目标频率。要完全忽略上端寄存器或下端寄存器中的某些内容,或要对比多个频率范围的响度活动时,此参数将十分有用。

  • CurveType 专门控制应利用的感知曲线。此参数通常为高级设置。

  • NoiseFloorDb 代表被视为静音的振幅。

ConstantQNRT

ConstantQNRT分析器(ConstantQNRT analyzer) 测量音频中单个波段的强度。其代表给定时间处频率波段的响度,因此其与声谱图类似,不同点为其以感知意义的方式整理波段。使用ConstantQNRT分析器时,此类波段的整理方式与钢琴上的音符或多波段均衡器中的波段相同。

ConstantQNRTSettings 用于配置ConstantQNRT分析器。ConstantQNRTSettings中最常调节的参数为:

  • AnalysisPeriod 控制测量频率。

  • StartingFrequencyNumBandsNumBandsPerOctave 控制波段间距、宽度、位置和数量。

  • DownMixToMono 表示应单独处理音频通道,还是处理前先混合到单个音频通道中。

OnsetNRT

OnsetNRT分析器(OnsetNRT analyzer) 探测来自大量源的音频起始事件,包括音符起始、敲击、扬声器爆破音和爆炸。OnsetNRT分析器向音符起始提供其时间戳和强度。

OnsetNRTSettings 用于配置OnsetNRT分析器。OnsetNRTSettings中最常调节的参数为:

  • GranulartiyInSeconds 决定各起始之间的最小间距。

  • Sensitivity 设置探测到起始前,该起始必须达到的响度阈值。

  • MinimumFrequencyMaximumFrequency 控制查找起始的频率范围。要完全忽略上端寄存器或下端寄存器中的某些内容,或要对比多个频率范围的起始活动时,此参数将十分有用。

    • DownMixToMono 表示应单独处理音频通道,还是处理前先混合到单个音频通道中。

Select Skin
Light
Dark

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见