Jump to content

Cзвук

Cзвук
Первоначальный выпуск 1986 год ; 38 лет назад ( 1986 ) [1]
Стабильная версия
6.18.1 / 24 ноября 2022 г .; 18 месяцев назад ( 24.11.2022 ) [2]
Репозиторий
Написано в С
Операционная система Кросс-платформенный
Лицензия LGPL-2.1 или более поздняя версия
Веб-сайт csound

Csound — это предметно-ориентированный язык программирования для аудиопрограммирования. Он называется Csound, потому что написан на C , в отличие от некоторых своих предшественников.

Это бесплатное программное обеспечение , доступное по лицензии LGPL-2.1 или более поздней версии .

Первоначально Csound был написан в Массачусетском технологическом институте Барри Верко в 1985 году на основе его более ранней системы под названием Music 11, которая, в свою очередь, следовала модели MUSIC-N, инициированной Максом Мэтьюзом в Bell Labs. Его развитие продолжалось на протяжении 1990-е и 2000-е годы под руководством Джона Фитча из Университета Бата. Первым задокументированным выпуском версии 5 является версия 5.01, выпущенная 18 марта 2006 г. В него внесли свой вклад многие разработчики, в первую очередь Иштван Варга, Габриэль Мальдонадо, Робин Уиттл, Ричард Карпен, Иэн МакКарди, Майкл Гогинс, Мэтт Ингаллс, Стивен Йи, Ричард Буланже , Виктор Лаццарини и Иоахим Хайнц.

Создававшаяся в течение многих лет, она в настоящее время насчитывает около 1700 генераторов . Одной из его сильных сторон является то, что он полностью модульный и расширяемый пользователем. Csound тесно связан с базовым языком расширений структурированного звука для MPEG-4 , SAOL .

Код звука [ править ]

Csound принимает на вход два специально отформатированных текстовых файла . Оркестр описывает ноты и описывает природу инструментов, а партитура другие параметры на временной шкале. Csound обрабатывает инструкции в этих файлах и отображает аудиофайл или аудиопоток в реальном времени в качестве вывода.

Файлы оркестра и партитуры могут быть объединены в один структурированный файл с помощью тегов языка разметки (файл CSD с расширением имени файла .csd). Вот очень простой пример унифицированного файла данных Csound, который создает волновой файл , содержащий односекундный синусоидальный тон частотой 1 кГц с частотой дискретизации 96 кГц:

<CsoundSynthesizer>
  
  <CsOptions>
    csound -W -d -o tone.wav
  </CsOptions>
  
  <CsInstruments>
    sr     = 96000           ; Sample rate.
    kr     = 9600            ; Control signal rate.
    ksmps  = 10              ; Samples per control signal.
    nchnls = 1               ; Number of output channels.

    instr 1
    a1     oscil p4, p5, 1   ; Oscillator: p4 and p5 are the arguments from the score, 1 is the table number.
    out a1                   ; Output.
    endin
  </CsInstruments>

  <CsScore>
    f1 0 8192 10 1           ; Table containing a sine wave. Built-in generator 10 produces a sum of sinusoids, here only one.
    i1 0 1 20000 1000        ; Play one second of one kHz at amplitude 20000.
    e
  </CsScore>

</CsoundSynthesizer>

Как и во многих других языках программирования, написание длинных программ на Csound можно упростить, используя интегрированную среду для редактирования, предварительного просмотра, тестирования и отладки . Сейчас официально поддерживается CsoundQt, который имеет множество функций, таких как автоматическая вставка кода, встроенный браузер документации, встроенные виджеты для графического управления параметрами в реальном времени, а также кнопка для воспроизведения кода.

Csound 5 [ править ]

Версия 5.01 была выпущена 18 марта 2006 г., через 20 лет после первого выпуска csound. Csound 5 доступен в двоичном виде и исходном коде для Linux, Microsoft Windows и Mac OS X из проекта SourceForge Csound. [3] Оно значительно улучшено и расширено по сравнению с исходным программным обеспечением и фактически превращено в программную библиотеку с API . разнообразные интерфейсы Для него были разработаны . В дополнение к базовому API C есть также Python , Java , Lisp , Tcl и C++ , среди других привязок , например, одна из Haskell , которая позволяет управлять Csound из чисто функциональной среды.

Использование плагинов позволяет получить дополнительные возможности без изменений кода Csound, поскольку существует возможность записи пользовательских кодов операций как расширений исходного языка. LADSPA и DSSI Поддерживаются , но поддержка VST удалена.

Исполнение в реальном времени через MIDI было добавлено в 1990-х годах. Еще одним дополнением стала поддержка виджетов FLTK (компоненты графического интерфейса с ползунками, ручками и т. д.) для управления звуком в реальном времени, а также интеграция пользовательских графических интерфейсов, написанных на Python.

Звук 6 [ править ]

