嗨,我需要将 wav 音频文件的采样率从 44.1kHz 降低到 8kHz。我必须使用字节数组手动完成所有工作......这是出于学术目的。
我目前正在使用 2 个类 Sink 和 Source 来弹出和推送字节数组。一切都很顺利,直到我到达需要使用线性插值对数据块进行下采样的部分。
由于我从 44100 到 8000 Hz 下采样,我如何插入一个包含 128 000 000 字节的字节数组?现在我根据 i%2 == 0、i%2 == 1 和 i%80 == 0 弹出 5、6 或 7 个字节,并将这 5、6 或 7 个字节的平均值推送到新文件中.
结果确实是一个比原始文件更小的音频文件,但它无法在 windows 媒体播放器上播放(说读取文件时出错)并且有很多噪音,尽管我可以听到噪音背后的正确音轨。
所以,总而言之,我需要关于线性插值部分的帮助。提前致谢。