사운드
Csound![]() |
초기 릴리즈 | [1] | 전
---|---|
안정된 릴리스 | 6.16.2 / 2021년 7월 17일; [2] 전( |
저장소 | |
기입처 | C |
운영 체제 | 크로스 플랫폼 |
면허증. | LGPL-2.1 이후 |
웹 사이트 | csound |
Csound는 오디오 프로그래밍을 위한 도메인 고유의 컴퓨터 프로그래밍 언어입니다.이것은 Csound라고 불리는데, 그 이유는 그것이 C로 쓰여져 있기 때문이다.
LGPL-2.1 이후 버전에서 사용할 수 있는 무료 소프트웨어입니다.
Csound는 1985년 MIT에서 Berry Vercoe가 Music 11이라고 불리는 초기 시스템을 기반으로 작성되었으며, 이는 벨 연구소의 Max Mathews가 시작한 MUSIC-N 모델을 따랐다.그 개발은 1990년대와 2000년대 내내 지속되었고, 배스 대학의 존 피치가 이끌었다.최초의 문서화된 버전5 릴리스는 2006년 3월 18일의 버전 5.01입니다.많은 개발자들이 이 프로젝트에 기여했는데, 가장 주목할 만한 것은 이스트반 바르가, 가브리엘 말도나도, 로빈 휘틀, 리처드 카펜, 이언 맥커디, 마이클 고긴스, 맷 잉걸스, 스티븐 이, 리처드 불랑게, 빅터 라자리니, 요아힘 하인츠이다.
수년간 개발되어 현재 1700여 대의 발전기를 보유하고 있습니다.가장 큰 장점 중 하나는 완전히 모듈화되어 사용자가 확장할 수 있다는 것입니다.Csound는 MPEG-4, SAOL에 대한 Structured Audio 확장의 기본 언어와 밀접하게 관련되어 있습니다.
Csound 코드
Csound는 2개의 특수한 형식의 텍스트파일을 입력으로 받아들입니다.오케스트라는 악기의 특성을 설명하고 악보는 타임라인을 따라 음표와 기타 매개변수를 설명합니다.Csound는 이러한 파일 내의 명령을 처리하여 오디오파일 또는 실시간오디오 스트림을 출력으로 렌더링합니다.
오케스트라 파일과 스코어 파일은 마크업 언어 태그(파일명 확장자가 .csd인 CSD 파일)를 사용하여 단일 구조화 파일로 통합할 수 있습니다.다음으로 1kHz의 1초 사인파 톤을 96kHz 샘플링 레이트로 포함하는 파형파일을 생성하는 통합 Csound 데이터 파일의 매우 간단한 예를 나타냅니다.
<Csound Syntesizer> <Csound - W - d - o 톤.wav </CsOptions> <CsInstruments> sr = 96000 ;샘플레이트kr = 9600 ; 제어 신호 속도.ksmps = 10 ; 제어 신호당 샘플.nchnls = 1 ; 출력 채널의 수.instr 1 a1 oscil p4, p5, 1 ;발진기: p4 및 p5는 스코어의 인수이고 1은 테이블 번호입니다.out a1 ; 출력.endin </CsInstruments> <CsScore> f1 0 8192 10 1 ; 사인파가 포함된 표. 내장 발전기 10은 여기서 단 1개의 사인파 합계를 생성합니다. i1 0 1 20000 1000 ; 진폭 20000에서 1kHz 중 1초를 재생합니다.e </CsScore> </Csound Synthesizer>
다른 많은 프로그래밍 언어와 마찬가지로 편집, 미리보기, 테스트 및 디버깅을 위한 통합 환경을 사용하면 Csound에서 긴 프로그램을 쉽게 작성할 수 있습니다.현재 공식적으로 지원되는 것은 CsoundQt이며, 자동 코드 삽입, 통합 문서 브라우저, 실시간으로 파라미터를 그래픽으로 제어하는 통합 위젯, 코드 재생 버튼 등 많은 기능을 갖추고 있습니다.
카사운드 5
버전 5.01은 2006년 3월 18일에 출시되었습니다.– csound의 첫 출시로부터 20년 후입니다.Csound 5는 SourceForge Csound [3]프로젝트의 Linux, Microsoft Windows 및 Mac OS X용 바이너리 코드와 소스 코드로 제공됩니다.기존 소프트웨어에 비해 크게 개선되고 확장되어 API를 갖춘 소프트웨어 라이브러리로 효과적으로 제작되었습니다.다양한 프런트 엔드가 개발되었습니다.기본적인 C API 외에 Python, Java, Lisp, Tcl, C++ 등의 바인딩도 있습니다.예를 들어 Haskell의 바인딩은 순수하게 기능하는 환경에서 Csound를 제어할 수 있습니다.
플러그인을 사용하면 사용자 정의 opcode를 원래 언어의 확장자로 쓸 수 있기 때문에 Csound 코드를 변경하지 않고 추가 기능을 사용할 수 있습니다.LADSPA 및 DSSI는 지원되지만 VST 지원은 삭제되었습니다.
MIDI를 통한 실시간 퍼포먼스는 1990년대에 추가되었다.또 다른 추가 사항은 실시간 오디오 제어를 위한 FLTK 위젯(슬라이더, 노브 등이 있는 그래픽 인터페이스 구성 요소)의 지원과 Python으로 작성된 커스텀 그래픽 인터페이스의 통합이었습니다.
Csound 6
Csound 6는 2011년 하노버에서 열린 Csound Conference에서 기능이 해시된 이후 개발되어 왔습니다.Csound 6는 2013년 7월에 출시되어 현재 GitHub에서 [4]이용 가능합니다.Csound 6는 안드로이드에서도 사용할 수 있습니다.Csound 6의 주요 신기능은 다음과 같습니다.
- Csound 언어의 바이슨/플렉스 기반 파서가 표준이 되었습니다.Csound API를 통해 액세스할 수 있는 추상 구문 트리를 생성합니다.그런 다음 API를 사용하여 Csound 성능 런타임으로 트리를 컴파일할 수 있습니다.따라서 트리가 컴파일된 후 Csound 퍼포먼스 런타임으로 컴파일하기 전에 사용자 코드로 트리를 조작할 수 있습니다.또는 사용자는 다른 언어에서 추상 구문 트리 전체를 작성한 후 Csound 퍼포먼스 런타임으로 트리를 컴파일할 수 있습니다.
- 새로운 내장형 다차원 배열 유형이 있습니다.어레이는 계측기와 운영 코드로 전달할 수 있습니다.산술은 어레이에서 직접 실행할 수 있습니다.
- 사용자 정의 유형을 Csound 언어로 사용할 수 있는 새로운 유형 시스템이 있습니다.
- 오케스트라는 언제든지 다시 컴파일할 수 있으며, 개별 악기는 연주 중 언제든지 컴파일할 수 있습니다.이것에 의해, Csound 퍼포먼스의 진정한 「라이브 코딩」이 가능하게 됩니다.
- Csound API는 합리화 및 단순화되었습니다.
- Csound는 퍼포먼스 중 동시 처리를 위해 CPU의 수에 관계없이 이용할 수 있습니다.이것은 Csound 코드를 변경하지 않고 발생합니다.이것에 의해, 대부분의 Csound 처리의 속도가 큰폭으로 향상됩니다.예를 들어, 1개의 코어로 100초 이내에 렌더링하는 것은 4개의 코어로 약 50초 안에 렌더링해야 합니다.
- Csound는 오케스트라와 악보를 텍스트 문자열에서 직접 컴파일할 수 있으므로 파일 시스템에 쓸 수 없는 환경에서 Csound를 사용할 수 있습니다.
- 노트와 같은 점수 이벤트는 합성이 샘플 블록으로 처리되는 경우에도 정확한 시간을 샘플링하도록 스케줄링할 수 있습니다.
- 단일 값을 반환하는 모든 opcode는 오케스트라 언어의 함수로 사용할 수 있습니다.
- 오디오 분석 파일 형식은 바이트 순서에 의존하지 않을 수 있습니다.
- 단일 점수 문에는 여러 문자열 매개 변수를 포함할 수 있습니다.
- 대부분의 오실레이터 연산 코드는 테이블 번호가 생략된 경우 내부 사인 함수 테이블을 사용합니다.
- 명령줄 옵션은 Csound API를 사용하여 프로그래밍 방식으로 설정할 수 있습니다.
- Csound 내의 수많은 코드 중복 영역이 합리화되었습니다.
- HTML5를 이용한 사용자 정의 그래픽 사용자 인터페이스와 자바스크립트 기반 알고리즘 구성을 제공하는 안드로이드 앱이 개발되었습니다.
Csound 6의 개발은 존 피치, 스티븐 이, 빅터 라자리니가 주도했다.
라이브 퍼포먼스를 실현하는 Csound
현재 Csound 점수 또는 노트 이벤트만 실시간으로 생성할 수 있습니다(컴파일 시 처음 시작할 때만 정의할 수 있는 계측기와 달리 Csound 6에서는 이 제한이 제거됩니다).사운드 프로세서 세트는 로드 시 정의 및 컴파일되지만 개개의 처리 오브젝트를 실시간으로 생성 또는 파기하거나 입력 오디오를 실시간으로 처리하거나 출력을 생성할 수 있습니다.참고 이벤트는 계측기 인스턴스 내의 OSC 통신을 기반으로 트리거되거나 MIDI에 의해 생성되거나 stdin에 입력될 수 있습니다(단말기에 입력하거나 다른 프로그램에서 텍스트 문을 전송).라이브 퍼포먼스 툴로서의 Csound 5의 사용은, 다양한 서드 파티제의 소프트웨어로 증강할 수 있습니다.CsoundQt 내의 라이브이벤트 시트를 사용하여 실시간으로 스코어를 변경할 수 있습니다.또한 다른 프로그래밍 언어에 대한 인터페이스를 사용하여 Csound 스크립트를 작성할 수 있습니다.실시간 음악 합성에서의 Csound와 Qt 또는 Pure Data의 사용에 대한 자세한 논문이 2012 Linux Audio Conference에서 발표되었습니다. Ounk 프로젝트는 Csound가 Python과 Csound를 통합하는 동안 Python을 Csound와 통합하려고 시도합니다.AC는 Csound를 백엔드로 사용하여 Python에서 알고리즘 구성을 수행하는 방법을 제공합니다.Audivation의 Csound for Live는 다양한 opcodes를 Ableton [6][7]Live에서 사용하기에 적합한 Max/MSP 래퍼로 패키징합니다.Csound는 모바일 시스템(iOS, Android)[8]에서도 사용할 수 있습니다.
프론트 엔드: IDE 및 음악 구성 환경
- MacCsound는 Macintosh용 통합 Csound 프로그래밍 환경(2011년 초 이후 업데이트 없음)입니다.
- Csound Editor는 Csound [Windows]용 통합 프로그래밍 환경입니다.
- Csound용 WinXoundPro의 다른 IDE.
- CsoundQ CSound의 다른 GUI 프론트 엔드 [Windows/Mac/*NIX]현재 CSound 배포에 포함되어 있습니다.
- Dex Tracker Dex Tracker는 그리드 편집기와 코드 생성 도구, 좋아하는 소리와 리듬을 사전 설정으로 저장할 수 있는 기능을 포함한 csound용 Tracker 스타일 프런트 엔드입니다.
- 파란색 Csound의 음악 구성 환경.
- Bol 프로세서 BP2Csound 및 MIDI의 음악 구성 환경.
- CSound Orchestra 자동 Csound 오케스트라를 개별 악기에서 CSD 형식으로 자동 구축하여 midi를 CSound로 변환하고 Csound에 실시간으로 녹음합니다(Windows 프로그램).
- AlgoScore Csound 및 MIDI를 위해 그래픽 스코어로 작업하는 알고리즘 구성 환경.
- Csilia (버전 1~4)는 Csound의 프로덕션 프런트 엔드입니다.(Cecilia 5는 백엔드로 pho로 이행되었습니다).
- Csound 기반의 크로스 플랫폼 오디오 플러그인을 위한 양배추 생산 환경.
- Csound5의 윈도 프런트엔드/에디터 양상추.
- Csound-x는 Emacs의 경우 Csound의 경우 Emacs 프런트 엔드입니다.
아동 1인당 노트북 1대(OLPC)
Csound5는 XO-1 Laptop 플랫폼의 [9]OLPC 프로젝트의 오디오/음악 개발 시스템으로 선정되었습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Richard Boulanger 박사 - Csound와 함께한 30년:근원, 탄생, 초기
- ^ "Releases · csound/csound". github.com. Retrieved 2021-08-10.
- ^ "Csound SourceForge.net".
- ^ "Csound GitHub.com".
- ^ Joachim Heintz. "Csound as a Real-time Application" (PDF). Institute for New Music.
- ^ Peter Kirn (15 October 2011). "Csound For Live wiki". Create Digital Music.
- ^ Synthhead (15 October 2011). "Csound For Live Coming October 17th wiki". Synthtopia.
- ^ S. Yi and V. Lazzarini. "Csound for Android" (PDF).
- ^ "Csound on OLPC wiki". Retrieved 23 November 2010.
추가 정보
- Richard Charles Boulanger, ed. (2000). The Csound Book: Perspectives in Software Synthesis, Sound Design, Signal Processing, and Programming. MIT Press. ISBN 978-0-262-52261-8.
- R. Bianchini and A Cipriani. (2000). Virtual Sound. Sound Synthesis and Signal Processing. Theory and Practice with Csound. ConTempo s.a.s. ISBN 88-900261-1-1.
{{cite book}}
: CS1 maint: 작성자 파라미터 사용(링크) - Richard Charles Boulanger and Victor Lazzarini, ed. (2011). The Audio Programming Book. MIT Press. ISBN 978-0-262-01446-5. 이 책은 주로 C 언어를 사용하여 소리를 직접 프로그래밍하는 것에 관한 책이지만, Csound opcodes 프로그래밍에 관한 몇 개의 장으로 구성되어 있습니다.
- Jim Aikin (2013). Csound Power! The Comprehensive Guide. Cengage Learning. ISBN 1-4354-6005-7.