2010-06-07 4 views
10

저는 컴퓨터에 특정 주파수를 정수로 제공하여 아주 간단하고 직선적 인 음을 연주하고 싶습니다. 그리고 거기에서 음을 길게 또는 짧게 연주하는 방법을 알아낼 수 있습니다. 실제 사운드 카드에서 반드시 나오지 않아도됩니다. 내장 스피커로 생성되어 출력되면 괜찮습니다.Java에서 단일 주파수를 재생하는 간단한 방법은 무엇입니까?

Java가 포함되어있는 midi 라이브러리를 살펴 보았습니다.이 라이브러리는 내가하고 싶은 것 이상입니다. 이것은 단지 아주 기본적인 것이어야합니다.

답변

2

exampleequal tempered scale을 구성하고 재생합니다.

+0

이것은 내가 원하는 것보다 훨씬 많은 코드이지만, 매우 견고하고, 내가 찾은 다른 것들 중에서 가장 짧은 것입니다. 감사! – nathas

0

내가 아는 바로는 Java의 상용구 코드가 없으면이를 수행 할 방법이 없다는 것입니다. 가장 간단한 API는 아마도 Applet 클래스에 의해 제공 될 것입니다. (애플릿이 아닌 다른 사람들도 사용할 수 있습니다) static newAudioClip (URL url) 메소드의 형태로 제공 될 것입니다. 그러나 미리 정의 된 오디오 클립을 재생할 수 있으며 오디오를 거의 제어 할 수 없습니다. 작고 미리 정의 된 클립 세트에서 오디오를 재생하면 충분합니다 (메모를 포함하는 일련의 wav 파일을 가지고 이러한 방식으로 재생할 수 있으며 원하는 경우 AudioClip을 반복 할 수 있음).

이외에도 midi 및 sampled 오디오 API는 훨씬 강력하지만 유연성은 가격대로 제공됩니다. 설정하는 데 훨씬 많은 코드가 필요합니다.

7

JFugue을 살펴보세요. 몇 가지 기본 기능을 수행하는 것은 매우 쉽습니다. 나중에 확장하려는 경우 기능이 있습니다.

+2

또한 JFugue의 MicrotoneHelper 클래스를 사용하여 특정 주파수 (헤르쯔)를 문자에 할당 한 다음 해당 문자를 음표 연주의 음표로 사용할 수 있습니다. –

+0

오, 그게 새로운가요? 나는 아직 그걸 가지고 놀지 못했다. (/ 나 새로운 버전을 다운로드 ...) –

관련 문제