Подскажите, может я что-то не учитываю.
Делаю простой звуковой движок. Играю моно звук через SourceVoice. С помощью X3DAudio рассчитываю матрицу коэффициентов для положения источника и применяю ее к звуку:
var dspSettings = SoundCore.x3dAudio.Calculate(listener, emitter, CalculateFlags.Matrix, 1, 2); sourceVoice.SetOutputMatrix(1, 2, dspSettings.MatrixCoefficients);
Войс монофонический, слушатель стереофонический. Все играет, вроде все здорово, но есть странный эффект — если отвернуться от источника звука (что бы одно ухо слышало звук значительно громче другого), то возникает ощущение сильного звукового давления на ухо. Причем на то, в котором звук слышен тише. Это вызывает сильный дискомфорт. Если же еще и музыку на заднем плане проигрывать, то складывается впечатление, что это все еще и на психику влияет...
Возможно нужно рассчитывать и применять дополнительные параметры? Например сдвиг фаз каналов?
На первый взгляд вроде всё правильно делаешь, хотя я немного по другому реализовал данный код.
Тема в архиве.