안녕!
피아노 치는 빌런이야.
매번 올 때마다 피아노 서치하고 정보 찾고 정보 내놓고 하면서 살고있다가
오늘에서야 드디어 전자키보드 -> 키보드로 키매핑을 하는 방법을 찾아냈어
우선 영상자료를 한 번씩 봐줘
위의 영상처럼 키 매핑을 할 시
실제 전자키보드를 치면서 자연스러운 연주가 가능해져
물론 소리 반응은 직접 치는 피아노 속도보다 0.5~1초정도씩 오차가 나기 때문에
그에 대한 적응은 직접 해야할거야.
이제 중요한 키 매핑이야.
나도 위 영상의 제작자가 써놓은 설명글을 보고 작업해서
사실상 저 사람이 써놓은 방법을 한글로 옮겨적는 것 뿐이긴 한데,
최대한 알아듣기 쉽게 옮겨볼게.
우선 필요한 준비물이 3가지가 있어.
첫 번째는 USB 드라이버가 설치된 전자피아노,
두 번째는 Bome Midi Translator, (https://www.bome.com/products/miditranslator)
그리고 마지막으론 오토핫키야. (https://autohotkey.com)
첫 번째는 당연히.. 피아노를 쳐야하니까 필요한거고,
두 번째는 피아노로 특정 음을 연주할 시, 그걸 다른 키, 혹은 다른 음 등 여러가지로 출력시키는 프로그램이야.
아쉽게도 Trial 버전은 한 번 켜놓을 때마다 20분씩밖에 사용을 못 한다는 것 같다.
세 번째인 오토핫키는 Bome 프로그램이 Right Shift를 인식을 못 해서 사용하는건데, 이건 조금 있다가 알려줄게.
우선 Bome이야.
처음 프로그램을 실행하면 이런 창이 뜨는데, 신경쓸 필요 없어.
Trial 버전은 20분동안만 켜놓을 수 있고, 더 사용하려면 프로그램을 껐다 키라는 말이야.
Cancel 버튼 왼쪽에 있는 숫자가 확인 으로 바뀔때까지 기다렸다가, 확인을 누르면 돼.
프로그램을 켰을 때 나오는 화면이야.
내 화면은 미리 만들어둔 프리셋때문에 뭔가 좀 많아.
우리가 만들어야하는 건 위처럼 정리된 프리셋이고.. 음
좀 귀찮을거야.
우선 왼쪽에, Add Preset... 버튼을 눌러줘.
그 다음에는, Add Translator... 라는 버튼을 눌러줘.
그러면 프로그램 오른쪽에 저런 화면이 나타날거야.
여기서부터가 많이 중요하고, 조금 노가다작업이 심해질거야.
하나하나 추가하는 Translator의 이름은 알아서들 바꾸도록 하고, (선택된 상태로 F2를 누르면 이름을 바꿀 수 있어.)
우선 Incoming부터 설정해보자.
Incoming은 너가 피아노로 입력하는 음을 설정하는 곳이야. 입력 장치라고 생각하면 편해.
위의 2개를 각각 MIDI Message, Note On으로 바꿔주고,
Channel은 딱히 건드리지 말아줘.
Note는 너가 누르는 버튼을 설정하는거야. 만약 C0 (옥타브 0의 도 음)을 연주하겠다면 C0으로 바꿔서 선택해두면 돼.
Velocity는 입력을 받아들일 최소한의 소리 크기를 설정하는거야. 100으로 설정해뒀다면, 100 이상의 세기로 피아노를 쳐야만 그 음이 입력이 돼.
아래의 다른것들은 중요하지 않으니 넘기고, 아래 사진을 봐줘.
예전에 내가 올린, 피아노 시뮬방 쉽게 치는 법이라는 글을 본 사람이 있을 거라고 생각해.
거기서 얘기했던 것 처럼, 피아노 키를 위와 같이 바꿔놓아야 하고.
우선 피아노 시뮬레이션 룸의 피아노를 살펴보자!
이 방의 피아노는 총 5개의 옥타브와, C5음으로 이루어져있는
총 61키로 이루어진 키보드야.
우리가 보통 생각하는 피아노, 키보드는 7개의 옥타브와 몇몇 다른 음으로 총 88개의 건반으로 이루어져있고
시뮬레이션 룸의 피아노보다 2개 옥타브가 더 많아.
그렇기 때문에, 혹시 88개음 키보드를 사용하는 갤럼들은
키보드 기준 C1~C6음을 사용하면 돼.
그러니까, 만약 시뮬레이션 방에서 가장 낮은 음인 C0 (키보드 Z)를 연주하고 싶으면,
피아노 기준 왼쪽에서 2번째 옥타브부터, 오른쪽에서 1번째 옥타브의 C음까지 키매핑을 하면 되는거지.
솔직히 이제 더 이상 크게 알려줄 만한 건 없어. 앞으로는 단순 노가다 작업이거든.
우선 Incoming에서는,
Note 에는 너가 연주하게 될 음을 입력해주면 돼.
만약 C4를 연주하고 싶다면, 60번째에 있는 C4를 넣어주면 되는 식이야.
Velocity는 any velocity를 선택해서, 피아노를 살살 쳐도 전부 인식이 되도록 해주자.
이런 방식으로 C1~C6까지 총 61개 키 매핑을 전부 해줘.
그 다음은 Outgiong, 즉 출력을 만지자.
우선 맨 위의 선택창을 Key Stroke로 놓고, 아래 action에서는 Text를 선택해줘.
그 다음, 출력하고싶은 키를 입력해서 넣어주면 돼.
대소문자는 상관이 없으니까 굳이 나처럼 대문자로 할 필요는 없어.
만약 피아노로 C2를 연주한다 라고 Incoming에서 설정해뒀다면,
시뮬레이션 룸에서 C2음에 대응하는 키인 U를 설정해주면 돼.
이것도 이런 방식으로 C1~C6까지 총 61개 키 매핑을 전부 해주면 되는거야.
이 작업을 모두 완료했다면, 이제 Incoming에서 선택해둔 음을 피아노로 연주하면, Outgoing에 설정해둔 타자가 입력될 거야.
근데 한 가지 문제가 있어!
Bome은 Right Shift를 인식하지 못해.
이 때문에 키 매핑을 다 한 사람이라면 마지막에 F5음이 눌리지 않는다는 걸 알 수 있을거야.
그럼 이거는 어떻게 할까?
위에서 오토핫키를 알려줬었지? 이제 그거를 사용할 때가 된 거야.
오토 핫키를 우선 설치해주고, 바탕화면, 혹은 어느 폴더에든
새로 만들기 -> AutoHotkey Script를 만들어 줘.
파일이 만들어지면 그 파일을 오른쪽 클릭해서,
Edit Script를 눌러줘.
여기서부터는 프로그래밍 비슷해져서 내가 잘 모르는 구역이야.
간단히 방식만 알려줄게.
위처럼 스크립트를 작성해서 넣어주면 돼.
Send, Sleep 앞에 붙은 띄어쓰기는 총 4개고.
설명하자면, f::는 "F키를 누르면," 이라는 뜻이고
아래의 Send { 뭐시기 3줄은 "RShift를 눌렀다가, 뗀다" 라는 뜻이야.
위에서 Right Shift 키매핑을 못했던 거를,
다른 키 (미지수) 로 매핑을 해둔 뒤에
위의 오토핫키에서 f::를 (미지수):: 로 수정하고 저장해주면 돼.
그리고 만든 오토핫키 파일을 더블클릭해서 실행해주고,
Bome으로 만든 걸 켜두면 완성이야!
이제 피아노로 시뮬방 피아노를 칠 수 있어!
근데 지금 VRChat 베타버전에 피아노 인식기능이 추가가 되어서,
사실 베타릴리즈가 알파로 올라오고, 피아노 맵이 수정되어서 업로드되면
필요없어질 일이기는 해.
근데 솔까 베타릴리즈 언제나올지도 모르는거
미리 피아노로 치고있어도 좋을것같다 생각해서 몇주 몇달동안 찾아봤고
드디어 성공해냈네.
긴 글 읽어줘서 고마워! 뒤로 갈수록 디게 대충대충 되는거같은데 ㄹㅇ 존나귀찮아서 개대충썼고
념글 가고싶다. 피아노 빌런들 많이 보게.