AI Tools8분 분량

손짓으로 신시사이저를 조작한다면? ControlAnything이 확인한 것

ControlAnything은 혼합현실에서 새 제스처를 요청하면 기기 연결 코드를 만듭니다. 신시사이저와 짐벌을 다룬 헤드셋 세션에서 이 시제품이 확인한 범위를 살펴봅니다.

K
Ken Jo

신시사이저 위에 손을 들고 손가락 높이에 따라 필터 차단 주파수를 조절해 달라고 헤드셋에 말한다고 상상해 보세요. 손짓이 무엇을 해야 하는지는 이미 알고 있습니다. 어려운 일은 움직이는 손을 실제 노브에 연결하는 것입니다. 악기는 MIDI로 통신하고 헤드셋에는 책상 위 상자만 보인다면 더 그렇습니다.

Bektur Ryskeldiev가 2026년 11월 5일 공개한 사전 논문의 연구 시제품 ControlAnything은 이 통합 작업의 일부를 사용자가 요청하는 순간으로 옮깁니다. 착용자가 Meta Quest 3 화면에서 대상을 고르고 지시하면 MacBook의 에이전트가 커넥터를 작성합니다. 가상 조작 요소와 손 움직임을 읽는 프로그램 중 하나 또는 둘 다를 돌려줄 수 있습니다. 프로젝트는 코드와 시연을 제공하며 데스크톱 시뮬레이션도 포함합니다.

ControlAnything 헤드셋 녹화에 표시된 OP-1 Field 신시사이저용 생성 조작 요소

저자 Bektur Ryskeldiev가 Quest 3로 녹화한 평가 장면에 OP-1 Field용으로 생성한 조작 요소가 보입니다. Telli.sh가 정지 화면의 크기를 조정했습니다. 사전 논문과 원본 프레임 · 프로젝트 영상 MIT 고지

특정 작업에 필요한 조작 수단을 헤드셋이 즉석에서 만든다는 점이 흥미롭습니다. 남는 질문은 실제로 무슨 일이 일어났는지 시스템이 어떻게 아느냐는 것입니다. MIDI 수신 확인, 반응하는 가상 노브, 소리가 달라진 신시사이저는 각각 다른 증거입니다.

기기를 가리키면 요청이 시작됩니다

시제품은 WebXR 클라이언트, 노트북 서버, 코딩 에이전트, 기기에 연결하는 몇 가지 수단을 조합합니다. SAM 3.1이 헤드셋 화면에서 물체 후보에 윤곽선을 그립니다. 손가락을 오므려 하나에 태그를 붙이면 Muse Spark가 어떤 물체인지 추정할 수 있습니다. 논문에서는 이 추정을 MIDI 포트 이름이나 기기 응답과 비교할 수 있는 가설로 다룹니다. 태그는 착용자가 대상을 지칭하는 수단입니다. 노트북은 포트, 브라우저 연결, 키보드 실행 도구를 통해 실제로 조작합니다. ControlAnything 사전 논문 3~4절

대상 선택, 커넥터 생성, 명령 전송, 효과 관찰을 구분한 네 단계

선택한 대상에서 눈이나 귀로 확인할 수 있는 결과까지. Telli.sh 자체 제작.

태그는 수하물 이름표처럼 생각하면 됩니다. 무엇을 옮길지 가리키는 데 유용하지만 이동 경로와 목적지는 따로 확인해야 합니다. 11월 5일 시제품 평가에서 이 구분이 드러납니다. 저자는 모든 요청을 미리 만들어 둔 MacBook 태그에 보냈습니다. 대상이 OP-1 Field 신시사이저나 DJI Osmo Mobile 4 짐벌일 때는 요청에서 기기명을 말했습니다. 따라서 평가에서 확인한 것은 환경이 접근 방법을 이미 알고 있는 기기의 연결입니다. 처음 보는 신시사이저나 짐벌을 화면에서 골라 연결하는 일은 다음 실험의 과제입니다.

시스템은 첫 손짓 전부터 유용한 세부 정보도 갖고 있었습니다. 프로젝트 문서는 MIDI, Bluetooth, 키 입력으로 명령을 보내는 경로를 설명합니다. 보고된 평가 전에 에이전트가 보관한 메모에는 OP-1 포트 이름과 필터 컨트롤러 번호, 짐벌을 움직이는 방법이 이미 있었습니다. 카메라 화면에서 신시사이저처럼 보인다고 판단할 수 있습니다. 어떤 값을 어디에 보내고 허용 범위를 어떻게 지킬지는 미리 확보한 정보가 알려줍니다.

