【问题标题】:VU meter implementation in iphoneiphone中的VU表实现
【发布时间】:2012-12-14 20:47:43
【问题描述】:

我正在为 iPhone 开发一个应用程序来记录音频并保存该音频文件。我需要使用 VU 表创建一个类似于 Voice Memo 应用程序的 UI。我实现了录制音频的代码,但我不知道 VU 表的实现。期待回复。提前致谢。

【问题讨论】:

    标签: iphone audio


    【解决方案1】:

    VU 表仅以对数刻度 (dB) 显示信号的短期幅度。您需要在很短的时间间隔(例如 10 毫秒)内连续测量信号的幅度 (RMS),然后将 RMS 幅度转换为 dB 并更新仪表显示。

    RMS_signal (V) = sqrt(sum(x^2) / N)
    

    其中 N 是样本数(例如,对于 44.1 kHz 采样率的 10 ms 样本,N = 441)

    Magnitude (dB) = 20.0 * log10(RMS_signal) + K
    

    其中 K 是校准常数(dB 偏移)。

    您可能还想添加一个低通滤波器来平滑显示的幅度。见stackoverflow.com/questions/2167513

    【讨论】:

      【解决方案2】:

      您可以使用基于 OpenGL 的简单且易于扩展的框架gl-data-visualization-view 来显示紫外线计。您应该只添加 GLDataVisualizationView,将可视化类型设置为模拟仪表并将值设置为可视化。

      【讨论】:

      • 嗨迈克-杜特卡!感谢您的 gl-data-visualization-view 代码。这很棒!如何在您的代码中添加低通滤波器?我现在正在使用此链接上含义问题所建议的代码:stackoverflow.com/questions/9247255/… 是否足以实现平稳的中间摆动?感谢您的宝贵时间!
      猜你喜欢
      • 1970-01-01
      • 2010-12-01
      • 2012-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多