소리꽃 KeyBloom TIL 33
다른 집에서 디지털 피아노를 노트북에 USB로 바로 붙였다. 평소 집에서 쓰던 MIDI 케이블과 오디오 인터페이스가 없는 자리였다.
잘 골라 주던 것이 발목을 잡았다
건반을 치니 화면은 제대로 반응하는데 소리가 노트북이 아니라 피아노에서 났다. 노트북 스피커로 돌릴 방법이 앱에 없었다.
앱은 저지연 드라이버(ASIO — 소리를 짧은 지연으로 내보내는 윈도우용 오디오 드라이버 규격)가 깔려 있으면 그걸 먼저 쓰고, 그중에서도 이름에 USB가 들어간 장치를 고르게 돼 있었다. 집에서 오디오 인터페이스를 쓰려고 넣은 규칙이다. 인터페이스는 지금 없는데 그 드라이버는 노트북에 남아 있었고, 거기에 피아노를 USB로 꽂으니 피아노가 그 규칙에 딱 걸렸다.
자동으로 고르는 것 자체는 좋다. 대부분의 자리에서 맞고, 사용자가 장치 이름을 몰라도 소리가 난다. 문제는 자동이 틀렸을 때 손쓸 데가 없다는 것이었다. 자동은 흔한 경우를 맞히려고 만든 규칙이라 흔하지 않은 자리에서 틀리는데, 정작 그런 자리가 사용자가 당황하는 자리다.
그래서 자동을 없애지 않고 고를 수 있게만 했다. 기본은 그대로 자동이고, 목록에서 다른 장치를 고르면 그걸 쓴다. 자동이 맞는 사람은 아무것도 안 만져도 되고, 틀린 사람은 빠져나갈 길이 생긴다.
설정이 흩어져 있어서 바꿀 수가 없었다
고칠 자리를 찾다 보니 더 이상한 게 있었다. MIDI 입력 목록은 실시간 연주 섹션에 있었고, 그 섹션은 실시간 모드로 들어가야 보였다. 소리 출력은 아예 고를 수가 없었다. 장비를 바꾼 사람이 정작 설정을 한 화면에서 볼 수 없었다.
설정은 기능별로 묶기 쉽다. 입력은 연주 기능이니 연주 섹션에, 출력은 재생 기능이니 재생 설정에. 만드는 쪽에서는 자연스러운 분류다.
그런데 사용자는 기능 단위로 설정을 바꾸지 않는다. 장소가 바뀌면 입력도 출력도 같이 바뀐다. 그래서 「같이 바뀌는 것끼리」 모으는 게 맞다. 입력·출력·지연 표시를 한 섹션에 넣고 이름을 「장치 설정」으로 붙였다. 연주 중에 만지는 것(볼륨, 출력 창)만 연주 섹션에 남겼다.
22밀리초는 장비로 푸는 문제로 남겼다
출력을 노트북 스피커로 돌리니 지연이 22밀리초였다. 인터페이스를 쓸 때는 6밀리초다. 소리가 늦게 나는 만큼 건반과 화면이 어긋나 보인다.
이걸 소프트웨어로 더 줄일 수도 있다. 다만 그러려면 오디오가 흐르는 길을 더 건드려야 하고, 잘 돌던 것이 기기마다 다르게 깨질 위험이 붙는다. 반면 지연이 정말 거슬리는 사람은 대개 인터페이스를 이미 갖고 있거나 살 수 있다.
그래서 여기까지를 소프트웨어 몫으로 정했다. 고를 수 있게 해 주고, 지금 지연이 몇 밀리초인지 화면에 보여 주고, 더 낮추려면 인터페이스를 쓰라고 안내한다. 제품이 모든 조건을 혼자 떠안을 필요는 없다. 대신 「여기부터는 장비 문제」라는 걸 사용자가 알 수 있게 숫자로 보여 주는 것까지가 제품 몫이다.
요약
- 자동으로 잘 고르는 것과 사람이 고칠 수 있는 것은 다른 문제다. 자동은 두되 뒤집을 길을 같이 둔다
- 자동 규칙은 흔한 경우를 맞히려고 만든 것이라 흔하지 않은 자리에서 틀린다. 그 자리가 곧 사용자가 당황하는 자리다
- 설정은 기능별이 아니라 같이 바뀌는 단위로 모은다. 장소가 바뀌면 입력과 출력은 같이 바뀐다
- 소프트웨어가 어디까지 책임질지 선을 긋는다. 대신 선 너머는 숫자로 보여 줘서 사용자가 판단할 수 있게 한다