본문 바로가기
Dev/Unity(C#)

유니티에서 MIDI(미디) 다루기

by E.Clone 2023. 12. 6.

글 작성에 앞서

한국어 검색으로는 자료가 너무 없었기 때문에 계속 탐색중. 현재진행형이다.

DryWetMIDI

검색했을 때 가장 눈에 띄었던 건 무료 에셋인 DryWetMIDI 에 대한 내용이다.

에셋을 다운로드 받아보면 몇개의 파일과 DEMO씬으로 이루어져 있다.

DryWetMIDI의 구성

DemoScript를 통해 대략 어떤 느낌으로 사용하면 될지 알 수 있고, [깃허브 README.md]나 [Documentation]에서 자세한 내용을 확인 할 수 있다.

당장 확인한 내용은, DemoScene에서 제공하는 DemoScript를 그대로 사용하면 미디파일을 재생하며 콘솔에 음계를 로그로 보여주는데, 음계 로그와 동시에 오브젝트를 생성하려고 시도하면 오브젝트 생성은 메인 스레드에서만 가능하다는 에러를 보여주는걸로 보아 제대로 활용하기 위해선 다른 접근 방법을 생각해야 할 것 같다.

또한 자세히는 모르겠지만, 미디재생을 위해 할당받은 오디오 출력 채널을 도중 에러로 인해 Release 작업 없이 종료되면 오디오 채널이 계속 점유중인 채로 남게 되어 프로그램을 껐다 켜야하는 수고가 필요했다. 다른 방법이 있을 것 같긴 한데 초심자라 잘 모르겠다. 그리고 그 외 여러가지 테스트를 해 보며 충돌이 나 유니티가 종료되는 일이 굉장히 빈번했다.

공식문서를 자세히 보면서 익혀나가면 좋을 것 같다.

Unity Midi Visualizer Tutorial (유튜브)

https://www.youtube.com/watch?v=3PRifmlwi0I

Midi 인풋을 받아오는 MidiJack 이라는 라이브러리가 있다는 것은 들었지만, 내가 본 이 영상에서는 아무래도 라이브러리를 사용하지 않는 것 같아 참고가 될까 하여 가져왔다.

영상 제작자는 미디 키보드를 연결하여, 계이름에 맞는 오브젝트를 생성하는 스크립트를 작성한 것처럼 보인다.

일단 메모만 해 두고 시간이되면 본 후 이 글에 정리 해 볼것.

How to make a Rhythm Game In Unity (using MIDI) 

https://www.youtube.com/watch?v=ev0HsmgLScg

2023.12.07

괜찮은 영상을 찾은 것 같다. 바로 따라 해 봐야겠다. DryWetMIDI를 이용하여 리듬게임을 만드는 방법을 설명한다.

 

반응형