[RK3288][Android6.0] Audio中的录音重采样小结

本文详细总结了Android 6.0中Audio录音的重采样过程,探讨了不同重采样算法,包括Speex、Linear和Cubic等,深入解析它们的原理与差异。
摘要由CSDN通过智能技术生成
Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92

Android自带录音apk使用的采样率是8kHz,而硬件录音的采样率是44.1kHz,所以需要做重采样。
HAL层重采样
hardware/rockchip/audio/tinyalsa_hal/audio_hw.c
static int adev_open_input_stream(......)
{
......
    //requested_rate: app申请的采样率
    //pcm_config->rate: 硬件实际采样率
    if (in->requested_rate != pcm_config->rate) {
        in->buf_provider.get_next_buffer = get_next_buffer;
        in->buf_provider.release_buffer = release_buffer;
......
        ret = create_resampler(pcm_config->rate,
                               in->requested_rate,
                               audio_channel_count_from_in_mask(in->channel_mask),
                               RESAMPLER_QUALITY_DEFAULT,
                               &in->buf_provider,
                               &in->resampler);
......
    }
......
}
重采样算法用android自带库
system/media/audio_utils/resampler.c
int create_resampler(......)
{
......
    rsmp->speex_resampler = speex_resampler_init(channelCount,
                                      inSampleRate,
  
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值