Введение

Audacity – это бесплатный редактор и записывающее приложение для цифрового аудио с открытым исходным кодом, доступное для Windows, macOS, Linux и других Unix-подобных операционных систем. По состоянию на 6 декабря 2022 года Audacity является самым популярным загружаемым приложением на FossHub, насчитывая более 114,2 миллионов загрузок с марта 2015 года. Ранее он распространялся через Google Code и SourceForge, где был загружен более 200 миллионов раз. В настоящее время Audacity входит в состав Muse Group. Программа лицензирована под GPL 2.0 или более поздней версии. Исполняемые файлы с поддержкой VST3 лицензируются исключительно по GPL 3 для обеспечения совместимости лицензий. 28 мая 2000 года Audacity версии 0.8 был выпущен в публичный доступ. Маццони в конечном итоге покинул CMU, чтобы посвятить себя разработке программного обеспечения, в частности, развитию Audacity, в то время как Данненберг остался в CMU и продолжил разработку Nyquist – языка скриптов, используемого Audacity для некоторых эффектов. Большинство его изменений в конечном итоге были включены в основную версию, и ответвление было прекращено. В апреле 2021 года было объявлено, что Muse Group (владельцы MuseScore и Ultimate Guitar) приобрела торговую марку Audacity и продолжит разработку приложения, которое останется бесплатным и с открытым исходным кодом.

Особенности и применение

В дополнение к записи звука из нескольких источников, Audacity можно использовать для постобработки всех типов аудио, включая эффекты, такие как нормализация, обрезка и плавное включение и выключение звука. С его помощью записывались и микшировались целые альбомы, например, Tune Yards. В настоящее время он используется в модуле "Создание звука" в рамках британского национального курса OCR Level 2 ICT.

Запись

Audacity может записывать несколько дорожек одновременно, если это поддерживается звуковой картой. Помимо обычного режима, записи можно запланировать ("Запись по таймеру") или использовать функции наложения и продолжения записи (punch in и roll).

Неразрушительная обработка

Исторически, Audacity является деструктивным редактором, то есть все изменения применяются непосредственно к волновой форме. Это даёт определённые преимущества, но означает, что любое внесенное изменение нельзя будет отредактировать позже, не отменив все предыдущие изменения. Долгое время неразрушающее редактирование было доступно только для огибающих громкости и скорости воспроизведения, но начиная с версии 3, оно стало применяться и к обрезке клипов, и к эффектам.

Импорт, экспорт и конверсии

Audacity поддерживает импорт и экспорт файлов в форматах WAV, AIFF, MP3, Ogg Vorbis, а также все форматы, поддерживаемые библиотекой libsndfile. В связи с проблемами лицензирования патентов, библиотека FFmpeg, необходимая для импорта и экспорта проприетарных форматов, таких как M4A (AAC) и WMA, не поставляется вместе с Audacity, но должна быть загружена отдельно. Благодаря функциям пакетной обработки, Audacity можно использовать для конвертации файлов из одного формата в другой, а также для оцифровки виниловых пластинок, кассет или MiniDisc.

Настраиваемость и расширяемость

Audacity поддерживает плагины LADSPA, LV2, VST, VST3, Audio Units, Vamp и Nyquist, что позволяет загружать большинство плагинов для обработки звука. Кроме того, в Audacity предусмотрена консоль для Nyquist — диалекта Lisp, позволяющая пользователям создавать собственные плагины и использовать внешние скрипты на Python. Audacity обладает определенной степенью настраиваемости и поддерживает произвольное расположение панелей инструментов, пользовательские темы, а также включение и отключение различных функций. В январе 2024 года Intel представила некоторые функции на основе искусственного интеллекта для Audacity в составе пакета плагинов OpenVINO.

Анализ звука

Audacity располагает рядом функций для анализа спектра с использованием алгоритма быстрого преобразования Фурье и спектрограмм. Как и в случае с эффектами, можно добавить дополнительные плагины для анализа, например, для проверки аудиокниг на соответствие требованиям ACX.

Ограничения

Хотя Audacity обладает некоторыми функциями, встречающимися в цифровых аудио рабочих станциях, пока рано считать его таковым. В текущей версии это аудиоредактор и программа для записи звука. В частности, в нём пока не реализованы функции редактирования MIDI, фортепианные роллы, виртуальные инструменты, автоматизация параметров и маршрутизация каналов. Из-за использования wxWidgets, которые не поддерживаются iOS и Android в полном объеме, Audacity не может работать на мобильных платформах.

Другие особенности

Audacity позволяет точно регулировать скорость (темп) без изменения высоты тона, чтобы синхронизировать аудио с видео или добиться точной продолжительности. В программу также входит широкий спектр цифровых эффектов и плагинов, включая: шумоподавление на основе анализа образцов шума, удаление и выделение вокала для создания караоке-треков и изолированных вокальных партий, изменение высоты тона с сохранением скорости и изменение скорости с сохранением высоты тона. Audacity поддерживает многоканальные режимы с частотой дискретизации до 96 кГц и разрядностью 32 бита на сэмпл. Программа также способна обнаруживать пропуски в записи при высокой загрузке процессора.

Языковая поддержка

Кроме английского языка, Audacity доступен на африкаанс, арабском, баскском, болгарском, каталанском, китайском (упрощенном), китайском (традиционном), корсиканском, чешском, датском, нидерландском, финском, французском, галисийском, немецком, греческом, венгерском, ирландском, итальянском, японском, литовском, македонском, маратхи, норвежском (букмол), польском, португальском (бразильском), румынском, русском, словацком, словенском, испанском, шведском, турецком, украинском, вьетнамском и валлийском языках. Документация, руководство Audacity, доступна только на английском языке. Форум Audacity предлагает техническую поддержку на английском языке.

Архитектура

На диаграмме показаны слои и модули Audacity. Обратите внимание на три важных класса в wxWidgets, каждый из которых находит отражение в Audacity. Абстракции более высокого уровня формируются на основе связанных с ними низкоуровневых. Например, система BlockFile является отражением и построена на основе wxFiles из wxWidgets. В нижней части диаграммы расположена узкая полоса, предназначенная для слоев реализации, специфичных для платформы. И wxWidgets, и PortAudio — это слои абстракции операционной системы, содержащие условный код, который выбирает различные реализации в зависимости от целевой платформы.