모델은 조작 코드를 한 번 만들고 손 추적 프로그램은 반복 실행됩니다

시제품은 상호작용을 만드는 데 드는 비용과 만들어진 코드를 반복 실행하는 비용을 분리합니다. 음성 요청을 전사하면 에이전트가 커넥터를 작성합니다. 서버는 커넥터가 실행 중인지, 반환된 조작 요소가 모두 선언된 동작에 연결되는지 확인합니다. 결과로 나온 손 추적 프로그램은 프레임마다 손 관절에서 얻은 신호를 읽고 값이나 이벤트를 내보냅니다. 모델은 초기 설정 때 실행됩니다. 사용자가 움직일 때는 헤드셋이 만들어진 프로그램을 실행합니다. 사전 논문 구현 설명

소리나 카메라 구도처럼 연속해서 조절할 때 이 차이가 중요합니다. 언어 모델이 새 값을 매번 판단한다면 프레임마다 느린 판단이 필요해집니다. 작은 프로그램은 손 높이를 매개변수로 바꾸고, 범위를 제한하고, 손을 놓는 이벤트에 반응할 수 있습니다. 영상을 다음 항목으로 넘기는 동작이라면 명확한 손짓을 요구하고, 손이 중립 위치로 돌아올 때까지 다음 입력을 받지 않을 수도 있습니다. 이런 매핑은 이 접근으로 설계할 수 있는 예시이며 시제품에서 측정한 동작과는 구분됩니다.

사전 논문은 준비 상태에 도달한 요청 아홉 건의 설정 시간 중앙값을 32.5초로 보고합니다. 범위는 24.9~57.8초였습니다. 서버가 요청을 처리하기 시작한 시점부터 계산했고 음성 전사 시간은 포함하지 않았습니다. 모델 호출은 설정 시간의 중앙값 기준 89.9%를 차지했습니다. 손을 움직인 시점부터 기기 반응까지 걸린 시간은 이번 세션에서 측정하지 않았다고 저자는 밝힙니다. 사전 논문 결과

이 수치로 유연성을 얻는 데 드는 시간을 가늠할 수 있습니다. 오후 내내 연결 코드를 작성해 리허설 내내 쓰던 작업을 대체한다면 30초는 감수할 만합니다. 기존 리모컨으로 5초면 끝날 일이라면 들일 이유가 줄어듭니다. 한 번만 설정하고 조작 기능을 여러 번 쓰는 작업에 기회가 있습니다.

결과는 다음 개선점도 보여줍니다. 물을 모사하는 비슷한 조작을 요청한 두 건은 새 커넥터를 각각 생성하느라 31.6초와 32.5초가 걸렸습니다. 프롬프트 캐시가 세션 입력 토큰의 91.7%를 처리했지만 이전 커넥터가 다시 쓸 수 있는 조작 수단으로 남지는 않았습니다. 검토한 매핑을 저장하고 착용자가 필요할 때 재사용하도록 하면 다른 부분의 설정 비용을 줄일 수 있습니다. 재사용하는 커넥터가 시험 당시와 같은 기기, 계정, 범위를 전제로 하므로 버전 관리도 중요해집니다.

필터 노브, 짐벌, 브라우저에 필요한 증거가 다릅니다

11월 5일 세션에서는 저자 한 명이 착용자로 참여해 대상 다섯 가지에 요청 열 건을 보냈습니다. 아홉 건이 준비 상태에 도달했고 남은 한 건은 착용자가 중단했습니다. 기술 가능성을 알아보는 탐색 실험입니다. 자유롭게 표현한 요청 중 일부는 이전 목표를 반복했고, 시스템은 기기를 미리 알고 있던 환경을 활용했습니다. 이 숫자는 해당 세션에서 일어난 일입니다. 첫 이용자가 모르는 기기를 연결할 가능성은 따로 측정해야 합니다. 사전 논문 표와 방법

