Есть ли в Java способ синтезировать тон определенной частоты?

Я работаю с бинауральными битамии пытаюсь создать Java-приложение, которое может воспроизводить два звука в слегка. ] разные частоты... разница около 25-30Гц.

В идеальном мире я хотел бы дать Java два целочисленных ввода, скажем, 440 и 410, и заставить Java воспроизводить тон 440 Гц и тон 410 Гц.

Учитывая то, что я видел в классах javax.sound.*, похоже, что Java поддерживает только эквивалент нот фортепиано... A4 @ 440 Гц, затем A-sharp-4 @ 466.164 Гц, а в обратном направлении — соль-диез-4 @ 415,305 Гц. В то время как «соседние», как правило, находятся в пределах диапазона для создания бинаурального ритма, я пытаюсь добиться большего контроля над частотой своих тонов.

Поскольку простой аудиосинтез есть не что иное, как частота, интенсивность и продолжительность времени, мне кажется, что где-то в недрах javax.sound.*классов, есть какой-то поиск, который говорит, что когда я говорю Java воспроизводить «A4», это 440 Гц. Возникает вопрос, есть ли способ взломать эту таблицу, чтобы сказать, что «A4.1» эквивалентен 449 Гц.

Я возился с javax.sound.midi, не исследовал javax.sound.еще не пробовал; похоже, что мне нужно будет семплировать мои тона, чтобы использовать классы sampled; Я предпочитаю синтезировать. Поправь меня, если я ошибаюсь.

Большинство сторонних интерфейсов, которые я видел, специально предназначены для производства музыки и манипуляций с ней, и, как таковые, их возможности работы с микротонами ограничены. У кого-нибудь есть опыт или рекомендации по решению?

7
задан dwwilson66 24 May 2012 в 00:04
поделиться