我正在开发一个iPhone的应用程序,它记录音频并保存该音频文件.我需要创建一个类似于带有VU表的Voice Memo应用程序中的UI.我实现了录制音频的代码,但我不知道VU电表的实现.期待回复.提前致谢.
VU表只是以对数标度(dB)显示信号的短期幅度.您需要在短时间间隔(例如10 ms)内连续测量信号的幅度(RMS),然后将RMS幅度转换为dB并更新仪表显示.
RMS_signal (V) = sqrt(sum(x^2) / N)
Run Code Online (Sandbox Code Playgroud)
其中N是样本数(例如,对于采样率为44.1 kHz的10 ms样本,N = 441)
Magnitude (dB) = 20.0 * log10(RMS_signal) + K
Run Code Online (Sandbox Code Playgroud)
其中K是校准常数(dB偏移).
您可能还需要添加低通滤波器以平滑显示的幅度.请参阅stackoverflow.com/questions/2167513.