2012-04-23 1 views
2

저는 현재 CalArts에 음악 기술 전공으로 참여하고 있습니다. 나는 현재 내가 찔 렸던 아이디어를 생각해 보았습니다.하지만 좀 더 복잡해졌습니다. 이 작업을 수행하는 더 쉬운 방법이 있다는 것을 알고 있지만, 가능한 한 할 수 있기를 원합니다. 아이디어는 premade 노드 채팅 서버를 사용하거나 직접 작성하여 ChucK (Princeton에서 개발 된 프로그래밍 언어)에 연결할 수 있다는 것입니다. 버튼을 누르거나 리턴이 오면 ChucK에 신호를 보내고 "Sndbuf"기능을 통해 소리를 내도록 지시합니다.소리를 내기 위해 노드 채팅 서버와 ChucK를 연결하십시오.

내 문제는 ChucK가 C/C++을 기반으로하고 Node가 Javascript 기반이라는 것입니다. 나는 어떻게 내가 두 언어가 의사 소통을 할 수 있는지 잘 모르겠다. ChucK는 웹 서버 요청을 포트에서 수신 할 수있는 기능을 가지고 있지만 TCP/IP 전문가는 아닙니다.

이 중 일부는 존재하지 않을 수도 있고 많은 것을 직접 작성해야 할 수도 있음을 알고 있습니다. "그것은 프레임 워크에서 서버에 이르기까지 다양합니다. 서로 의사 소통을하는 방법에 대한 조언은 대단히 감사하겠습니다.

+0

ChucK가 표준 TCP 소켓을 사용자에게 노출시키지 않으면 임의의 채팅 서버와 통합하는 데 큰 어려움이 있습니다. (그리고 그들은 ChucK를 사용하는 사람들을 어디에서나 납득시킬 수있는 큰 어려움을 겪을 것입니다 - 현대적인 문제에 사용될 수 있도록 TCP 소켓을 노출하는 것이 _has_입니다.) – sarnold

+0

빠른 답장을 보내 주셔서 감사합니다. 난 그저 WebSocket의 API를 살펴 보았습니다. 나는 쓰는 것보다 더 바느질이 될 것처럼 보인다. 그리고 네, 그것은 TCP 소켓을 사용자에게 노출시킵니다. 따라서 WebSockets에서 ChucK 로의 아웃 바운드 요청을 스티칭해야합니다. 들어오는 연결을 수신 대기합니다. – Xspence

+0

_browsers_가 없으므로 일반 소켓을 사용하여 WebSocket을 피할 수 있습니다. – sarnold

답변

3

ChucK는 웹 서버 요청에 대해 포트에서 수신 대기하지만 TCP/IP 전문가는 아닙니다.

어? ChucK는 기본적으로 OSC와 MIDI를 지원하지만 원시 TCP 소켓을 노출하는 ChucK의 예는 본 적이 없습니다. 그것을 할 수있는 방법이있다하더라도, 나는 그것을 알지 못한다. ChucK와 손으로 메시지를 분석하려고하지 않는다. ChucK의 문자열 조작 능력은 약하다. 대부분 당신이 원하는 것은 ChucK보다 JavaScript로 들어오는 사용자 요청을 조작하는 것이 훨씬 쉽기 때문에 애플리케이션 계층에서 websocket 요청을 OSC로 변환하도록하는 것입니다.

노드의 OSC 라이브러리가 여기에있다 : https://github.com/termie/node-osc

여기 척에서 OSC를 수신하는 예있다 : http://chuck.cs.princeton.edu/doc/examples/osc/r.ck

척 메일 링리스트는 여기에, 일반적으로 척 문의에 대한 가장 좋은 건입니다 : https://lists.cs.princeton.edu/mailman/listinfo/chuck-users

0

파이프를 사용할 수 있습니까? ... chuck은 표준 IO를 지원합니다 ... 메시지를 노드가있는 노드 소켓 수신기에 파이프합니다.

chuck some.ck | node accept_message_input.js 

그래서 는 노드 역 따옴표 (`) 노드 수를 http://chuck.cs.princeton.edu/doc/program/otfp.html (--remote 옵션 확인) ... 다음 지금 노드

역을 통해 클라이언트에 다시 밀어 메시지를 트리거 내가 척 노드의 통합을 추구하는 사람을 발견 기뻐요 http://chuck.cs.princeton.edu/doc/program/otfp.html

--remote ...이 작업을 수행 할 수 있습니다! https://github.com/copremesis

관련 문제