2012-05-27 3 views
1

JAVA로 실시간 드럼 작곡 어플리케이션을 개발 중입니다. 내가 반박하려는 주요 문제는 음표의 리듬 가치가 무엇인지 결정하는 것입니다. 100bpm의 메트로놈에서 32 번째 음까지 고려 중이므로 정확성 문제가 있습니다. 이는 75ms의 음표 사이의 간격을 제공합니다. 나는 시간 세그먼트를 고려하고 리드미컬 한 값을 할당하는 이론 접근법이 모든 bpm 또는 시간 간격으로 확장 될 수 있다고 100 % 확신하지는 않습니다. 연주의 인간적 요소를 고려하여 가능하다고 생각하십니까? 나는 이것이 비슷한 애플 리케이션을 개발 한 사람들을위한 매우 구체적/경험적 질문이라고 생각한다.미디 입력의 실시간 파싱 - 리듬 분화

+1

훌륭한 연주자는 32 일이나 심지어는 더 빠른 템포에서도 리듬을 놓치지 않을 것입니다. (그러나 이것은 좋은 연주자입니다 :) 반면에 Java는 실시간 타이밍에 민감한 작업에는 적합하지 않습니다. 주어진 보장은 없습니다. 자바의 각 미디 이벤트 업스트림을 타임 스탬프 할 수 없다면이 작업을 안정적으로 수행 할 수 없습니다. –

답변

1

표준 Java는 실시간 작업에 적합한 언어가 아니며, 타이밍의 정확성이 중요 할 경우 Java를 직접 (최소한) 사용하면 안됩니다. 특히 가비지 콜렉션의 비 결정적 동작은 실시간 애플리케이션의 Java 측면에서 문제를 복잡하게합니다.

+0

CLAM을 사용하여 프로젝트를 c/C++ 환경으로 옮길 것을 고려 중입니다. 번역 할 작업이 있기 때문에 JAVA에 문제가 있는지 확인해야합니다 (매우 나쁜 표현입니다!). –

+0

당신이 필요로하는 타이밍 정확성/결정성에 대해서, 가능하다면 Java가 아닌 C/C++ 같은 것이 될 것입니다. –