세션 사례생성한 조작 수단동작 성공을 보여주는 증거
OP-1 Field 필터필터 노브 요청에 MIDI로 연결한 조작 요소 두 개를 반환통제된 입력에서 악기 출력이 달라진 녹음 또는 사람이 들은 소리
DJI Osmo Mobile 4손 추적 프로그램과 조작 요소 네 개가 Bluetooth 연결을 통해 짐벌에 도달의도한 이동 범위에서 실제 움직임이나 검증한 위치 수치
Chrome의 Instagram Reels제스처 요청에 손 추적 프로그램과 조작 요소 세 개를 반환해 모의 키 입력을 사용의도한 탭이나 항목만 바뀌고 다른 창은 그대로라는 확인

시스템이 명령을 수락했다고 기록하더라도 물리적 반응은 따로 관찰해야 함을 설명하는 도해

전송 경로의 수신 확인과 실제 효과의 측정은 서로 다른 질문에 답합니다. Telli.sh 자체 제작.

신시사이저를 생각해 봅시다. MIDI에서 형식에 맞는 필터 명령을 보냈더라도 악기가 다르게 반응하는 음색 설정을 쓰거나 MIDI 수신이 꺼져 있을 수 있습니다. 논문은 이전에 메시지 수신이 확인됐지만 수신 설정을 켜기 전까지 소리가 나지 않은 사례를 설명합니다. 같은 로그를 한 번 더 보는 것보다 시험 음을 정해 두고 소리가 실제로 바뀌었는지 기록하는 편이 더 많은 정보를 줍니다.

짐벌에서도 같은 교훈을 얻습니다. 세션에서 연결 장치는 중지와 해제 명령을 포함해 회전 관련 성공 응답 889건을 기록했습니다. 여러 동작이 이어지는 동안 전송 경로가 명령을 받아들였다는 증거입니다. 로그에는 신뢰할 수 있는 각도 값이 없었습니다. 후속 실험에서는 안전한 목표 각도를 정하고 요청한 각도를 영상이나 기준 표시와 비교할 수 있습니다. 그래야 움직임이 정확하고 반복 가능하며 의도한 범위를 지키는지 알 수 있습니다.

키보드 조작에서는 대상 식별도 필요합니다. 운영체제가 키 입력을 받아도 다른 창으로 전달될 수 있습니다. 브라우저 테스트에서는 활성 탭을 확인하고, 예상한 내용이 바뀌고, 다른 창에는 영향이 없는지 검증해야 합니다. 커넥터 인터페이스가 추상적일수록 어떤 상태를 완료로 볼지 명확히 정의하는 편이 유용합니다.

손짓을 믿고 쓰려면 중지가 먼저 작동해야 합니다

ControlAnything의 중지 경로는 모델과 독립적으로 동작합니다. 착용자는 생성 중에 멈추거나, 사용 중 양손 손바닥을 내밀거나, 손목 메뉴의 조작 요소를 사용할 수 있습니다. 호스트는 커넥터를 종료하고 짐벌을 멈추거나 MIDI 상태를 해제하는 등 중립 상태로 돌아가는 명령을 보낼 수 있습니다. 구현은 헤드셋의 손 추적 프로그램을 권한이 제한된 실행 환경에 두고 배포 전에 합성 프레임 480개로 동작을 확인합니다. 프로그램이 내보낼 수 있는 동작과 범위도 선언한 값으로 제한합니다. 사전 논문 안전 및 중지 절차

노트북의 커넥터는 다른 위치에 있습니다. 논문에 따르면 노트북 사용자 권한으로 실행하는 일반 Node 프로세스이며, 이 시제품에서는 생성한 프로세스를 격리하지 않습니다. SDK는 지원 경로를 통과하는 명령을 제한할 수 있습니다. 일반 코드를 실행하는 커넥터는 실행 계정의 권한을 갖습니다. 운영에 쓸 만큼 신뢰할 수 있는 버전이라면 운영체제에서 커넥터 권한을 제어하고 요청에 필요한 기기만 접근하도록 제한해야 합니다.

움직이는 장치 두 개가 설치된 공간을 떠올려 보세요. 조작 화면에 하나만 표시되면 안심할 수 있지만 커넥터가 두 번째도 찾아 움직일 수 있는지 확인해야 합니다. 안전한 시연에서는 시험 대상만 접근할 수 있게 합니다. 중지 동작을 별도로 확인하고, 운영자가 물러설 공간을 두고, 추적을 잃거나 기기 연결이 끊기면 어떤 일이 생기는지 보여줍니다.

