android - 如何在Android中计算混响时间?

标签 android audio frequency

我正在尝试开发一个计算房间混响时间并将其显示在屏幕上的应用程序。
到目前为止,我所做的是:

  • 将音频记录在wav文件中
  • 从wav文件中提取字节并将其转换为“double”
  • 绘制根据下一个方程式获得的数据:SPL = 20log(samples / 20μPa)
  • 然后从我绘制的图中,我可以轻松获得RT60

  • 关键是我不太确定自己在做的事情是否有意义,因为无论我在哪里搜索信息,我都会看到他们以 Octave (或 Octave )的频段来获得RT,而对于我而言,我不是用频率做任何事情,我只是根据时间绘制图表,得到这样的东西:

    所以我的意思是,我有什么想念的吗?
    SPL公式中的“样本”值是否应该是其他值?我为获得它们所做的是:
    double audioSample = (double) (array[i+1] << 8 | array[i] & 0xff)/ 32767.0;
    

    然后将我直接获得的[-1,+ 1]值放在公式中

    从理论上讲,我是在什么频率下绘制RT?

    谢谢

    最佳答案

    您必须使用通用频率的声音才能使用500hz
    ,1000或2000。或者是rt60的微积分的3个平均值。奥利弗。

    关于android - 如何在Android中计算混响时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27201176/

    相关文章:

    c# - 将声音文件加载到 monogame 中

    java - Android 音频环回

    powershell - 使用Powershell录制音频麦克风

    c# - 字符串对象中字符频率的简单解决方案

    java - Java 的更多核心 VS 更高频率

    java - 带有 Sprite 表的 ArrayIndexOutOfBoundsException

    Android:升级应用程序时可以保留数据吗?

    安卓谷歌地图标记放置

    windows-phone-7 - Windows Phone 7 麦克风可以检测 18k-19kHz 范围内的频率吗?

    java - 如何为 Dagger 的类(与接口(interface))注入(inject)模拟