Я пытаюсь разработать приложение, похожее на tonematrix на C#. Я пробовал сначала с .net и библиотекой NAudio, теперь я пытаюсь с XNA, но похоже, что все, что я могу получить, это какофония.
С помощью NAudio я генерирую 8 простых синусоид с разными частотами от (440 Гц * 1) до (440 Гц * 8).
С XNA я использую несколько экземпляров SoundEffectInstance одного и того же аудиофайла (например, ноты D4 на фортепиано), каждый из которых имеет разное значение высоты тона; Значение высоты тона может увеличиваться или уменьшаться максимум на октаву.
В обоих случаях, когда звуки перекрываются, я получаю шум вместо музыки. Может быть, я все неправильно понял, и это не вопрос смешивания звуков разной высоты/частоты.
Мне трудно поверить, что тональная матрица использует не что иное, как «простой синусоидальный синтезатор», поскольку звуки довольно богаты, и когда они смешиваются вместе, они всегда создают гармоническую мелодию, в то время как простая синусоида всегда звучит уродливо и искусственно для восприятия. меня.
У меня плохой подход к созданию гармонии? У вас есть представление о том, что именно происходит с синусоидами, используемыми тональной матрицей?