주변을 읽는 생성 코드에도 같은 구분이 적용됩니다. 시제품은 카메라 프레임이나 도구 응답의 텍스트를 데이터로 취급하라고 모델에 지시합니다. 지시는 모델 행동에 영향을 줄 수 있습니다. 실수가 어떤 대상에 영향을 줄 수 있는지는 프로세스 권한과 접근 가능한 연결 경로의 제한이 정합니다. 실제 기기나 사용 중인 계정을 노트북에 연결하기 전에 두 가지를 별도로 확인해야 합니다.

시뮬레이션부터 시작해 시험 범위를 작게 잡습니다

프로젝트 README는 Node 22.12 이상과 Chrome을 쓰는 데스크톱 시뮬레이션을 설명합니다. API 키가 없으면 서버가 화면에 명확히 표시한 테스트 모드에서 기록된 응답을 재생한다고 설명합니다. 헤드셋, 모델 호출, 실제 장비 없이 태그를 붙인 대상에서 생성 노브가 나오기까지 살펴볼 수 있습니다. 이 시험의 범위도 분명합니다. 기록된 응답으로는 이미 알려진 경로를 시연할 수 있습니다. 대상, 손짓, 모델 응답을 바꿀 때부터 실시간 평가가 시작됩니다. ControlAnything 시연 안내

  1. 저장소의 안내를 읽고 폐기 가능한 환경에서 문서에 나온 시뮬레이션을 실행합니다. 시뮬레이터와 데스크톱 헤드셋 에뮬레이터를 열고 가상 신시사이저를 실행하는 모의 노트북에 태그를 붙입니다.
  2. 제공된 노브 요청을 선택하고 테스트 모드 표시가 보이는지 확인합니다. UI가 선택한 대상을 어떻게 보여주고 생성한 조작 요소는 언제 나타나는지 기록합니다.
  3. 가상 노브를 움직여 모의 대상의 변화가 보이는지 확인하고, 문서에 나온 중지 동작을 시험합니다. UI에서 본 것과 커넥터 로그 내용을 구분합니다.
  4. 이후 실제 장비로 시연한다면 되돌릴 수 있는 조작을 가진 위험이 낮은 기기를 고릅니다. 명령을 보내기 전에 기대 결과를 기록합니다. 변화를 보거나 듣고 기기를 멈추는 별도의 수단을 마련합니다.

워크숍이라면 실제 서비스를 열거나 호스트 컴퓨터에 키 입력을 보내는 기능보다 가상 시각 신시사이저부터 시작합니다. README는 Instagram Reels 경로와 시뮬레이션 예시를 명확히 구분합니다. 매핑 방법을 이해하는 것이 목적이라면 범위가 제한된 로컬 대상이 관찰하기 좋습니다.

실제 장비로 넘어가면 설정 시간과 조작 품질을 따로 측정합니다. 준비 상태까지 시간을 재세요. 손짓에서 반응까지 걸리는 시간, 손이 추적 범위를 벗어났을 때 발생하는 변화, 이용자가 마음을 바꾸고 멈출 때의 동작을 살핍니다. 화면을 처음 본 사람이 도움 없이 올바른 대상을 고를 수 있는지도 더 긴 연구에서 확인할 만한 질문입니다.

조작 수단을 만들고 실제로 작동했는지 확인할 수 있어야 합니다

ControlAnything의 가장 흥미로운 아이디어는 전용 화면을 미리 만들지 않고 물리적 상호작용을 말로 설명할 수 있게 한다는 점입니다. 평가는 연결 방법을 아는 기기 모음과 헤드셋 한 대에서 이 아이디어가 어떻게 동작하는지 보여줍니다. 반복해서 쓰는 조작 수단에는 연결 성공 이상의 조건이 필요합니다. 기기를 정확히 식별하고 권한을 제한하고, 착용자가 결과를 신뢰할 수 있을 만큼 동작을 명확히 보여줘야 합니다.

출처


시제품 시험에서 남긴 메모와 결정을 나중에 쉽게 찾으려면 Telli.sh 계정을 만들어 보세요.


← 블로그로 돌아가기