c# - 来自字节数组的体积

标签 c# .net audio volume audio-analysis

我是音频分析的新手,但需要执行一项(看似)简单的任务。我有一个包含 16 位录音(单 channel )和 44100 采样率的字节数组。如何执行快速分析以获得任何给定时刻的音量?我需要计算一个阈值,所以如果它高于某个幅度(音量)则返回 true 的函数,否则返回 false。我想我可以遍历字节数组并检查它的值,255 是最大的,但这似乎不起作用,因为即使我没有记录任何东西,背景噪音进入并且一些数组充满了255. Any suggestions would be great. 谢谢

最佳答案

由于您有 16 位数据,您应该期望信号在 -32768 和 +32767 之间变化。 要计算体积,您可以取 1000 个样本的间隔,并计算它们的 RMS 值。对样本值的平方求和除以 1000,然后取平方根。根据您的阈值检查此数字。

关于c# - 来自字节数组的体积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4362887/

相关文章:

c# - 使用 HashTable 数据类型设置 session

c# - 从逗号分隔的字符串中查找特定字符串的最简单方法

.net - REDIS 耐久性 ?如何自动过期数据?

javascript - 仅使用 javascript 的麦克风的声音 Activity 级别

java - 一次只播放一个音频文件?

python - 如何关闭由os.system()打开的python中的程序?

c# - 将 WCF 协议(protocol)转换为类

c# - 在 C# 中调用的变量声明 "var (name, categoryId) = object"是什么?

c# - 机器的唯一 ID 应该是什么?它的主板ID? Windows 产品 ID?

c# - 按日期订购 List<T>,但它有一个字符串 ID,如果该 ID 在集合中以不同的日期重复出现,则应出现在它的下方