2012-02-02 3 views
0

Я пытаюсь сделать программу, которая грубо делает следующее:Какой язык для управления звуком

produceBeepSound(double loudness); 

я могу сделать такую ​​вещь в Java? Мне нужно, чтобы это было очень точно. Как насчет Matlab? Какой язык лучше всего подходит для этой задачи. Язык должен иметь компонент GUI.

+0

вы можете сделать это с помощью любого из перечисленных вами языков. Python, вероятно, будет самым простым: http://stackoverflow.com/questions/307305/play-a-sound-with-python –

+1

См. [Beeper] (http://stackoverflow.com/a/8632160/418556). –

ответ

5

Вы можете использовать Java Media Framework для производства звука, но это не обязательно, потому что вы можете работать с пакетом javax.sound.sampled и интегрировать его с Java Swing.

В python взгляните на библиотеку pyaudio, а также взгляните на PythonInMusic, у нее есть целая коллекция различных A/V модулей.

Также взгляните на Beeper.

Это программа GUI, используя только J2SE классы, которые могут производить звук конфигурируемых длительности тона &, и (с небольшим количеством тонкой настройки) на различных сырьевых объемов

Благодар @Андрю снова поправил меня.

+0

JMF не требуется для создания звука на Java с версии 1.3 и введения пакета 'javax.sound.sampled'. Пожалуйста, со временем. ;) Мой первый комментарий ссылается на код с графическим интерфейсом, используя * только классы J2SE *, которые могут создавать звук настраиваемого тона и продолжительности и (с небольшим количеством настроек) на разных исходных томах. –

+0

@AndrewThompson: thanks :) – RanRag

+0

Отличное редактирование, но лучше было бы квалифицировать «не используется», чтобы «не было * необходимо» для работы с * сэмплированным звуком *. Причина пояснения заключается в том, что я использовал JMF в течение последних нескольких месяцев (в 1,6 JRE) для создания файлов MOV из JPEG (и я не хочу чувствовать себя динозавром для использования отказавшего API). –

0

вы можете попробовать Csound. Существует API для java.

Вы также должны проверить эту вики-страницу: http://en.wikipedia.org/wiki/Comparison_of_audio_synthesis_environments.

Но если вам нужно Somthing просто вы можете попробовать:

java.awt.Toolkit.beep(); 

или

System.out.println((char)7); 

Но вы не будете иметь регулятор громкости.

Вероятно, мой любимый подход был бы HTML 5 аудио апи - https://wiki.mozilla.org/Audio_Data_API#Writing_Audio

0

на окнах фактически любой язык может излучать звук только вывод символов ASCII «\ 007». Here - хорошая статья о том, как это сделать в java.

1

В MATLAB, просто воспользуйтесь функцией SOUND:

http://www.mathworks.com/help/techdoc/ref/sound.html

Вы можете указать вектор, который представляет ваш сигнал, а амплитуда на этом векторе будет определять громкость, так что его на самом простом масштабировании.

+0

Фактически вы можете даже контролировать частоту дискретизации и глубину бита с помощью этой функции. – eternaln00b

+0

каждый раз, когда я пытаюсь использовать функцию «звук», это говорит мне, что у меня слишком много аргументов. он, похоже, не работает ... – CodeGuy

+0

Если функция не «лежит» ...:), .. можете ли вы опубликовать код, который показывает, как вы вызываете SOUND? – eternaln00b

Смежные вопросы