2008-09-27 7 views
13

저는 음악에 중점을 둔 프로젝트에 대해 많이 생각해 왔습니다. 게임 같은 종류 ... 스튜디오 워크 스테이션 (FL Studio, Reason)과 비슷합니다.Java 용 소프트웨어 신디 라이브러리

"Guitar Hero"와 같지만 캔트 트랙이없는 것이 가장 좋습니다. 모든 원본 음악 - 즉석에서 당신이 작곡 한 - 그러나 소프트웨어는 음악 이론에 대한 지식 (일부 감독 학습 알고리즘)을 사용하여 자신의 의견이 훌륭한 것으로 변하는 지 확인합니다.

조금 어리석은 소리가 들리지만 그곳에는 설명이 있습니다. 흥미로운 측면 프로젝트를 만들 것이라고 생각합니다.

아무튼, 저는 실제 오디오를 생성하기위한 Java 라이브러리를 찾고 있습니다. sourceforge를 둘러보고, 무수한 소프트웨어 신디사이저가 있으며 선택할 방법이 없습니다.

필자의 최우선 과제는 구성 가능한 매개 변수가있는 매우 풍부하고 계층화 된 질감의 신스입니다. 어쿠스틱 악기의 에뮬레이션은 중요하지 않습니다.

두 번째 우선 순위는 GUI가 전혀 포함되지 않은 상태에서 엄격하게 라이브러리로 사용하는 것이 간단해야한다는 것입니다. (정말 놀라운 출력을 가진 신스가 있지만 GUI와 밀접하게 결합 된 경우 오디오 부분을 응용 프로그램에서 추출하는 것을 고려해 볼 수 있습니다. 그러나 멋지게 포함 된 라이브러리로 시작하는 것이 좋습니다.)

독립형 신디사이저에 MIDI를 보낼 수는 있지만 실제로 신디사이저 코드를 읽고 약간의 DSP를 배우는 것은 멋지다고 생각합니다.

제안 사항?

오, 그래, 나는 윈도우에있어, posix 전용 물건은 가지마.

감사합니다.

답변

7

JFugue을 확인 했습니까? 이것은 "MIDI의 복잡성없이 음악을 프로그래밍 할 수있는 오픈 소스 Java API"입니다.

추가 정보 : 찾은 JFugue documentation (pdf)에 언급 된 다른 자원의 몇 :

  • Audio Synthesis Engine Project : 자바의 MIDI 신디사이저의 오픈 소스 버전은

  • Gervill : 오픈 소스 소프트웨어 신디사이저 A와 생성 오디오 합성 엔진 프로젝트 제안서

+0

이봐, 나는 그 문서를 썼다! 어제이 질문을 보았 더라면 오디오 합성 엔진 프로젝트에서 코드를 빌려 올 수도 있습니다. –

3

그래, 몇 년 전 JFugue에 주목했다. 그것은 흥미로운 컴퓨터/음악 책갈피 내 목록입니다 :

http://delicious.com/BenjiSmith/computermusic http://delicious.com/BenjiSmith/programming.java.libraries.music

그러나 JFugue는 .... 모든 음악 자체 ... 멜로디, 하모니, 리듬 등의 구조에 대한

입니다

내가 지금 찾고있는 것은 신디사이저뿐입니다. 이 같은...

Synth s = new Synth(); 
Instrument i = s.getInstrument("Robot Bass"); 
i.makeAwesome(true); 

그리고 나는 MIDI 스트림으로 내 이벤트를 보내드립니다 (또는 신디사이저 라이브러리가 제공하는 어떤 제어 API로).

+0

링크를 제공해 주셔서 감사합니다. 나는 자바 추적기를 만드는 아이디어를 가지고 놀고 있는데, 이것들은 틀림없이 편리 할 것이다. – Oddmund

0

minim은 자바 신스가 아니지만 프로세싱 라이브러리이며 바닐라 자바에서도 사용하기 쉽습니다.

1

Clojure가 허용되는 옵션 (JVM에서 실행되고 Java와 쉽게 통합 됨) 인 경우 Overtone을 확인할 가치가 있습니다.

이 엔진은 SuperCollider를 합성 엔진으로 사용하지만 멋진 DSL 및 대화식 프로그래밍 환경에서이 엔진을 모두 포함합니다.