游戏引擎中的声音系统

news2024/12/26 11:05:46

一、声音基础

1.1 音量

声音振幅的大小
在这里插入图片描述
压强p:由声音引起的与环境大气压的局部偏差
在这里插入图片描述
在这里插入图片描述
1.2 音调

在这里插入图片描述
1.3 音色

在这里插入图片描述
1.4 降噪
在这里插入图片描述
1.5 人的听觉范围
在这里插入图片描述

1.6 电子音乐

将自然界中连续的音乐转换成离散的信号记录到内存中
在这里插入图片描述
采样 - 量化 - 编码

香农定理:采样频率是信号频率的两倍,就可实现无损采样。

采样:
在这里插入图片描述
量化:
在这里插入图片描述
编码格式:
在这里插入图片描述

二、三维音频渲染

三维场景中有无数的声源,每个声源从不同的方向,不同的距离表现的效果都不一样。
在这里插入图片描述

2.1 Listener
位置:一般放在摄像机和人物中间。不放在摄像机身上是因为当人物离开时仍然能听到声音;不放到人物身上的原因是当视野离开后,仍然能听到声音。这两种情况都不合理。
速度:多普勒效应
朝向:不同的朝向效果也不一样
设置一个

2.2 空间化

在这里插入图片描述
到达左右耳的时间,方向都会影响音效的空间感。(听声辨位)

2.3 Panning

在这里插入图片描述
通过移动声源位置,模拟声音的变化。
在这里插入图片描述
在这里插入图片描述
但是当声音移动到两耳中间的时候,听到声音会变小

在这里插入图片描述
添加sin,cos解决这个问题
在这里插入图片描述
这样的话在声音移动的时候就可以保证听到的音量大小保持不变。

在这里插入图片描述

2.4 声音的衰弱

高频的声音衰减的快,低频的声音衰减的慢
在这里插入图片描述
通过在不同的频率之间插值计算,就可以体现出你距离声源的远近。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.5声音的阻挡

声音是通过波的形式传播的
在这里插入图片描述
利用射线来计算声音的遮挡。
在这里插入图片描述

2.6 混响

回响-声音的反弹
在这里插入图片描述
不同的材质对声音的吸收也不同在这里插入图片描述
在浴室中唱歌好听的原因:浴室空间小混响效果好
在这里插入图片描述

2.7 多普勒效应

多普勒效应(Doppler effect)是波源与观察者有相对运动时,观察者接受到波的频率与波源发出的频率并不相同的现象。生活中比较常见的例子是远方急驶过来的火车鸣笛声变得尖细(即频率变高,波长变短),而离我们而去的火车鸣笛声变得低沉(即频率变低,波长变长),这就是多普勒效应现象,同样的现象也发生在私家车鸣响与火车的敲钟声,音频参见[声的多普勒效应]。而关于频率和波长的直观感受如下图所示(来自wiki)。

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1561995.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ES6学习(五)

文章目录 Module 语法1.1 痛点介绍(1) 异步加载(2) 私密(3) 重名(4) 依赖 1.2 解决方法(1) 解决异步加载问题(2) 解决私密问题(3) 重名解决方法(4) 解决依赖问题 1.3 模块化使用案例 Module 语法 之前js 出现的某些痛点: 在script 中引入的变量名不可以重复&#…

04_Git开发流程

