声强和能量及其praat操作

2024-03-08 04:04
文章标签 操作 能量 praat 声强

本文主要是介绍声强和能量及其praat操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

强度、声压、能量、功率

这是我们在电学和声学等领域较常见到的词汇,但有时候可能会搞混淆,所以再整理一下。

强度(intensity)

强度,也叫做声强(Sound intensity)。《声学基础》中对于声强的定义是:通过垂直于声传播方向的单位面积上的平均声能量流(简称声能,能量),也叫平均声能量流密度。

在这里插入图片描述
声波的声强为:Ia=∫PmVat/T(0、T区间);式中T为周期的整数倍,或比周期大得多的时间;Pm为瞬时声压;Va为瞬时质点速度在指定方向的分量。在自由平面波和球面波的情况下,设有效声压为p,传播速度为c,媒质密度为ρ0,则在传播方向的声强为:I=p2/ρ0c。

声场中某点的声强是,单位时间内该点通过与声传播方向垂直的单位面积的声能量的平均值。
在这里插入图片描述
基本单位:J/m²s=W/m²(瓦特/米²)
在这里插入图片描述

强度,单位是每秒每平方厘米的ergs:
在这里插入图片描述
其中:p表示压力,单位为(dyn/cm2);u表示质点速度,单位为(cm/s);c表示传播速度,单位为(cm/s);ρ表示介质密度,单位为(g/cm3);乘积 ρc 被称为介质的声阻抗。

praat中intensity:

sound:To intensity…

设置:

  • Pitch floor (Hz):信号中的最小周期频率。如果你把它设置得太高,最终会得到一个音调同步的强度调制。如果你把它设置得太低,你的强度轮廓可能会出现模糊,所以如果你想要一个清晰的轮廓,你应该把它设置得尽可能高。
  • Time step (s):所得强度轮廓的时间步长。如果将其设置为0,则时间步长计算为有效窗口长度的四分之一,即 0.8 / pitchFloor。

Intensity对象表示线性间隔时间点 ti = t1 + (i -1) dt处的强度轮廓,其值为dB SPL,即dB相对于2·10-5 pascal,这是1000 Hz正弦波的标准听觉阈值。
一个IntensityTier对象表示一个带有时间戳的强度轮廓,也就是说,它包含一系列(时间,强度)点。强度值以dB为单位。

Intro 6.2. Configuring the intensity contour
 通过Intensity settings…在“强度”菜单中,您可以控制强度轮廓的计算方式和显示方式。

  • 观测范围:通过更改这两个数字,可以设置垂直刻度。标准设置是从50到100 dB,但如果您对背景噪声的功率感兴趣,您可能希望将其设置为0到100 dB的范围。
  • 平均法:如果您进行时间选择(而不是在单个时间设置游标),则会通过平均法计算强度。强度轮廓左侧或右侧的绿色数字表示选择中的平均强度。当你从强度菜单中选择获得强度时,你会得到相同的值。你可以选择强度的三种平均方法中的任何一种:Get mean… 或选择为选择median value。
  • 音高最小值(pitch floor):强度曲线是平滑的,因为你通常不希望强度曲线在一个基音周期内随着强度变化而上下波动。为了避免这种音高同步变化,每个时间点的强度是许多相邻时间点的加权平均值。加权是由一个高斯(双凯撒)窗口,其持续时间是由音调下限值确定。想要看到比平时更多的细节,提高音调下限值;为了得到比平时更平滑的效果,则降低音调下限值。
  • 是否减去平均压强?许多麦克风、麦克风前置放大器或录音系统中的其他组件可以给气压增加一个恒定水平(直流偏置)。你可以在波形中安静的位置看到这一点,那里的平均压力不为零,背景噪声在某个非零值附近波动。你通常不会想要认真对待这个恒定压力,也就是说,强度曲线通常不应该考虑这个恒定压力水平所提供的能量。如果打开减去平均压力开关(其标准设置也打开),则通过首先减去该点周围的平均压力,然后应用高斯窗来计算时间点的强度值。

Sound: Get intensity (dB)
空气中声音的强度定义为
在这里插入图片描述
式中x(t)为声压,单位为Pa(帕斯卡),t为声音持续时间,P0 = 2·10-5 Pa为听觉阈压。

同时列出音高和强度值:
你可以用高时间分辨率创建单独的音高和强度轮廓,然后进行插值。在下面的示例中,通过插值时间分辨率为0.001秒的曲线,以0.01秒的步长获得音高和强度值。

脚本:

    sound = selected ("Sound")tmin = Get start timetmax = Get end timeTo Pitch: 0.001, 75, 300Rename: "pitch"selectObject: soundTo Intensity: 75, 0.001Rename: "intensity"writeInfoLine: "Here are the results:"for i to (tmax-tmin)/0.01time = tmin + i * 0.01selectObject: "Pitch pitch"pitch = Get value at time: time, "Hertz", "linear"selectObject: "Intensity intensity"intensity = Get value at time: time, "cubic"appendInfoLine: fixed$ (time, 2), " ", fixed$ (pitch, 3), " ", fixed$ (intensity, 3)endfor

