Я делаю некоторую работу с binaural beats и пытаюсь построить приложение Java, которое может воспроизводить два звука на немного различных частот ... вокруг разницы 25-30Hz.В Java, есть ли способ синтезировать тон определенной частоты?
В идеальном мире я хотел бы дать Java два целочисленных входа, скажем, 440 и 410, и воспроизвести Java 440Hz тон и 410Hz тон.
Учитывая, что я видел в классах javax.sound.*
, кажется, что Java поддерживает только эквиваленты фортепианных заметок ... A4 @ 440Hz, затем A-sharp-4 @ 466.164Hz, а в другом направлении G -sharp-4 @ 415,305 Гц. В то время как «смежные», как правило, находятся в пределах диапазона для создания бинаурального ритма, я пытаюсь добиться большего контроля в частоте моих тонов.
С простого аудио синтеза является не более, чем частота, интенсивность и длиной от времени, было бы появляться мне, что где-то в недрах javax.sound.*
классов, есть какое-то поиск, который говорит, когда я говорю Java для воспроизведения «A4», это 440 Гц. Вопрос заключается в том, есть ли способ взломать эту таблицу, чтобы сказать, что «A4.1» является эквивалентом 449 Гц.
Я уже возился с javax.sound.midi
, еще не изучил javax.sound.sampled
; кажется, что мне нужно будет пробовать мои тона для использования классов sampled
; Я предпочитаю синтезировать. Держите меня прямо, если я ошибаюсь.
Большинство сторонних интерфейсов, которые я видел, ориентированы конкретно на производство музыки и манипуляции и, как таковые, ограничены в своей способности работать с микротонами. Есть ли у кого-нибудь опыт или рекомендации для решения?
Вы используете 'javax.sound.midi' или' javax.sound.sampled'? –
@LaurenceGonsalves Я возился с 'midi', еще не исследовал' sampled'; кажется, что мне нужно будет пробовать мои тона использовать классы sampled; Я предпочитаю синтезировать. Держите меня прямо, если я ошибаюсь. – dwwilson66
Я бы не ожидал, что midi обеспечит почти точный контроль. Это больше подразумевается как интерфейс управления между различными устройствами и имеет ограниченное количество доступных нот. –