추크

ChucK
추크
ChucK logo2.jpg
패러다임다중 패러다임
설계자게왕
처음 등장한2003년; 19년 전(2003년)[1]
안정된 릴리스
1.4.0.2 / 2020년 7월 20일, 2년 전(2020-07-20)[2]
타이핑 분야강한.
OS크로스 플랫폼
면허증.Mac, Linux, Windows: GPL-2.0 이후
iOS: 클로즈드 소스(비공개)
웹 사이트chuck.cs.princeton.edu

ChucK는 Linux, Mac OS X, Microsoft Windows 및 iOS에서 실행되는 실시간 합성, 구성 및 [3]성능을 위한 강력한 동시 오디오 프로그래밍 언어입니다.원시 성능 등 다른 고려 사항보다 프로그래머가 읽기 쉽고 유연하게 사용할 수 있도록 설계되었습니다.기본적으로 결정론적 동시성과 다중 동시 동적 제어 속도를 지원합니다.또 다른 주요 기능은 프로그램 실행 중에 중지 또는 재시작 없이 코드를 즉시 추가, 제거 및 수정할 수 있는 기능입니다.매우 정확한 타이밍/통화 모델을 가지고 있어 임의의 미세 입도를 가능하게 합니다.복잡한 오디오 합성 프로그램과 실시간 인터랙티브 [4]제어를 구축 및 실험하기 위한 강력하고 유연한 프로그래밍 도구를 작곡가 및 연구자에게 제공합니다.

ChucK는 Perry R과 함께 일하는 대학원생으로서 Ge Wang에 의해 설립되고 주로 디자인되었습니다. Cook.[1] ChucK는 Mac OS X, LinuxMicrosoft Windows에서 GNU General Public License 조건에 따라 자유롭게 배포됩니다.iPhoneiPad에서는 ChucK for iPhone(ChucK for iPhone)이 제한된 비공개 소스 라이센스로 배포되며, 현재 일반인에게 라이센스가 부여되지 않습니다.그러나 핵심 팀은 "모든 사람에게 유익한 환경을 조성하여 ChiP를 개방하는 방법"[5]을 모색하고 싶다고 밝혔습니다.

언어 기능

ChucK 프로그래밍 언어는 느슨하게 C와 같은 객체 지향 언어이며 강력한 정적 타이핑이 있습니다.

ChucK는 다음과 같은 [6]특성으로 구분됩니다.

  • 실시간 오디오 합성 직접 지원
  • 강력하고 단순한 동시 프로그래밍 모델
  • 멀티레이트 이벤트 및 제어 처리를 위한 통합 타이밍 메커니즘.
  • 프로그램 문 내에서 왼쪽에서 오른쪽으로 구문 및 의미론을 권장하는 언어 구문입니다.
  • 정밀 타이밍: 강력한 타이밍의 샘플 동기 타이밍 모델.
  • 프로그램은 ChucK 가상 머신 바이트 코드로 동적으로 컴파일됩니다.
  • 더 플라이 프로그래밍을 지원하는 런타임 환경입니다.
  • ChucK 연산자(=>)는 왼쪽에서 오른쪽으로 정렬된 데이터 흐름을 "척"하는 데 여러 가지 방법으로 사용할 수 있습니다.

ChucK 표준 라이브러리는 다음을 제공합니다.

  • MIDI 입력 및 출력
  • 사운드 컨트롤 지원을 엽니다.
  • HID 접속
  • 유닛 제너레이터(UGENS) - 발진기, 봉투, 합성 툴킷, 필터 등
  • 단위분석기(UAnae) - 오디오 신호 및/또는 메타데이터 입력에 대한 분석 기능을 수행하고 메타데이터 분석 결과를 출력으로[7] 생성하는 블록 - FFT/IFFT, Spectral Flux/Centroid, RMS 등
  • 시리얼 IO 기능 - Arduino.
  • 파일 IO 기능

코드 예시

다음은 사운드와 음악을 생성하는 간단한 ChucK 프로그램입니다.

