2010-05-25 4 views
3

피아노 연주를위한 성능 평가기를 개발해야합니다. 낱장 악보로 생성 된 미디를 기반으로 실제 연주의 미디 (미디 키보드)를 평가해야합니다. 노트 피치, 지속 시간 및 소리 크기에 따라 재생을 평가할 계획입니다. 평가는 악보의 음표와 미디에서의 연주를 비교 한 것입니다.피아노 성능 평가 시각화

하지만이 평가 과정을 어떻게 시각화 할 수 있는지 (즉, 사람이 잘못 된 부분을 보여줄 수 있는지) 알 수 없습니다. 어쩌면 어떤 표기가 잘못되었는지 강조 표시 할 수 있습니다. 그러나 그래픽 형식으로 어떻게 표시 할 수 있습니까? 또는 더 정확하게는 구멍 (음악 악보) 자체에 있습니다. 테이블에 저장된 노트 세부 사항 (피치, 지속 시간) 및 점수 세부 정보 (키 및 박자 기호)가 있으며 Java를 사용하고 있습니다. 그러나 나는이 모든 것을 그래픽 형태로 어떻게 넣을 수 있는지에 대한 단서가 없습니다.

모든 통찰력이 가장 감사하게 받아 들여집니다. 사전 감사

+0

Conrad Albrecht에 연락하는 것이 좋습니다. http://stackoverflow.com/users/287812/conrad-albrecht –

+0

왜 저입니까? :) 사실 나는 Mididev Google 그룹을 중도 화하는 Stephen Hazel의 PianoCheater 비슷한 앱을 알고 있습니다. –

답변

4

당신이 말하는 것은 정말로 음악 표기법을위한 그래픽 diff 도구입니다. 차이점을 표시하는 가장 쉬운 방법은 "올바른"점수 기호 위에 재생 된 메모 (및 나머지 부분) 오버레이를 사용하는 것입니다. 까다로운 부분은 음표가 스타 카토, 마르카토, 테 누토 등으로 연주되는지 (또는 연주되어야하는지)간에 볼륨 차이를 보여주는 것입니다. 예를 들어, 점 위에 점이있는 것은 스타카토로 연주해야하지만, 4 분 음표는 8 개의 음표로 이어지는 8 개의 음표로 해석 될 수 있습니다.

또한 라이브 연주 결과는 quantize이어야합니다. 즉, 인간에 대한 여유를 허용해야합니다. 따로 따로 표기하지 않고 박자 앞이나 뒤에 약간있다. 이 작업을 수행하지 않으면 노트의 유일한 "올바른"해석이 매우 기계적 일뿐만 아니라 귀에 기쁘지 않습니다.

표기법을 그리기하고 표식을 올바른 선이나 공백에 배치하는 것은 그래픽을 그리는 방법을 이해하면 어렵지 않습니다. musical fonts

등 특정 노트 enharmonic을 때 당신은 또한, accidentals을 키 서명을 이해하는 것, 줄기, 휴식 등이 주 기관을 대표하는 영숫자 문자를 사용할 수 있도록하는 사용할 수있다이 작은되지 있습니다 당신이하는 일을 제안하고 있으며, 거기에 이미 많은 소프트웨어가 있습니다. 어쩌면 당신이 원하는 것을 정확히 수행하는 것들이있을 수 있으므로, 코딩을 시작하기 전에 조사하십시오. :) 다양한 work that has already been done을보고 사용할 수있는 것이 있는지 또는 프로젝트에서 내쫓을 수있는 것이 있는지 확인하십시오.

몇 년 전에 QuickTime의 MIDI 구현을 위해 my own 키보드 플레이어/레코더를 만들었으며 여러 가지 문제를 해결해야했습니다. 나는 재미로 그것을했다. 그리고 이었다 (나를 위해 교육 받는다). 그러나 결코 장르의 상업 소프트웨어와 경쟁 할 수 없었다. 사람들이 그것을 즐기기는했지만, 실제로 그것을 유지하고 사람들이 원하는 기능을 추가 할 시간이 없었기 때문에 결국은 포기해야했습니다. 이런 종류의 일은 정말로 많은 일입니다.

+0

고마워요. 그래서 내가해야 할 일이 많이 있습니다. 이 양자화 과정을 pls 설명 할 수 있습니까? 나는 그것을 거기에서 얻지 않았다. 몇 가지 통찰력을 주셔서 감사합니다. 이러한 음악 글꼴을 자바 코드에 통합 할 수 있습니까? 또 다른 문제는이 성능 프로세스를 시각화하기 위해 검색 할 정확한 키워드를 찾는 데 어려움을 겪고 있다는 것입니다. 가능한 키워드는 무엇입니까? – Dolphin

+0

먼저, 도움이된다고 여기에서 응답을 upvote해야한다고 말씀 드리겠습니다. 이렇게하면 시간을내어 반응하는 사람들에게 동기가 부여됩니다. 둘째, 양자화는 실제 연주 된 것을 점수의 완벽한 수학적 표현으로 매핑하는 방법을 "추측하는"방법입니다. 실제 성능은 수학적으로 완벽하지 않습니다. 비트를 예상하거나 지연시키는 것은 "표현"이라고 불리는 것입니다. 필자가 사용하는 소프트웨어의 양자화에 관한 http://www.soundonsound.com/sos/mar06/articles/performertech.htm을 참조하십시오. – Robusto

+0

셋째, "이미 완료된 작업"에 대한 링크를 검색하면 컨셉을 찾을 수 있고 프로세스에 대한 자세한 정보를 얻을 수있는 링크까지 찾을 수 있습니다. – Robusto