文章目录 Git开发创建阶段开发阶段合并阶段常用指令 Git开发 创建阶段 共建Git仓库,首次使用请使用git clone指令 git clone xxx.git在master/main主干上搭建起基本的项目结构和公共内容,将这些内容push到远程仓库 在Github上创建分支dev(de…

2024最新GPT4.0使用教程:GPTs,AI绘画,AI换脸,AI绘画,文档分析一站式解决

一、前言 ChatGPT3.5、GPT4.0、相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和用户进行创作交流。 然而,GPT-4对普通用户来说都是需要额外付费才可以…

HarmonyOS 应用开发之TaskPool和Worker支持的序列化类型

TaskPool和Worker的底层模型为Actor模型,基于Actor模型的内存隔离特性,执行多线程任务和取得结果需要通过跨线程序列化传输。目前支持传输的数据对象可以分为 普通对象 、 可转移对象 、 可共享对象 、 Native绑定对象 四种。 普通对象 普通对象传输采…

《基础设施即代码(IaC)》译者序

随着信息技术的飞速发展,我们对基础设施的理解也在不断深化。传统的基础设施往往被看作是硬件和软件的堆砌,而现在,基础设施的概念已经发生了巨大的变化。在当今这个信息化、数字化的时代,基础设施已经成为了企业和组织运行的核心…

SiteServer 学习笔记 Day04 添加模板

1、添加一个公司简介的模板&#xff0c;显示管理->模版管理->新增内容模板&#xff0c;如下图。 2、在编辑页面如下图。 2.1、代码如下。 <!DOCTYPE HTML> <html lang"en"><head><meta charset"utf-8" /><meta name&quo…

Spire.PDF for .NET【文档操作】演示:合并 PDF 文件并添加页码

搜索了这么多有关 PDF 合并的信息后&#xff0c;很容易发现&#xff0c;无论您在线合并 PDF 文件还是使用 C#/VB.NET 来实现此任务&#xff0c;您都无法逃避对 PDF 文件安全等一些重要问题的担忧&#xff0c;因此需要花费多少时间或者合并后的文件是否支持打印页码等等。不过&a…

嵌入式驱动学习第五周——驱动模块

前言 Linux驱动有两种运行方式&#xff0c;第一种是将驱动编译进Linux内核中&#xff0c;另一种是编译成模块&#xff0c;本篇博客来介绍一下驱动模块。 嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程&#xff0c;未来预计四个月将高强度更新本专栏&#xff0c;喜欢的可…

机器学习实战17-高斯朴素贝叶斯(GaussianNB)模型的实际应用,结合生活中的生动例子帮助大家理解

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下机器学习实战17-高斯朴素贝叶斯(GaussianNB)模型的实际应用&#xff0c;结合生活中的生动例子帮助大家理解。GaussianNB&#xff0c;即高斯朴素贝叶斯模型&#xff0c;是一种基于概率论的分类算法&#xff0c;广泛应…

open Gauss 数据库-04 openGauss数据库日志管理指导手册

发文章是为了证明自己真的掌握了一个知识&#xff0c;同时给他人带来帮助&#xff0c;如有问题&#xff0c;欢迎指正&#xff0c;祝大家万事胜意&#xff01; 目录 前言 openGauss 数据库日志管理 1 实验介绍 2 实验目的 3 系统日志 3.1 运行时日志 3.2 安装卸载时日志…

高效批量剪辑视频,一键设置区间随机抽取画面,批量剪辑视频不再是梦!

在数字世界的浩瀚海洋中&#xff0c;视频内容日益丰富&#xff0c;如何从冗长的视频中快速抓取关键瞬间&#xff0c;将精彩定格为永恒&#xff1f;今天&#xff0c;我们为你带来一款强大的视频剪辑工具&#xff0c;它拥有批量从视频中指定区间随机抽帧并导出保存的功能&#xf…

9.动态规划——3.最大上升子序和

例题——最大上升子序和 分析 需要定义状态 d p [ i ] dp[i] dp[i]&#xff0c;表示前i个元素中&#xff0c;包含第i个元素 a [ i ] a[i] a[i]的最大子序和&#xff0c;则&#xff1a; 若有 j ∈ [ 0 , i − 1 ] j∈[0,i-1] j∈[0,i−1] 当 a [ j ] < a [ i ] a[j]<a[i]…

maven构建项目报错:Failure to find com.microsoft.sqlserver:sqljdbc4:jar:4.0 in

背景 今天在项目里面查询sqlserver的数据库的时候&#xff0c;本地maven中引入依赖&#xff1a; <dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>sqljdbc4</artifactId><version>4.0</version></dependenc…

苍穹外卖05(Redis入门,下载于安装,服务启动和停止,Redis数据类型面试题,常用命令,Java中操作Redis,店铺营业状态设置)

目录 一、Redis入门 1. Redis简介 1 NoSQL介绍 2 Redis简介 2. Redis下载与安装 1 Redis下载 2 Redis安装 3. Redis服务启动与停止 1 服务启动命令 2 客户端连接命令 3 修改Redis配置文件 3 修改Redis配置文件 4 Redis客户端图形工具 二、Redis数据类型【面试题】…

【Leetcode】top 100 图论

基础知识补充 1.图分为有向图和无向图&#xff0c;有权图和无权图&#xff1b; 2.图的表示方法&#xff1a;邻接矩阵适合表示稠密图&#xff0c;邻接表适合表示稀疏图&#xff1b; 邻接矩阵&#xff1a; 邻接表&#xff1a; 基础操作补充 1.邻接矩阵&#xff1a; class GraphAd…

轻松设置Facebook自动隐藏评论和删除评论功能

Facebook作为海外营销的最大流量平台之一&#xff0c;是很多跨境卖家争夺的市场&#xff0c;希望可以通过Facebook这个全球性的平台来推广自己的产品或服务。身处这个竞争激烈的市场&#xff0c;任何一条负面评论或不当言论出现在你的品牌页面上都可能影响到品牌形象&#xff0…

基于PSO优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1卷积神经网络&#xff08;CNN&#xff09;在时间序列中的应用 4.2 长短时记忆网络&#xff08;LSTM&#xff09;处理序列依赖关系 4.3 注意力机制&#xff08;Attention&#xff09; 5…

【虚幻引擎】C++ slate全流程开发教程

本套课程介绍了使用我们的虚幻C去开发我们的编辑器&#xff0c;扩展我们的编辑器&#xff0c;设置我们自定义样式&#xff0c;Slate架构设计&#xff0c;自定义我们的编辑器样式&#xff0c;从基础的Slate控件到我们的布局&#xff0c;一步步的讲解我们的的Slate基础知识&#…

Unity UGUI之Text组件基础认识

Text组件用于在游戏中显示文本。 下面来细看下它的基本信息。 一、基本属性&#xff1a; 如上图所示&#xff0c;即为Text组件的一些基本属性&#xff0c;其中&#xff0c; Text&#xff1a;要显示的文本内容。Font&#xff1a;文本所使用的字体。Font Style&#xff08;字体…

iPhone设备中查看应用程序崩溃日志的最佳实践与经验分享

​ 目录 如何在iPhone设备中查看崩溃日志 摘要 引言 导致iPhone设备崩溃的主要原因是什么&#xff1f; 使用克魔助手查看iPhone设备中的崩溃日志 奔溃日志分析 总结 摘要 本文介绍了如何在iPhone设备中查看崩溃日志&#xff0c;以便调查崩溃的原因。我们将展示三种不同的…