;dac, 끓여세트 증가 앞으로 0.3=>, f.gain, 피치의 수업[0,2,4,6,9,10]@ =>(절반 단계로)배열//;int hi[], 무한한 루프//while(진정한){을 끓여, 주파수 Std.mtof(65Std.rand2(0,1+)로 개종하다 가르치43+hi[Std.rand2(0,hi.cap()-1)])=> 노트 이동 레지스터를 선택하여, 우리의 신호 그래프(패치)SinOsc f=>//.f.freq.// 시간을 120밀리초 앞당김 120::ms => 지금; }

사용하다

ChucK는 Princeton Laptop Orchestra(PLOrk)의 연주 및 오카리나 [8]에뮬레이터를 포함한 Smule 애플리케이션 개발에 사용되어 왔습니다.PLOrk 주최자는 ChucK를 [9]사용하여 수행할 수 있는 라이브 코딩에 따라 공연의 고유성 중 일부를 돌립니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b Dean, R. T. (2009). The Oxford handbook of computer music. Oxford Handbooks in Music Series. Oxford University Press US. p. 57. ISBN 0-19-533161-3.
  2. ^ "github.com/ccrma/chuck". Retrieved 2021-01-18.
  3. ^ Wang, Ge (2008). The ChucK Audio Programming Language: A Strongly-timed and On-the-fly Environ/mentality (Ph.D.). Princeton University.
  4. ^ "ChucK : Strongly-timed, Concurrent, and On-the-fly Music Programming Language". Archived from the original on 2003-11-18. Retrieved 2013-09-06. ...offers composers, researchers, and performers a powerful programming tool for building and experimenting with complex audio synthesis/analysis programs, and real-time interactive music.
  5. ^ Wang, Ge. "ChucKian greetings and updates!". chuck-users mailing list. Princeton University. Retrieved 2011-05-24.
  6. ^ Wang, G. and P. Cook (2003). "ChucK: A concurrent, on-the-fly audio programming language" (PDF). Proceedings of the International Computer Music Conference.
  7. ^ "FLOSS manual". Flossmanuals. Retrieved 2021-01-18.
  8. ^ Kirn, Peter (July 22, 2009). "Interview: Smule's Ge Wang on iPhone Apps, Ocarinas, and Democratizing Music Tech". Create Digital Music. Retrieved 2011-05-24.
  9. ^ Petersen, Brittany (2008-06-11). "Laptop Orchestra Makes (Sound) Waves". PC Magazine. The other thing that set PLOrk apart from the beginning was its use of a text-based program called ChucK, developed by a Princeton graduate student. ChucK allows the user to code quickly—similar to live coding—and "on the fly" for a performance, allowing for the spontaneity and real-time interaction that is important in live music performance. "ChucK is the only language that I know of that was designed from the outset to facilitate that," Trueman says. The program is also "concurrent," meaning that it can handle many different processes going on at once. Its "innate sense of time" allows performers to communicate during live rehearsals and performances, he says, adding that many other laptop musicians probably use a program like Max/MSP (which PLOrk uses in addition to ChucK) or another widely available commercial program. Today some other laptop orchestras—including the Stanford Laptop Orchestra (SLOrk), which was directly inspired by PLOrk—also employ ChucK.

추가 정보

저자에 의한 문학

독립되어 있는 것처럼 보이는 커버리지

  • Graham Morrison, (2009) Chuck과 함께 Choons를 생성한다.차트에 있는 같은 오래된 음악에 싫증이 난 우리는 일련의 의사 난수로부터 우리만의 음악을 만듭니다.Linux 포맷 문제 125
  • 앨런 블랙웰과 닉 콜린스, P의 악기로서의 프로그래밍 언어.로메로, J. 좋아, E아코스타 차파로 & S. 브라이언트 (Eds).Proc. PPIG 17, 페이지 120–130
  • R. T. Dean, ed. (2009). The Oxford Handbook of Computer Music. Oxford University Press. pp. 27 and 580. ISBN 978-0-19-533161-5.

외부 링크

  • 프린스턴 대학교 ChucK 홈페이지
  • 스탠포드 대학의 ChucK 미러
  • ChucK FLOSS 매뉴얼