音高轮廓(蓝);强度(绿)
在这里插入图片描述

能量(Energy)

也叫作声能(acoustic energy)(电声词典)声源发射出的总能量,单位为瓦。
声波是机械波的一种,其实质是能量的传递过程。
声能密度(sound energy density):声能密度是单位体积的声能量。表达式为D=p2/ρ0c2,声能密度的瞬时值、极大值、峰值分别称为“瞬时声能密度”、“极大声能密度”、“峰值声能密度”。平均声能密度必须注明是某一时刻的空间平均还是在某一点的时间平均,以免混淆。

声能密度E:
在这里插入图片描述
其中:p表示声压,单位为达因每平方厘米【1达因/平方厘米(dyn/cm2)=0.1帕(Pa)】;ρ表示密度,单位为克每立方厘米;c表示声速,单位为厘米每秒。

praat中的energy

Sound: Get energy…
选择一个声音,在“查询”子菜单中选择Get energy。Praat将所选声音的能量(在您要求的时间间隔内)写入信息窗口。若声幅单位为Pa (Pascal),则能量单位为Pa2·s。
在这里插入图片描述

设置:
Time range (s):时间范围(t1, t2)。超出此范围的值将被忽略。如果t1不小于t2,则考虑声音的整个时域。

定义:
能量定义为
在这里插入图片描述
其中x(t)是声音的振幅。对于立体声来说,定义为
在这里插入图片描述
其中x(t)和y(t)是两个通道;这个定义是对通道进行平均(而不是求和),从而确保如果你将单声道声音转换为立体声,能量将保持不变。
对于空气中的声能,用焦耳/平方米表示:
在这里插入图片描述
其中x(t)为声压,单位为Pa(帕斯卡),ρ为空气密度(apx. 1.14 kg/m3), c为空气中的声速(apx. 353 m/s)。

空气中声音的功率定义为:
在这里插入图片描述
其中x(t)是声压,单位是Pa(帕斯卡),ρ是空气密度(apx. 1.14 kg/m3), c是声音在空气中的传播速度(apx. 353 m/s), T是声音的持续时间。

实现样例:
在Praat中,声音仅在有限的时间点上被定义,并且间隔均匀。例如,一个采样频率为10kHz的3秒长的声音,即被定义在30,000个时间点上,通常(例如,当你用create Sound from formula创建声音时)位于0.00005、0.00015、0.00025……2.99975, 2.99985和2.99995秒。Praat看待这个问题的简单方法是,第一个样本以0.00005秒为中心,该样本的振幅(x1)表示t在0到0.00010秒之间的x(t)。同样,第二个样本以0.00015秒为中心,但可以说是从0.00010到0.00020秒,第30,000个样本也是最后一个样本以2.99995秒为中心,其振幅(x30000)表示2.99990到3.00000秒之间的所有时间。因此,这个示例声音x(t)在0到3秒之间的所有时间都是定义的,但在0秒之前或3秒之后是未定义的。
因此,该例子声音的能量为:
在这里插入图片描述
我们将其近似为所有30000个样本的和:
在这里插入图片描述
其中Δti为第i个样本的持续时间,即每个样本0.0001秒。

现在考虑一下,如果我们想知道t1 = 0.00013和t2 = 0.00054秒之间的能量呢。声音的第一个样本完全落在这个音程之外;第二个样本的70%落在区间内,即0.00013秒到0.00020秒的部分;第三、四、五样本均落在区间内;第6个样本的40%落在区间内,即0.00050到0.00054秒的部分(注意,第6个样本的中心在0.00055秒,甚至在区间之外)。那么能量是:
在这里插入图片描述
其中Δt3 = Δt4 = Δt5 = 0.0001秒,但Δt2只有0.00007秒(即第二个样本位于t1和t2之间的部分),Δt6只有0.00004秒(即第六个样本位于t1和t2之间的部分)。
这种对平方信号积分的方法(从技术上讲,是对一个划分[从t1到t2的区间]的黎曼和,它在除边缘以外的任何地方都是正则的,并且在除边缘以外的任何地方都有中心标记)确保了结果是t1和t2的连续函数,即t1或t2的很小变化只会导致计算能量的很小变化(相反,简单地对中心位于t1和t2之间的所有样本进行求和,将导致每当t1或t2穿过样本中心时计算的能量突然跳跃,这将是非物理行为,因此不是Praat会有的行为)。

这篇关于声强和能量及其praat操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/785916

相关文章

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Redis中管道操作pipeline的实现

《Redis中管道操作pipeline的实现》RedisPipeline是一种优化客户端与服务器通信的技术,通过批量发送和接收命令减少网络往返次数,提高命令执行效率,本文就来介绍一下Redis中管道操... 目录什么是pipeline场景一:我要向Redis新增大批量的数据分批处理事务( MULTI/EXE

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解