提问人:Leo 提问时间:9/2/2023 最后编辑:Leo 更新时间:9/4/2023 访问量:49
AVAudioConverter 的 channelMap 导致音调较低
AVAudioConverter's channelMap results in lower pitch
问:
我曾经在格式之间转换音频,我遇到了一个问题,即在特定条件下我的音频音调会变低。AVAudioConverter
输入格式为未压缩的双声道音频:
采样率: 48000.0 Hz, 通道: 2, 格式: int16, 交错, 非标准, AudioFormatID: kAudioFormatLinearPCM (1819304813), Settings: [“AVLinearPCMBitDepthKey”: 16, “AVFormatIDKey”: 1819304813, “AVLinearPCMIsNonInterleaved”: 0, “AVNumberOfChannelsKey”: 2, “AVSampleRateKey”: 48000, “AVLinearPCMIsFloatKey”: 0, “AVLinearPCMIsBigEndianKey”: 0]
输出格式为压缩双声道音频:
采样率: 48000.0 Hz, 通道: 2, 格式: 其他, 交错, 非标准, AudioFormatID: kAudioFormatMPEG4AAC (1633772320), Settings: [“AVSampleRateKey”: 48000, “AVFormatIDKey”: 1633772320, “AVNumberOfChannelsKey”: 2]
当我将转换器设置为对两个输出通道使用相同的输入通道时,生成的音频的音高会受到影响。这是我所看到的:channelMap
converter.channelMap = [0, -1]
:听起来不错,但只有左耳音频converter.channelMap = [-1, 1]
:听起来不错,但只有右耳音频converter.channelMap = [0, 0]
:导致音调降低
有趣的是,当我将通道映射用于单声道输出格式时,它工作得很好。我的目标是对立体声格式做同样的事情。我需要保留两个输出通道,以防用户将通道映射更改为 [0, 1]。
在立体声中对两个输出通道使用相同的输入通道时,什么原因可能导致音高变化?
答: 暂无答案
评论