Csound 6 находится в разработке с тех пор, как его особенности были обсуждены на конференции Csound, состоявшейся в 2011 году в Ганновере. Csound 6 был выпущен в июле 2013 года и теперь доступен на GitHub . [4] Csound 6 также доступен для Android . Основные новые функции Csound 6 включают в себя:

  • bison теперь является / flex Синтаксический анализатор языка Csound на основе стандартным. Он генерирует абстрактное синтаксическое дерево , доступное через Csound API. Затем дерево можно скомпилировать в среду выполнения Csound с использованием API. Таким образом, после компиляции дерева им можно манипулировать с помощью пользовательского кода перед его компиляцией в среду выполнения Csound. В качестве альтернативы пользователь может создать полное абстрактное синтаксическое дерево на другом языке, а затем скомпилировать это дерево в среду выполнения Csound.
  • Появился новый встроенный тип многомерного массива. Массивы можно передавать в инструменты и коды операций. Арифметические операции могут выполняться непосредственно с массивами.
  • Существует новая система типов, которая позволяет использовать определяемые пользователем типы в языке Csound.
  • Оркестр можно пересобрать в любой момент, а отдельные инструменты можно собрать в любой момент во время звучания. Это обеспечивает настоящее «живое кодирование» в выступлениях Csound.
  • API Csound был рационализирован и упрощен.
  • Csound может использовать любое количество процессоров для одновременной обработки во время работы. Это происходит без каких-либо изменений в коде Csound. Это приводит к существенному ускорению большей части обработки Csound. Например, фрагмент, который рендерится за 100 секунд на одном ядре, должен рендериться примерно за 50 секунд на четырех ядрах.
  • Csound может компилировать оркестры и партитуры непосредственно из текстовых строк, что позволяет использовать Csound в средах, где запись в файловую систему не разрешена.
  • События партитуры, такие как примечания, можно запланировать с точным временем семплирования, даже если синтез обрабатывается блоками сэмплов.
  • Все коды операций, возвращающие одно значение, могут использоваться как функции языка оркестра.
  • Форматы файлов аудиоанализа могут быть независимыми от порядка байтов.
  • Один оператор оценки может содержать несколько строковых параметров.
  • Большинство кодов операций генератора будут использовать внутреннюю таблицу синусоидальных функций, если номер таблицы опущен.
  • Параметры командной строки можно установить программно с помощью Csound API.
  • Многочисленные повторяющиеся области кода в Csound были рационализированы.
  • Было создано приложение для Android, которое предоставляет определяемые пользователем графические пользовательские интерфейсы и алгоритмическую композицию на основе JavaScript с использованием HTML5.

Разработку Csound 6 возглавляли Джон Фитч , Стивен Йи и Виктор Лаззарини .

Csound для живых выступлений [ править ]

В настоящее время в реальном времени могут генерироваться только партитуры или ноты Csound (в отличие от инструментов, которые можно определить только во время компиляции, при первом запуске csound; в Csound 6 это ограничение снято). Набор звуковых процессоров определяется и компилируется во время загрузки, но отдельные объекты обработки могут создаваться или уничтожаться в реальном времени, входной звук обрабатывается в реальном времени, а выходные данные также формируются в реальном времени. События нот могут запускаться на основе связи OSC внутри экземпляра инструмента, создаваться через MIDI или вводиться в стандартный ввод (путем ввода в терминал или отправки текстовых операторов из другой программы). Использование Csound 5 в качестве инструмента для живых выступлений можно дополнить разнообразным программным обеспечением сторонних производителей. Лист событий Live в CsoundQt можно использовать для изменения счета в режиме реального времени. Кроме того, для написания сценариев Csound можно использовать интерфейсы других языков программирования. Документ, подробно описывающий использование Csound с Qt или Pure Data в синтезе музыки в реальном времени, был представлен на Linux Audio Conference 2012. [5] Проект Ounk пытается интегрировать Python с Csound, в то время как CsoundAC предоставляет способ выполнять алгоритмическую композицию из Python, используя Csound в качестве бэкэнда. Csound for Live от Audivation упаковывает различные коды операций в оболочки Max/MSP , подходящие для использования в Ableton Live . [6] [7] Csound также доступен для мобильных систем (iOS, Android). [8]

Один ноутбук на ребенка (OLPC) [ править ]

Csound5 был выбран в качестве системы разработки аудио/музыки для проекта OLPC на платформе ноутбука XO-1 . [9]

См. также [ править ]

Ссылки [ править ]

  1. ^ Доктор Ричард Буланже - Три десятилетия с Csound: корни, рождение и ранние годы
  2. ^ «Релиз · csound/csound» . github.com . Проверено 11 февраля 2023 г.
  3. ^ «Csound | SourceForge.net» .
  4. ^ «Csound | GitHub.com» .
  5. ^ Йоахим Хайнц. «Csound как приложение реального времени» (PDF) . Институт новой музыки.
  6. ^ Питер Кирн (15 октября 2011 г.). «Csound For Live вики» . Создавайте цифровую музыку.
  7. ^ Synthhead (15 октября 2011 г.). «Csound For Live выйдет 17 октября, вики» . Синтотопия.
  8. ^ С. Йи и В. Лаццарини. «Csound для Android» (PDF) .
  9. ^ «Csound на вики OLPC» . Проверено 23 ноября 2010 г.

Дальнейшее чтение [ править ]

  • Ричард Чарльз Буланже, изд. (2000). Книга Csound: перспективы синтеза программного обеспечения, звукового дизайна, обработки сигналов и программирования . МТИ Пресс. ISBN  978-0-262-52261-8 .
  • Р. Бьянкини; Чиприани. (2000). Виртуальный звук. Синтез звука и обработка сигналов. Теория и практика с Csound . Соответствует темпу ISBN  88-900261-1-1 .
  • Ричард Чарльз Буланже и Виктор Лаццарини, изд. (2011). Книга по аудиопрограммированию . МТИ Пресс. ISBN  978-0-262-01446-5 . В основном эта книга посвящена программированию звука непосредственно с использованием языка C, но в ней есть пара глав, посвященных программированию опкодов Csound.
  • Джим Эйкин (2013). Cзвуковая сила! Комплексное руководство . Cengage Обучение. ISBN  1-4354-6005-7 .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4a64d18685e184d3e57f5da8b1cdb6bf__1708448220
URL1:https://arc.ask3.ru/arc/aa/4a/bf/4a64d18685e184d3e57f5da8b1cdb6bf.html
Заголовок, (Title) документа по адресу, URL1:
Csound - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)