1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-sonic-pi

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CHANGELOG.md 150 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 01:39 b361559

История

Version 4.5.1 '8oh8'

(view commits):

Это релиз для обслуживания и исправления ошибок, который включает обновления всех основных внутренних зависимостей. Основная цель этого релиза — исправить проблемы с загрузкой в Windows с определёнными настройками локали.

Переводы

— Улучшения в переводах на китайский, голландский, немецкий, индонезийский, итальянский, японский и русский языки.

Исправления ошибок

— При раскомментировании удалять только один уровень комментариев.

Версия 4.5.0 '808'

(view commits):

Этот релиз содержит множество новых синтезаторов для игры. У нас есть новый мощный кик-барабан :gabberkick для звука габбера и новый винтажный электрический пианино :rhodey синтезатор. Также есть 16 новых перкуссионных синтезаторов, вдохновлённых знаменитым синтезатором TR-808. Все синтезаторы имеют множество опций для управления и изменения стандартных тембров.

Также есть ряд незначительных улучшений и исправлений ошибок, как описано ниже.

Получайте удовольствие и играйте вживую на 808!

Синтезаторы

— Новый синтезатор :rhodey — звук электрического пианино 60-х и 70-х годов, создающий характерный металлический звук для нот ниже :g2. Адаптирован для Sonic Pi из SuperCollider Code. — Новый синтезатор :gabberkick — агрессивный синтезатор Gabber, адаптированный для Sonic Pi из SuperCollider Code. — 16 новых синтезаторов в стиле 808, основанных на Yoshinosuke Horiuchi: :sc808_bassdrum, :sc808_snare, :sc808_clap, :sc808_tomlo, :sc808_tommid, :sc808_tomhi, :sc808_congalo, :sc808_congamid, :sc808_congahi, :sc808_rimshot, :sc808_claves, :sc808_maracas, :sc808_cowbell, :sc808_closed_hihat, :sc808_open_hihat, :sc808_cymbal.

Улучшения

— Улучшено сообщение об ошибке для недопустимых аргументов midi_to_hz.

Переводы

— Улучшены переводы на китайский, датский, португальский и испанский языки. — Добавлен родной язык для арабского.

Исправления ошибок

— Исправлена регрессия в отчёте об ошибках — предложения «вы имели в виду» теперь снова работают. — Исправлено определение системного языка при использовании общего английского языка. Использование

Используйте либо use_bpm 130, либо опцию beat_stretch, чтобы они органично вписались в текущий BPM. Также замечательно использовать их с опцией onset: для извлечения отдельных звуков, которые можно использовать самостоятельно. Большое спасибо Arovane за то, что позволили нам поиграть с этими удивительными новыми звуками.

Продолжая тему сэмпла, есть также 20 новых сэмплов хай-хэта. Все они имеют префикс :hat_ и предлагают широкий спектр звуков от акустических до электро и металла. Они идеально подходят для добавления ощущения драйва или грува в ваши треки.

Эта версия Sonic Pi также впервые поддерживает полностью нативную сборку для компьютеров Apple Mac с процессорами Apple Silicon, такими как M1 и M2. Это означает, что теперь Sonic Pi может работать на современных компьютерах Mac без необходимости использования Rosetta для запуска программ в режиме эмуляции.

Сэмплы

  • Новые сэмплы лупов, предоставленные замечательным электронным исполнителем Arovane. Новые сэмплы: :arovane_beat_a, :arovane_beat_b, :arovane_beat_c, :arovane_beat_d, :arovane_beat_e.
  • 20 новых образцов хай-хета: :hat_snap, :hat_zap, :hat_cats, :hat_tap, :hat_bdu, :hat_psych, :hat_zild, :hat_zan, :hat_zgump, :hat_noiz, :hat_sci, :hat_star, :hat_gem, :hat_raw, :hat_yosh, :hat_mess, :hat_cab, :hat_gnu, :hat_hier, :hat_metal.

GUI

  • Улучшено форматирование текста в информационном окне, которое появляется при ошибке загрузки.

Документация

  • Внесены улучшения в раздел 8.2 учебника, где код был обновлён, чтобы лучше соответствовать поведению функции play_pattern_timed.
  • Улучшена документация по функции play_pattern_timed.

Переводы

  • Внесены улучшения в переводы на каталанский, китайский, хорватский, французский, грузинский, иврит, индонезийский, латышский, немецкий, португальский, русский, словацкий, испанский, суахили и турецкий языки.

Исправления ошибок

  • Синтаксические и ошибки времени выполнения теперь снова правильно окрашены — розовые для времени выполнения и синие для синтаксиса.
  • Исправлен оператор == при сравнении карт с nil. Теперь возвращает false, как и ожидалось.

Версия 4.3.0 «Следопыт»

(просмотреть коммиты):

Это ещё один выпуск для обслуживания и исправления ошибок — в первую очередь он направлен на решение критической проблемы с настройкой внешних звуковых карт для аудиовхода. Она была случайно введена в версии 4.2. Также была решена проблема с предпочтением автоматического отступа в графическом интерфейсе.

Теперь графический интерфейс ограничен одним экземпляром, открытым одновременно. Наличие нескольких экземпляров Sonic Pi, работающих одновременно, может вызвать конфликты. Теперь это больше невозможно, что должно уменьшить любые проблемы, которые пользователи могли наблюдать, когда случайно открывали приложение несколько раз подряд. Теперь будет открываться только первый экземпляр, а все последующие будут завершаться перед запуском, если обнаружат, что другой экземпляр уже запущен.

Графический интерфейс

  • Ограничение запуска экземпляров, позволяющее запускать только один экземпляр Sonic Pi одновременно на данном компьютере.

Переводы

  • Внесены улучшения в голландский, эстонский, японский и польский переводы.

Исправление ошибок

  • Поведение конфигурации внешней аудиокарты теперь должно быть таким же, как в версии 4.1.
  • Предпочтение автоматического отступа в графическом интерфейсе теперь работает должным образом. Если снять флажок, графический интерфейс перестанет автоматически переформатировать код.

Версия 4.2.0 «Партия»

14 сентября 2022 года

(просмотреть коммиты):

Основная цель этого выпуска — решить проблему с загрузкой, обнаруженную в школьном кластере Windows с общими ограничениями безопасности. Об этой проблеме сообщил Адам Купер из Moor Park High School & Sixth Form в Великобритании. Адам был очень полезен в поиске конкретной проблемы и тестировании потенциальных решений. Спасибо, Адам!

Если у вас были проблемы с запуском четвёртой версии Sonic Pi на школьных кластерах, пожалуйста, попробуйте эту версию! (Обратите внимание, эта проблема не затронула третью версию Sonic Pi).

Кроме того, были внесены некоторые улучшения перевода, Global Time Warp теперь имеет... Был обнаружен больший диапазон и несколько ошибок, связанных с time_warp, которые были исправлены. Наслаждайтесь!

GUI

  • Изменён диапазон глобального временного искажения с +-250 на -250 -> 999. Это позволяет пользователям получать доступ к полной фазе вплоть до BPM 48.

Улучшения

  • Процесс загрузки в Windows был изменён, чтобы он мог запускаться при выполнении в среде, которая ограничивает доступ к CMD (что предотвращает использование терминала и запуск файлов .bat). Это типично для школ.
  • Sonic Pi сохраняет всю свою историю, конфигурацию и журналы в папке с именем .sonic-pi, которая обычно помещается в домашний каталог пользователя. Если у пользователя нет разрешения на запись в свой домашний каталог, Sonic Pi теперь выдаёт описательную ошибку при загрузке и объясняет, что решение состоит в том, чтобы установить переменную среды с именем SONIC_PI_HOME, чтобы она указывала на каталог, в который у пользователя есть разрешение на запись.

Переводы

  • Улучшения в переводах на голландский, венгерский и индонезийский языки.

Исправления ошибок

  • Обучить систему безопасности времени, чтобы time_warp не спал (даже если он содержит внутренние вызовы sleep). Теперь это означает, что оборачивание всего кода в live_loop с помощью time_warp больше не приводит к тому, что поток выходит из-под контроля. Вместо этого сообщается, что живой цикл не спал, как ожидалось.
  • Выдавать ошибку при попытке вызвать sync внутри time_warp. Это связано с тем, что временные искажения фактически безвременны, а sync просит работающий поток подождать в течение неизвестного периода (до появления соответствующего события). Попытка подождать в контексте без времени явно бессмысленна!

Версия 4.1.0 «Phase»

30 августа 2022 года

(просмотреть коммиты):

Выпуск версии 4 Sonic Pi представил возможность изменять темп исполняемого в реальном времени кода на внешний удар. Это можно сделать либо установив темп вручную на определённый BPM (ударов в минуту), либо используя кнопку Tap Tempo, чтобы синхронизироваться с внешним ритмом. Однако даже когда вы это делаете, всё равно может оказаться, что звучание не совсем правильное, поскольку существует большая вероятность того, что два ритма будут не в фазе, несмотря на то, что они находятся в одном темпе. В этом выпуске представлена новая функция — Global Time Warp, которая позволяет сдвигать фазу синхронизации Sonic Pi назад или вперёд до 250 миллисекунд, чтобы выровнять её с внешним ритмом.

Сделаем небольшой шаг назад: что значит, когда два ритма не совпадают по фазе, и почему это проблема? Представьте, что у вас тикают два метронома. Если один имеет более высокий темп, чем другой, то один будет тикать быстрее другого. Эту проблему можно решить, установив одинаковый темп. Однако, если они не были запущены одновременно, они оба не будут тикать одновременно. Вместо этого один будет тикать, затем другой, затем первый, затем второй и так далее. Второй всегда будет немного позже первого, и, поскольку они находятся в одинаковом темпе, они никогда не догонят друг друга, они всегда будут тикать в разное время. Это называется быть не в фазе. Когда два ритма не в фазе, это может звучать очень беспорядочно. Поэтому возможность заставить ритмы начинаться точно в одно и то же время действительно важна для совместного джема и хорошего звучания.

Новый элемент управления Global Time Warp позволяет вам сдвигать синхронизацию всех запускаемых синтезаторов, MIDI и OSC сообщений вперёд или назад на определённое время в миллисекундах. Вы можете либо сдвинуть ползунок, либо ввести конкретное время, чтобы настроить фазу синхронизации Sonic Pi в соответствии с фазой внешнего ритма.

Это означает, что теперь вы можете легко джемовать под внешнюю дорожку — сначала отстукивая темп, а затем смещая фазу с помощью новых элементов управления Global Time Warp до тех пор, пока это не будет звучать правильно. По сути, именно это делают диджеи, когда микшируют треки вместе в живом сете — только теперь вы можете накладывать закодированные ритмы, басовые партии и риффы поверх внешней музыки с помощью кода. Это не только отличный способ выступить вживую, но и замечательный способ попрактиковаться — джемовать вместе с любимой музыкой.

В дополнение к этому точность... Функционал Tap Tempo был улучшен, а также были внесены правки в пользовательский интерфейс всех элементов управления метрономом.

Получайте удовольствие от синхронного воспроизведения с внешней музыкой и выводите свои совместные проекты по живому кодированию на новый уровень!

GUI

  • Новые элементы управления Global Time Warp. Это позволяет вам регулировать время всех запланированных событий (синтезаторы, семплы, MIDI и OSC) вперёд или назад до 250 миллисекунд. Это важно для синхронизации с внешним ритмом.
  • Улучшенная логика Tap Tempo, направленная на повышение точности определения BPM и скорости.
  • Скребки BPM и новые скребки Global Time Warp теперь реагируют на изменения колеса мыши.

Улучшения

  • В руководстве чётко указано, что имена определяемых пользователем функций должны начинаться со строчной буквы. Поэтому используйте define :foo вместо define :Foo.

Переводы

  • Незначительные улучшения в переводах на индонезийский, корейский португальский (Бразилия) и русский языки.

Исправления ошибок

  • Исправлена опция duration: для midi_clock_beat.
  • Исправление опций scsynth_opts и scsynth_opts_override в файле конфигурации ~/.sonic-pi/config/audio-settings.toml.
  • Теперь аудиовыход через внешние звуковые карты на macOS должен работать без необходимости включения аудиовходов в графическом интерфейсе.
  • current_debug теперь правильно возвращает true, если ведение журнала/отладка включены (по умолчанию). Ранее сообщалось об обратном.
  • Незначительное улучшение макета документации.

Версия 4.0.3 «Dovetail»

18 июля 2022 года

(просмотреть коммиты):

Это незначительный выпуск исправлений и технического обслуживания.

Улучшения

  • Документы для beat были обновлены, чтобы отразить, что значение бита больше не может быть принято равным 0. Это изменилось после интеграции Ableton Link в версии 4, которая теперь определяет начальное значение бита на основе своего внутреннего состояния.

Переводы

  • Небольшие улучшения во вьетнамском переводе.

Исправления ошибок

  • Регрессия в функции midi_sysex, введённая в версии 4, была устранена. midi_sysex теперь можно вызывать как ожидалось.

Версия 4.0.2 «Relink»

15 июля 2022 года

(просмотреть коммиты):

Сразу после версии 4.0.1 выходит ещё один выпуск исправлений, посвящённый проблеме с переводами.

За последний год произошли значительные изменения в процессе, используемом для создания Sonic Pi. Каким-то образом во время этого переворота переводы так и не попали в финальные релизные сборки, несмотря на то, что они были частью сборок для разработчиков. Так было с версии 4.0 BETA 1 ещё в августе 2021 года — и всё же это каким-то образом осталось незамеченным до сих пор. Приносим извинения! Этот релиз исправляет ситуацию и снова вводит переводы, которые так важны для снижения барьеров входа по всему миру.

В качестве бонуса удалось незаметно добавить пару приятных улучшений. Веселитесь!

GUI

  • Все переводы теперь снова доступны — включая огромное количество новых усилий по переводу с момента выпуска версии 3.3.1.
  • Загрузка файла больше не стирает историю отмены. Это означает, что теперь вы можете «отменить» загрузку файла в текущем буфере и вернуть его в состояние до загрузки.
  • Поведение BPM-скруббинга (щелчок мышью и перетаскивание для изменения BPM) было изменено, чтобы упростить его использование.
  • Усовершенствования для португальского перевода.

Версия 4.0.1 «Verknüpfen»

12 июля 2022 года

(просмотреть коммиты):

Этот выпуск исправлений решает проблему запуска для ряда пользователей с символами, отличными от ASCII, в информации об аудиооборудовании на macOS.

Мы также с грустью прощаемся с членом основной команды Ханно Цуллой, который проделал потрясающую работу с пакетами Linux — особенно с получением Sonic Pi в Debian. Ханно также возглавил работу по переводам, настроив краудсорсинговую систему переводов, благодаря которой теперь Sonic Pi переведена более чем на 50 языков. Большое спасибо, Ханно — мы желаем вам успехов и счастья во всём, что вы делаете в будущем.

Этот релиз также включает обновления переводов на итальянский и польский языки. ## Версия 4.0.0 «Link»

6 июля 2022 года

(просмотреть коммиты):

Приготовьтесь к джемовому сеансу с версией Sonic Pi 4!

В этом выпуске полностью переработаны внутренние алгоритмы синхронизации, чтобы обеспечить их связь с новым глобальным метрономом. В графическом интерфейсе появилась новая панель метронома, которая позволяет динамически изменять темп вашего кода во время его выполнения. Вы также можете использовать новую кнопку «Tap Tempo», чтобы задать темп щелчками, и Sonic Pi автоматически синхронизируется с вашими щелчками. Кроме того, вы можете связать метроном с другими версиями Sonic Pi, работающими на других компьютерах, подключённых к той же сети (Wi-Fi или Ethernet). Это означает, что теперь можно собрать несколько ноутбуков вместе, чтобы создать ансамбль, или превратить целый класс компьютеров в оркестр живых программистов — и все будут синхронизированы друг с другом. Вы даже можете динамически менять темп для всех в сети, пока код выполняется независимо на каждом компьютере, и всё остаётся синхронизированным и своевременным. Это настоящий джем!

Наконец, вы не ограничены синхронизацией темпа с другими копиями Sonic Pi. Новый глобальный метроном построен на основе замечательной технологии под названием Link, разработанной и открытой компанией Ableton, которая также создаёт Live и Push, широко используемые профессиональными музыкантами и автоматически синхронизирующиеся с помощью Link. Кроме того, существует более 200 других приложений или аппаратных продуктов, которые также синхронизируются с Link. Таким образом, Sonic Pi теперь может автоматически джемовать с любым из них одним нажатием кнопки. Так интересно представить себе новые виды групп и коллабораций, которые станут возможными благодаря этой новой системе синхронизации.

Также в этом выпуске есть множество других улучшений и исправлений, которые вместе формируют самый мощный и захватывающий выпуск Sonic Pi на данный момент. Ниже представлена полная разбивка видимых изменений.

Этот релиз был бы невозможен без огромного количества замечательных участников, которые были вовлечены. Ключевые вклады включают в себя огромное рефакторинг нашего графического интерфейса Крисом Моганом, обёртку Link как Erlang NIF Луисом Льоретом и неустанное и постоянное внимание к деталям Итана Кроуфорда. Большое спасибо вам всем. Также спасибо Хосе Валиму за финансовую поддержку разработки в сложный период. Хосе является создателем языка программирования Elixir, который теперь интегрирован во внутреннюю часть Sonic Pi. Elixir открывает богатый мир захватывающих возможностей в Sonic Pi, которые мы уже начали серьёзно исследовать. Ожидайте интересных вещей в будущем и рассмотрите возможность стать сторонником Patreon, чтобы автоматически получить доступ ко всем предстоящим бета-версиям.....

Наконец, мы хотели бы, чтобы вы тепло приветствовали последнего члена основной команды Sonic Pi: Лили Фостер. Она привносит огромную глубину знаний о Linux в команду, и мы очень рады, что она с нами.

А теперь вперёд и наслаждайтесь живым джемом!

Критические изменения

  • По умолчанию BPM установлен на новый глобальный метроном Link. По умолчанию установлено значение 60, поэтому на первый взгляд поведение будет идентичным. Однако, если вы измените темп метронома Link с помощью графического интерфейса или новой функции fn set_link_bpm!, это динамически изменит темп для всех потоков. Предыдущее поведение (статический темп 60 без связи с глобальным метрономом) можно получить, запустив свой код с use_bpm 60.
  • Раньше существовала вероятность того, что опция onset: для sample молча игнорировала последний момент начала данного семпла. Теперь это исправлено. Поэтому некоторые семплы могут иметь дополнительный индекс момента начала, который не повлияет на любой код, использующий более ранние индексы, но повлияет на код, который использует индексы больше, чем количество моментов начала (и, следовательно, полагающийся на перенос индекса). Изменения в Sonic Pi
  1. Удалено API Minecraft Pi Edition (все функции mc_). Похоже, что Minecraft Pi Edition больше не поставляется с Raspberry Pi OS, и API издания для Pi отличается от стандартного API Minecraft.

  2. Были изменены основные настройки микшера, чтобы уменьшить нагрузку на ограничитель в общих сценариях при установке ползунка громкости графического интерфейса пользователя в высокое положение. Это вызвало искажение звука и другие нежелательные проблемы со звуком. Это изменение должно быть улучшением для большинства пользователей, однако если вы хотите вернуться к старому поведению, вы можете запустить следующее в начале сеанса: set_mixer_control! pre_amp: 1, amp: 1.

  3. Значение, возвращаемое функцией beat, больше не начинается с 0. Теперь оно инициализируется текущим значением бита Ableton Link. Кроме того, что начальное значение не равно 0, поведение beat остаётся неизменным.

Новое

  1. Поддержка Ableton Link. Это позволяет синхронизировать темп Sonic Pi, работающего на нескольких компьютерах, подключённых к одной сети. Также это позволит автоматически синхронизировать BPM с инструментами для создания музыки, такими как Ableton Live, VJ-инструментами, такими как Resolume, DJ-оборудованием, таким как MPC, и многими совместимыми приложениями для iPad. Полный список см.: https://www.ableton.com/link/products/.

  2. Новая опция :link для функции use_bpm. Она включает режим Link для текущего потока, который автоматически синхронизирует BPM с метрономом Link (который также синхронизируется со всеми другими приложениями, поддерживающими Link, работающими на любом компьютере, подключённом к локальной (проводной или Wi-Fi) сети).

  3. Новая функция link, которая устанавливает BPM в новый режим :link, а также ожидает начала следующего такта (определяемого Link), прежде чем продолжить. Это позволяет автоматически синхронизировать темп и фазу бита одной командой.

  4. Новая функция link_sync, которая устанавливает BPM в новый режим :link, ожидает, пока сессия Link будет играть, а также ждёт начала следующего такта (как определено Link), прежде чем продолжить. Это позволяет «подготовить» Sonic Pi к автоматической синхронизации темпа и фазы бита и ожидать внешней команды «play» от другого устройства Link, такого как Ableton Live.

  5. Новая функция set_link_bpm! для изменения BPM/темпа метронома Link (и одновременного изменения темпа всех подключённых приложений, поддерживающих Link, в сети).

  6. Новая функция current_random_source, которая возвращает текущий тип источника случайных чисел (см. use_random_source).

  7. Новая функция load_synthdef, позволяющая загрузить один файл synthdef.

  8. Функция load_synths теперь загружает как каталоги, так и отдельные файлы (при необходимости отправляя их в load_synthdef).

Синтезаторы и эффекты

  1. Новый синтезатор :winwood_lead — ведущий синтезатор, вдохновлённый песнями Уинвуда начала 80-х.

  2. Новый синтезатор :bass_foundation — мягкий басовый синтезатор, вдохновлённый звуками 80-х годов.

  3. Новый синтезатор :bass_highend — дополнение к синтезатору :bass_foundation, вдохновлённое звуками 80-х годов.

Примеры

  1. Новый пример Algomancer — Blockgame, созданный DJ_Dave.

  2. Новый пример Sorcerer — Lorezzed.

Графический интерфейс

  1. Панель настроек теперь является оверлеем, который парит над главным окном. Это означает, что её открытие и закрытие не изменяет случайно тщательно выбранный макет, например, для выступления.

  2. Новая опция настройки, позволяющая показывать и скрывать заголовки панелей, такие как Scope, Log, Cues, Context, Help и т. д.

  3. Новая опция настройки для скрытия строки меню в полноэкранном режиме (только для Windows и Linux, поскольку такое поведение стандартно для macOS).

  4. Новая опция настройки для включения аудиовходов (теперь отключена по умолчанию). Изменение этого параметра требует перезагрузки для вступления в силу.

  5. Новая опция настройки для выбора перевода по умолчанию. Изменение этого параметра требует перезагрузки для вступления в силу.

  6. Настройки теперь показывают информацию об аудиооборудовании, такую как подключённые устройства ввода/вывода, частота дискретизации, размер блока и т.д. Объём отображаемой информации зависит от платформы.

  7. Новые элементы управления GUI для взаимодействия с новым метрономом Link. Вы можете подключаться/отключаться к сети (чтобы делиться темпом с другими), изменять темп (в BPM) и устанавливать новый темп.

  8. Увеличение ширины разделителей панели и выделение при наведении курсора мыши. Выделить полосы прокрутки и описания флажков настроек при наведении курсора мыши.

Полосы прокрутки теперь имеют закруглённые края.

Научить автозаполнение случайным выбором источника: :white, :light_pink, :pink и т. д.

Улучшить синтаксический отступ.

Улучшения для арабского, каталанского, китайского (упрощённого), голландского, эстонского, французского, немецкого, итальянского, японского, корейского, персидского, польского, португальского (Бразилия), русского, сингальского, испанского, шведского, украинского языков.

Введены новые переводы для баскского и гэльского языков.

Улучшения:

Множество мелких исправлений и улучшений документации.

При работе на Raspberry Pi Sonic Pi по умолчанию подключается к PulseAudio.

Точность планирования исходящих сообщений OSC и MIDI на Windows улучшена.

Оптимизировать midi_clock_beat.

note_range теперь может обрабатывать как увеличивающиеся, так и уменьшающиеся диапазоны нот.

По умолчанию больше не подключаться к входному звуковому устройству на macOS — это также означает, что несоответствия скорости аудиовхода/выхода больше не вызывают проблем с загрузкой на macOS по умолчанию.

Проблемы с загрузкой аудиосервера SuperCollider теперь немедленно обнаруживаются и сообщаются пользователю как отдельная проблема вместе с полным файлом журнала scsynth.

Исправления ошибок:

Повысить надёжность исходящих сообщений OSC в случае, если исходящее имя хоста искажено и не может быть разрешено.

Синтезаторы :dull_bell и :pretty_bell теперь правильно освобождаются после завершения воспроизведения, а это значит, что ресурсы, которые они потребляли, также правильно освобождены.

Индексирование пустого кольца больше не вызывает ошибку деления на ноль.

Больше не пытаться повышать приоритет аудиосервера на Windows, что в некоторых случаях приводит к ошибкам загрузки.

Исправлены проблемы с кодировкой при сохранении/загрузке файлов, содержащих символы, отличные от ascii, на Windows.

Диапазон больше не зацикливается бесконечно с шагом 0. Теперь он выдаёт ошибку.

В некоторых обстоятельствах наличие визуализатора Лиссажу вызывало сбой графического интерфейса при запуске. Эта проблема теперь решена.

Остановить зависание потока при передаче 0 в качестве первого аргумента в spread. Теперь просто возвращает кольцо ложных значений.

1 февраля 2021 года (просмотреть коммиты):

Это релиз совместимости, решающий две проблемы с macOS Big Sur:

  1. Используются правильные языковые переводы на основе текущей локали пользователя.
  2. Языковой сервер больше не уничтожается macOS Gatekeeper при запросе времени начала сэмпла.

Этот выпуск также включает незначительные обновления переводов.

28 января 2021 года (просмотреть коммиты):

Десять месяцев разработки, более 700 отдельных коммитов, любящие вклады многих людей вошли в эту новую версию Sonic Pi. Этот выпуск также является результатом трёхмесячного процесса бета-тестирования сообщества, который проходил на Patreon, где сторонники получили доступ к ранним выпускам и действительно помогли отполировать и сформировать разработку. Огромное спасибо всем, кто поддерживал продолжение разработки. Мы очень рады и гордимся тем, что можем поделиться этим новым выпуском со всеми вами.

Что касается значительных изменений, было внесено много внутренних улучшений, включая полную переработку нашей подсистемы MIDI. Это не должно привести к большим изменениям для пользователя (хотя некоторые имена MIDI-сигналов могли немного измениться), но это действительно настраивает нас на некоторые захватывающие события в будущем. По сути, мы переносим большую часть основных функций ввода/вывода Sonic Pi в специальную систему под названием BEAM и язык под названием Erlang. Это система, которая уделяет большое внимание низкой задержке, низкому дрожанию и высокой параллельности, что именно и требуется для ввода/вывода музыкальной системы! Мы так взволнованы, увидев, чего мы сможем достичь с этим новым подходом, что BEAM фигурирует в качестве кодового названия этого выпуска.

Ещё одна область, которой уделялось много внимания и любви, — это наш сильный акцент на доступности. Теперь у нас есть значительно улучшенная строка меню, которая по существу дублирует большую часть... Функционал, который есть в настройках, теперь доступен в формате, с которым очень легко работать через программу чтения с экрана. Мы также добавили новую контекстную панель, которая отображает текущую строку и позицию символа в результате сотрудничества с группой доступности Лейденского университета. Уже было проведено множество исследований, которые сообщают об успехе для слепых и слабовидящих пользователей Sonic Pi, поэтому мы уверены, что мы на правильном пути в отношении доступности. Мы также не останавливаемся на достигнутом и всегда ищем способы снизить многочисленные барьеры для творческого опыта работы с кодом для всех.

Это также первый релиз, в котором мы официально приветствуем Криса Могана как последнего члена основной команды Sonic Pi. Крис внёс значительный вклад за последний год, включая улучшения в области охвата и полную переработку нашего процесса сборки. Я надеюсь, вы присоединитесь к нам и поприветствуете Криса в команде.

Наконец, у нас есть официальная поддержка macOS Big Sur, несколько прекрасных новых синтезаторов и эффектов, улучшенные переводы, поддержка расширенной конфигурации (аудио и цветовая тематика), новые турецкие гаммы и множество исправлений ошибок и улучшений.

Мы действительно надеемся, что вам понравится эта версия Sonic Pi так же, как и нам.

Счастливого живого кодирования!

Изменения

  • Имена описания MIDI-портов могут немного отличаться от предыдущих версий. Точное соответствие MIDI-портам через sync и get необходимо обновить соответствующим образом.
  • Входящие MIDI-сигналы теперь больше не включают события тактовых импульсов. Возможность повторного включения этих функций и новые способы работы с входящими системами синхронизации будут представлены в будущем релизе.

Новое

  • Полностью новая подсистема MIDI.
  • use/with_random_source — изменение текущего потока случайных чисел, используемого при выборе случайных значений. Теперь у нас есть :white, :light_pink, :pink, :dark_pink и :perlin. По умолчанию используется :white, который является тем же потоком, что и в предыдущих выпусках, для сохранения совместимости.
  • Добавлено множество турецких гамм (макамов).
  • Новый каталог конфигурации пользователя для тонкой настройки аспектов приложения, таких как расширенные настройки звука. Дополнительную информацию см. в ~/.sonic-pi/config/README.md.

Синтезаторы и эффекты

  • Новый синтезатор :rodeo — имитация электрического пианино.
  • Новый синтезатор :kalimba — африканское пальцевое пианино.
  • Добавлен сдвиг к опциям FX :autotuner note: и formant_ratio:.
  • Опции mix, pre_mix и pre_amp теперь зависят от slide:.

GUI

  • Новая контекстная панель, отображающая текущий номер строки и позицию, делая эту информацию доступной для программ чтения с экрана. Это можно показать или скрыть с помощью настройки предпочтений.
  • Новые сочетания клавиш для прямого перехода к буферу. S-M-1 (удерживайте Shift и Meta и число 1) перейдёт к буферу 1. Meta — это Cmd на macOS и alt на Windows/Linux.
  • Систему автозаполнения теперь можно включить или отключить. Это предназначено для помощи тем, кто использует программы чтения с экрана, для которых система автозаполнения в настоящее время несовместима.
  • Списки примеров в справочной системе теперь имеют удобную кнопку воспроизведения, которая позволяет предварительно просмотреть их, нажав, вместо того чтобы писать какой-либо код.
  • Улучшения для каталанского, китайского, датского, голландского, финского, французского, немецкого, иврита, венгерского, исландского, итальянского, корейского, норвежского, польского, португальского, португальского (Бразилия), русского, словацкого, испанского, шведского, тайского, турецкого и вьетнамского переводов.
  • Добавлен сингальский перевод.
  • GUI теперь имеет гораздо более полный набор меню, который дублирует функциональность панели настроек, делая её легкодоступной для программ чтения с экрана.
  • Имена MIDI-портов теперь автоматически заполняются.
  • GUI теперь правильно сохраняет и восстанавливает настройки видимости кнопок, вкладок и панели журнала.

Улучшения

  • Множество незначительных улучшений документации.
  • Неотправленные внешние MIDI-сообщения теперь сбрасываются и больше не отправляются после нажатия кнопки «Стоп».
  • Распространённая ошибка вызова play и sample в одной строке, например play sample :loop_amen, теперь является ошибкой с соответствующим описанием, объясняющим, что play следует удалить.

Исправления ошибок

  • Исправьте pulse_width_curve: и... pulse_width_slide: опции, которые были неправильно заменены в синтезаторах pulse, subpulse и dpulse.

  • Улучшить загрузку в системах Windows, где в настоящее время Ruby не поддерживает стандартные языковые страницы. Теперь мы принудительно используем UTF-8.

  • Устранить проблему, из-за которой в графическом интерфейсе выделялась неправильная строка ошибки.

  • Исправить проблему при синхронизации с сигналами, в путях которых есть символы «-».

  • Исправить ошибку с use_merged_synth_defaults после вызова use_synth_defaults. Эта ошибка возникала в примере «Sonic Dreams», который теперь снова воспроизводится правильно.

  • Теперь на macOS работает горячая замена MIDI-устройств (определение подключённых или отключённых устройств).

  • Исправить .take_last, чтобы он больше не возвращал nil для min и max диапазона.

  • В функции line исправить ошибку смещения на единицу. Теперь кольца всегда должны возвращаться правильной длины.

Версия 3.2.2 — «Tau3»

5 апреля 2020 года (просмотреть коммиты):

Это незначительный выпуск с исправлением ошибок и техническим обслуживанием.

Графический интерфейс

— Значительные улучшения в переводах на датский и шведский языки.

Исправления ошибок

— Исправлена проблема со сборкой на macOS, которая мешала работе записи. — Исправлены проблемы с отображением изображений в документации для переводов на другие языки, кроме английского.

Версия 3.2.1 — «Take Tau»

3 апреля 2020 года (просмотреть коммиты):

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

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

Одним из основных внутренних направлений было улучшение использования памяти приложением. Был выявлен и устранён ряд утечек памяти. Утечка памяти — это когда приложение запрашивает всё больше и больше памяти у компьютера и никогда не возвращает её. Со временем это означает, что приложение будет тратить много системной памяти. Это могло быть не слишком заметно при использовании Sonic Pi на современных компьютерах, обычно имеющих невероятно большой объём памяти. Однако это было заметно и проблематично на маломощных системах с ограниченной ёмкостью памяти. Теперь Sonic Pi использует гораздо меньше памяти, и после периода прогрева использование памяти остаётся намного более постоянным, чем раньше. Мы продолжим искать и устранять утечки памяти в будущем.

Наконец, этот выпуск впервые поставляется с полностью подписанным установщиком Windows. Это важный этап, поскольку теперь мы поставляем подписанные версии как для macOS, так и для Windows, что должно помочь большему количеству пользователей и организаций (особенно школам) доверять установке и запуску Sonic Pi.

Теперь идите и занимайтесь живым кодированием!

Изменения, нарушающие работу

— FX ping_pong теперь объединяет сухой звук с результатом эха, чтобы соответствовать поведению echo. — В последнем выпуске амплитуда синтезатора piano была случайно изменена при обновлении для работы с произвольными частотами. Она была восстановлена. — Сообщения активного зондирования входящего MIDI теперь игнорируются.

Графический интерфейс

— Новые сочетания клавиш и пункты меню для явного фокусирования на определённых областях приложения. Это в первую очередь предназначено для улучшения доступности для программ чтения с экрана или тех, кто не использует мышь или трекпад. Новые сочетания клавиш: — Control-shift-e — переместить фокус на редактор; — Control-shift-l — переместить фокус на журналы; — Control-shift-c — переместить фокус на сигналы; — Control-shift-p — переместить фокус на настройки; — Control-shift-h — переместить фокус на список помощи (например, список доступных разделов справки); — Control-shift-d — переместить фокус на детали помощи (например, раздел справки). Содержание выбранного раздела справки:

  • Control-shift-w — перемещение фокуса на предупреждения об ошибках синтаксиса/времени выполнения.

После того как фокус переместился в список справки, клавиши со стрелками вверх и вниз теперь перемещаются вверх и вниз по списку, а клавиши влево и вправо переключают вкладки для работы с различными категориями справки.

Когда возникает ошибка, фокус теперь помещается в всплывающее окно ошибки. Фокус можно легко вернуть обратно в редактор, нажав либо клавишу Escape, либо Control-g.

Незначительные улучшения для переводов на каталанский, греческий, китайский, русский, французский и румынский языки.

Исправления ошибок:

— Обновлена библиотека процессов Ruby, что улучшает/исправляет поведение завершения процесса в некоторых системах Linux.

— Исправлен ряд утечек памяти, которые приводили к увеличению требований к памяти приложения с течением времени, пока оно не было закрыто и снова открыто. Это было особенно заметно и потенциально проблематично на машинах с небольшим объёмом памяти.

— Общее использование памяти значительно сократилось благодаря введению дополнительного кэширования в «горячих» областях кода, создававших множество ненужных выделений объектов.

— Теперь установщик Windows работает на большем количестве систем Windows 10 благодаря дополнительным библиотекам, включённым в установщик.

Версия 3.2.0 — «Тау»

28 февраля 2020 года (просмотреть коммиты):

После долгих двух лет без обновлений мы с волнением представляем вам первый полностью самостоятельный выпуск Sonic Pi. Работа Сэма Аарона над этим выпуском была полностью поддержана щедрыми пожертвованиями людей на Patreon, а также средствами, полученными от проведения бесед, семинаров и выступлений. Кроме того, работе Сэма очень помогли замечательные вклады кода и перевода как членов основной команды, так и нашего растущего международного сообщества живых кодеров. Этот релиз действительно стал результатом усилий всего сообщества.

Итак, что нового? На этот раз нет никаких радикальных новых функций, вместо этого у нас гораздо более отточенная, доступная и стабильная версия, чем когда-либо прежде. (Этот релиз был тщательно протестирован во многих выступлениях по всему миру).

Этот выпуск получил кодовое название Тау — (улучшенный Пи).

Одним из основных направлений этого выпуска является доступность. Тау вводит поддержку программ чтения с экрана. Ранее редактор кода был невидим для основных программ чтения с экрана как на macOS, так и на Windows, и теперь это исправлено. Также есть доступное меню и новая высококонтрастная цветовая тема, которая соответствует требованиям WCAG уровня AAA. Доступность очень важна для нас — мы признаём, что это только начало, и мы ценим и приветствуем отзывы пользователей, у которых есть особые требования доступности, которым мы напрямую не соответствуем. Мы планируем улучшать нашу поддержку доступности везде, где это возможно, в каждом последующем выпуске.

Ещё одним аспектом доступности является поддержка устройств Windows с дисплеями высокого разрешения. Раньше на определённых дисплеях размеры шрифта и значков могли быть слишком маленькими, нечитаемыми и непропорциональными по отношению к приложению в целом. Всё это было решено благодаря значительной работе по обеспечению того, чтобы Sonic Pi отлично выглядел на различных мониторах как на Windows, так и на macOS. Мы считаем, что этот выпуск выглядит лучше и более удобен в использовании, чем любой предыдущий.

В Тау представлены две красивые новые аудиовизуальные области — спектральная область, показывающая частотное содержание звука, и красивая зеркальная стереообласть. Эти области были предоставлены Крисом Моганом, который также сыграл решающую роль в улучшении и упрощении процесса сборки Windows. Мы очень благодарны за его вклад — спасибо, Крис!

У нас есть два великолепных новых эффекта — эхо-задержка пинг-понга, предоставленная Итаном Кроуфордом, и автотюнер, предоставленный Ксавьером Райли. Надеемся, вам будет так же весело играть с ними, как и нам.

Наконец, этот релиз значительно улучшил охват перевода — как графического интерфейса, так и учебника. Мы искренне верим, что это помогает нам достичь нашей цели. Снижение порога вхождения для творческого опыта работы с кодом, помогая большему количеству людей, не говорящих на английском языке, начать свой путь в реальном времени кодирования.

Теперь идите и создайте шум с помощью кода!

Изменения

  • Функция spread теперь создаёт идентичные паттерны, как в статье Туссена (http://cgm.cs.mcgill.ca/~godfried/publications/banff.pdf). Ранее некоторые из паттернов были смещены. Используйте опцию rotate:, чтобы соответствовать предыдущему поведению, если это необходимо.
  • Теперь OSC-сигналы включают IP-адрес и номер порта входящих сообщений.
  • MIDI-сигналы теперь включают исходную информацию в первой части пути с разделителями : для соответствия новому формату OSC-сигнала.
  • Функция osc теперь заставляет все исходящие аргументы быть либо числами, либо строками (двоичные капли и метки времени в настоящее время не поддерживаются). Если значение не является числом или строкой, оно «проверяется» и вместо него отправляется результирующая строка описания.
  • По умолчанию входящий порт OSC-сигналов теперь равен 4560, так как предыдущее значение было зарегистрировано в реестре номеров портов протоколов службы имён и транспортных протоколов Iana. Однако 4560 в настоящее время свободен.
  • Ограничьте диапазон опции feedback: FX-эффекта :flanger значениями от 0 до 1. Значения больше 1 приводили к увеличению амплитуды, которая должна достигаться с помощью опции amp:.
  • Добавьте проверку аргументов для опции hpf: функции sample, которая теперь гарантирует, что значение не превышает 119, поскольку значения выше этого могут вызвать нежелательные шумовые артефакты.
  • Улучшите семантику опций start:, finish:, onset:, slice: функции sample. Опции start: и finish: для sample теперь работают в пределах указанного среза или начала. Это позволяет легко воспроизводить, скажем, первую половину данного среза или начала, указав start: 0 и finish: 0.5. Если указаны оба варианта slice: и onset:, то срез работает в рамках начала. Если используются опции slice:, onset: и start:, /finish:, начало/окончание действуют в срезе, который, в свою очередь, действует в начале. Дополнительную информацию см. в обновлённых примерах образцов.

Новые функции

  • eval_file оценивает содержимое указанного файла в текущем потоке, как если бы это была функция.
  • midi_sysex для отправки MIDI-сообщений SYSEX.
  • Добавить новую цепочку функций .notes, которая принимает кольцо значений и возвращает новое кольцо, где каждый элемент рассматривается как нота. Это оставит числа без изменений, но превратит имена нот, такие как :C1, в соответствующие ноты MIDI.

Синтезаторы и эффекты

  • Новый эффект ping_pong — задержанное эхо, чередующееся между левым и правым каналами.
  • Новый эффект autotuner — эффект автонастройки/фазового вокодера.
  • Эффект gverb теперь проверяет, чтобы опция room: была больше или равна 1.
  • Синтезатор piano теперь поддерживает дробные ноты, такие как 70.3.

Графический интерфейс

  • Новая цветовая тема высокого контраста WCAG 2 уровня AAA, особенно подходящая для людей со слабым зрением.
  • Новое меню приложения и сочетания клавиш.
  • Новые стандартные значки, соответствующие профессиональному стилю значков.
  • 2 новых визуализатора — зеркальное стерео и спектр.
  • Переход на простые пронумерованные метки для буферов.
  • Улучшение масштабирования значков, текста и т. д. на дисплеях с высоким DPI в Windows.
  • Номер версии больше не помещается в начальный комментарий новых пустых буферов. Это казалось хорошей идеей, но может сбивать с толку, если данный буфер не использовался и версия была обновлена. В результате буфер сообщает старый номер версии, который использовался для создания буфера, а не текущую версию, используемую для его отображения.
  • Множество улучшений перевода. Спасибо всем замечательным добровольцам, которые вносят свой вклад в перевод: https://hosted.weblate.org/projects/sonic-pi/
  • Высота панели ошибок теперь выше по умолчанию на всех платформах, и её высота правильно масштабируется на мониторах с высоким разрешением.
  • Флажки настроек теперь одинаково оформлены на всех платформах.

Улучшения

  • Разрешить степени шкалы более октавы и увеличенные/уменьшенные степени.
  • Вызов .tick и .look для обычного массива, такого как [1, 2, 3], теперь автоматически преобразует его в кольцо. Добавить новую статью A.20 — «Творческое программирование в классе», которая появилась в выпуске №9 журнала Hello World.

Сообщения OSC теперь отправляются с порта прослушивания внешних сигналов. Это позволяет серверам OSC, которые отвечают непосредственно на входящие сообщения (например, SuperCollider), взаимодействовать с сообщениями, отправленными из Sonic Pi.

Random fns теперь понимают ноты. Например, rrand(:e1, :e2) вернёт случайную частоту между октавой E 1 и 2.

Windows теперь может обнаруживать начала семплов из семплов, хранящихся в форматах .flac и .ogg, в дополнение к произвольным частотам дискретизации, таким как 48 кГц.

Исправления ошибок

  • Дальнейшее улучшение стабильности загрузки на Mac в случаях, когда частоты дискретизации аудиовхода/выхода не совпадают (обычно из-за использования Bluetooth-гарнитур). В macOS аудиовходы по умолчанию отключены, если мы не можем точно определить, что частоты звука одинаковы.
  • Возврат synthdefs к исходной версии байт-кода. Это исправляет регрессию, по крайней мере, в синтезаторе :tb303 и, возможно, в других. Все синтезаторы должны звучать и вести себя так же, как в версии v3.0.1.
  • Устранение проблемы с масштабированием параметров по умолчанию. Ранее было возможно, что неуказанные параметры правильно возвращались к значению по умолчанию — однако это значение по умолчанию не масштабировалось. Теперь значения по умолчанию всегда масштабируются независимо от того, указаны они явно или нет.
  • Функция with_sched_ahead_time теперь корректно устанавливает время расписания перед запуском блока и возвращает результат самого блока.
  • Когда выбрано «Принудительно соблюдать временные гарантии», Sonic Pi больше не будет выдавать предупреждения о времени вне времени в потоках реального времени (указанных с помощью use_real_time).
  • Функции set и cue больше не печатают повторяющиеся сообщения, что было возможно в некоторых случаях.
  • Исправлены примеры time_warp, которые были неверными и вводящими в заблуждение.
  • Улучшено управление PID в Linux. Это должно уменьшить количество случайно созданных зомби-процессов.
  • Параметр offset: для функции with_swing теперь соответствует задокументированному поведению.
  • Научили функцию sample_duration правильно масштабироваться.
  • Исправлена ошибка графического интерфейса, из-за которой буфер мог застревать в выделенном состоянии после нажатия кнопки «Выполнить».
  • Исправлен параметр on:, когда воспроизводятся аккорды, чтобы он работал одинаково для всех нот в данном аккорде.
  • Прекращено выполнение defonce несколько раз.
  • Вызов .take для пустого кольца больше не приводит к бесконечной рекурсии, а вместо этого возвращает пустое кольцо.
  • Область теперь имеет минимальную высоту.
  • Windows теперь поддерживает отправку и получение сообщений OSC по сети на внешние машины и с них.

Версия 3.1.0 — 'Sauna'

23 января 2018 года (просмотреть коммиты):

Основная особенность этого выпуска заключается в том, что он переносит функциональность v3 на Windows. Windows теперь поддерживает все полезные функции, перечисленные вместе с версиями v3.0.x, включая live_audio, midi, osc и многое другое. См. примечания к выпуску v3.0.1 и v3.0.0 ниже для получения дополнительной информации.

Конечно, ни один новый выпуск не обходится без новых функций, и есть ряд дополнений и улучшений на всех уровнях. Во-первых, мы имеем честь включить ряд замечательных новых семплов, любезно записанных и выпущенных в общественное достояние нашими друзьями Mehackit. Если вы ещё не знаете, Mehackit организуют и проводят семинары по творческому программированию по всей Финляндии и Европе и были основной частью проекта CodeBus Africa, который использовал Sonic Pi, чтобы привлечь почти 2000 африканских студентов к творческому коду. Наш любимый из этих семплов — новый :ambi_sauna, который дал нам название для этого релиза.

Мы добавили поддержку аудиофайлов в формате Ogg Vorbis .ogg и .oga. Это кодировщики с потерями, похожие на .MP3, но свободные от лицензионных ограничений. Смотрите: https://en.wikipedia.org/wiki/Vorbis.

Ещё одно заметное дополнение — увеличение охвата перевода на ряд языков. Если вы всё ещё считаете, что перевод для вашего языка можно улучшить, пожалуйста, рассмотрите возможность присоединиться к краудсорсинговым усилиям здесь: https://hosted.weblate.org/projects/sonic-pi/.

Также мы внесли некоторые изменения в стиль графического интерфейса — чтобы сделать его... Версия 2.11.1 — «Hack»

16 декабря 2016 года

(просмотреть коммиты) https://github.com/sonic-pi-net/sonic-pi/commits/v2.11.1

Это в первую очередь технический релиз, содержащий ряд исправлений ошибок и незначительных изменений. Набор функций остался неизменным по сравнению с версией 2.11.

Одна из основных ошибок, исправленных в этом выпуске, связана с проблемой возврата ключа в некоторых японских раскладках. Ещё одно важное изменение — унификация шрифта на всех платформах до Hack. Это из того же семейства, что Menlo и Bitstream Vera (предыдущие шрифты для Mac и Linux соответственно), и значительное улучшение шрифта Courier, ранее использовавшегося для Windows.

Графический интерфейс пользователя

— Все платформы переведены на один и тот же шрифт — Hack — Улучшена первоначальная информация журнала и сообщения — Оси области видимости больше не отображаются по умолчанию для более чистого внешнего вида

Документация

— Добавлена новая статья в MagPi о растяжении образца

Исправления ошибок

— Убедитесь, что значение сдвига chord_invert является целым числом — в противном случае возможно попадание в бесконечную рекурсию — Обеспечьте, чтобы локальные потоки имели правильные значения по умолчанию при очистке. Когда запускается прогон, потоку присваивается набор локальных потоков по умолчанию. Ранее очистка удаляла все локальные потоки. Теперь мы сбрасываем локальные потоки по умолчанию для нового потока — Исправлена строка, сообщаемая об ошибке синтаксиса — Исправлено неизвестное сообщение об ошибке синтезатора — Синхронизация может снова правильно обрабатывать несколько сигналов — Исправление проблем загрузки для пользователей, у которых нет стандартного файла /etc/hosts, содержащего запись для localhost — sample_duration теперь обрабатывает начала, срезы и поддерживает — Устранена проблема с распознаванием клавиши возврата на японских клавиатурах — Устранено спорадическое мерцание текущей строки на Raspberry Pi — Исправлены ошибки в буфере 0, которые сообщаются как ошибки из буфера 3 — Исправлен цвет фона полосы прокрутки в Windows в тёмном режиме — Улучшено сообщение об ошибке, сообщаемое, когда требуемые порты недоступны при загрузке — Исправлена проблема с вызовом управления на группе аккордов — Исправьте rand и rand_i, чтобы они учитывали свои аргументы

Версия 2.11 — Time Warp

3 ноября 2016 года

(просмотреть коммиты) https://github.com/sonic-pi-net/sonic-pi/commits/v2.11.0

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

Мы также открываем наши объятия, чтобы приветствовать двух новых членов основной команды — Луиса Льорет и Адриана Читара. Оба внесли щедрые и существенные вклады в этот выпуск. Спасибо. К сожалению, мы также прощаемся... Джереми Уэзерфорду.

Пожалуйста, передайте свои добрые мысли и благодарность Джереми за его вклад, в частности, за то, что он превратил выпуск Windows из возможности в реальность. К счастью, Луис любезно вмешался, чтобы поддерживать установщик Windows.

Основная видимая особенность — новые визуализаторы области видимости. Общий аудиовыход теперь можно визуально контролировать с помощью одного из трёх визуализаторов формы волны. Во-первых, есть отдельные левый и правый каналы, затем — единый моноскоп, который микшируется из стереоканалов с использованием RMS, и, наконец, есть лиссажускоп, который отображает фазовые различия между левым и правым каналами. Обычно моновыход будет наиболее полезным. Используйте панель настроек, чтобы скрыть и показать каждый из этих визуализаторов. Все они могут быть просмотрены одновременно при необходимости. Спасибо Адриану Читару за основную работу над этой функцией.

Теперь у нас есть поддержка многоканального ввода (до 16 каналов) через новые синтезаторы sound_in*, для систем с аудиовходом. Это открывает возможность использовать Sonic Pi в качестве блока эффектов для вокала, гитар и любого другого источника звука.

Ещё одна захватывающая новая функция — опция выборки onset:, которая позволяет воспроизводить определённую ударную часть семпла. Она использует автоматический алгоритм обнаружения начала, чтобы определить все точки в семпле, которые быстро переходят от тихих к громким, например, удар барабана, синтезатора или баса. Например, это позволяет взять сложный барабанный семпл и запустить каждый отдельный барабан в своём собственном порядке и с собственным таймингом.

Наконец, переводы теперь осуществляются с привлечением краудсорсинга, и здесь можно внести небольшие или большие вклады на любом языке: https://hosted.weblate.org/projects/sonic-pi/. Если ваш язык ещё не доступен или вы хотите улучшить ситуацию, пожалуйста, присоединяйтесь к усилиям. Спасибо Ханно Зуллу за то, что сделал это возможным.

Критические изменения

sample теперь поддерживает опцию path:, которая позволяет переопределить путь к образцу. — use_sample_pack теперь устарела и больше не доступна. Рассмотрите возможность использования новой системы фильтров. Подробнее см. в документации для sample. — current_sample_pack теперь устарел и больше не доступен. — Удалена функция inspect. (Стандартная печать теперь вызывает Object#inspect по умолчанию). — load_sample теперь загружает только первый соответствующий образец. load_samples теперь загружает все соответствующие образцы. — Убрана система автоматического перезапуска сервера SuperCollider, поскольку она плохо конфликтовала с машинами, которые переходили в «спящий режим» (например, когда ноутбук закрыт). Функция reboot всё ещё поддерживается и может быть запущена вручную при необходимости. — Вызовы play, synth и sample теперь потребляют все свои аргументы перед проверкой того, должен ли быть запущен синтезатор. Это гарантирует, что все объявленные ранды будут использованы. Это изменение может потенциально изменить потребление случайного потока. Рассмотрите возможность использования rand_back или rand_skip для повторного выравнивания потока при необходимости. — Новые потоки теперь начинаются со свежим набором счётчиков тиков и новым случайным потоком. — Больше нельзя использовать лямбды в качестве значений по умолчанию для синтезаторов. Это связано с тем, что значения по умолчанию синтезатора являются общими для границ потоков, и теперь существует новая система безопасности, которая позволяет использовать только неизменяемые/сериализуемые значения. К сожалению, в Ruby нет понятия «чистой» функции, и каждая лямбда захватывает свою среду и поэтому может содержать свободные переменные, указывающие на изменяемые данные. Разрабатывается система замены для описания простого набора чистых функций.

Новые функции

reset — сбрасывает локальные переменные пользователя (такие как тики и индекс потока рандов) до состояния, записанного в начале текущего потока. — clear — очищает все локальные переменные пользователя до пустого состояния. — time_warp — позволяет сдвигать целые блоки кода вперёд или назад во времени до значения current_sched_ahead_time. — rand_look — генерирует случайное число без использования ранда, просматривая вперёд в случайном потоке. — rand_i_look — генерировать... Версия 2.10 — Cowbell

Пятница, 15 апреля 2016 г. (просмотреть коммиты)

«Мне нужно больше колокольчиков!» — Брюс Дикинсон.

В этом выпуске основное внимание уделяется совершенно новой системе образцов для работы с большими папками образцов. Теперь вы можете легко индексировать и фильтровать целые папки образцов с помощью простой, но мощной системы фильтров. Эта система разрабатывалась более года и была настроена и доработана в ходе многих выступлений и практических занятий. Подробнее см. документацию и примеры для sample, а также новый раздел учебника 3.7.

У нас также есть ряд новых интересных звуков, включая несколько красиво звучащих чиптюновых синтезаторов, забавные ретро-эффекты и новые образцы ударных, включая полный набор табла и колокольчик.

Наконец, было исправлено ещё больше проблем с загрузкой как на OS X, так и на Windows, что делает этот выпуск самым отполированным и стабильным на сегодняшний день.

Теперь приступайте к живому коду!

Изменения:

  • Были удалены use_sample_pack_as и with_sample_pack_as.
  • Значение opt для synth, равное nil, теперь не разрешается равным 0,0. Вместо этого оно маскирует любые значения по умолчанию и обеспечивает соблюдение значений по умолчанию ниже по потоку (для самого synthdef). Это позволяет переопределить существующие значения по умолчанию для синтеза, указанные через use_synth_defaults для данного триггера синтеза.
  • По умолчанию время расписания вперёд теперь составляет 0,5 с на всех платформах для обеспечения согласованности (за исключением Raspberry Pi 1, где оно остаётся равным 1 с).

Новые функции:

  • current_random_seed — получить текущее значение семени генератора случайных чисел.
  • set_cent_tuning! — глобальная настройка.
  • on — аналогично if, но ведёт себя так же, как опция on: для синтезаторов и образцов.
  • halves — создать кольцо последовательных половин.
  • doubles — создать кольцо последовательных двойников.
  • pick — аналогично shuffle, но допускает дубликаты. Вы также можете указать, сколько элементов выбрать.
  • fx_names — создать кольцо всех доступных эффектов.

Синтезаторы и эффекты:

  • Новый синтезатор dtri — расстроенные треугольные волны.
  • Новый синтезатор pluck — прекрасный синтезированный звук струны.
  • Новый синтезатор chiplead — ретро-стиль ведущего синтезатора NES.
  • Новый синтезатор chipbass — ретро-бас-синтезатор в стиле NES.
  • Новый синтезатор chipnoise — ретро-шумовой синтезатор в стиле NES.
  • Новый эффект whammy — низкотехнологичный эффект транспозиции, похожий на гитарную педаль Digitech Whammy.
  • Новый эффект octaver — низкотехнологичный октавный эффект, похожий на ранние гитарные педали.
  • Новый эффект vowel — модифицирует входящий сигнал в соответствии со звуками гласных человека.
  • Новый эффект mono — моноэффект для суммирования стереоканалов.
  • Эффект tanh теперь более хрустящий по умолчанию.
  • Эффекты compressor и krush теперь правильно учитывают опцию mix:.

Образцы:

  • Теперь поддерживаются образцы в формате FLAC (Free Lossless Audio Codec)!
  • Функция sample получила предварительные параметры источника и фильтра. Теперь можно указать ряд параметров непосредственно перед параметрами, которые описывают как папки, содержащие образцы, так и фильтры над этими папками, чтобы вы могли легко и быстро работать с большими наборами образцов. Дополнительную информацию см. в разделе 3.7 учебника.
  • У сэмплеров теперь есть hpf: и lpf:. Перевод текста на русский язык:

Опции. Все опции cutoff: автоматически переключаются на lpf:, и обо всех ошибках будет сообщаться с префиксом lpf:

  • Синтезатор сэмплов получил компрессор, который включается через опцию compress:. Это означает, что теперь вы можете сжимать любой запускаемый сэмпл напрямую, без необходимости использовать FX.
  • Сэмплеры получили опцию pre_amp:, которая применяет усилитель в начале внутренней сигнальной цепи. Вы можете использовать это для перегрузки нового компрессора.
  • Теперь сэмплеры имеют огибающие фильтров высоких и низких частот, которые ведут себя аналогично амплитудной огибающей, но управляют внутренними эффектами hpf и lpf. Они доступны через новые опции, которые отражают стандартные опции огибающих, но с префиксами hpf_ и lpf_ (например, hpf_attack, lpf_decay_level и т. д.).
  • Передача пути к каталогу в load_samples теперь загружает все сэмплы из этого каталога.
  • Передача пути к каталогу в free_samples теперь освобождает все загруженные сэмплы в этом каталоге.
  • Теперь образцы загружаются асинхронно в отдельном потоке. Это не блокирует текущий поток и не приводит к задержке последующих триггеров синтезатора/сэмпла.
  • Журнал триггеров сэмплов теперь включает каталог содержащегося сэмпла.
  • Образцы теперь перезагружаются асинхронно после перезагрузки сервера (и поэтому больше не блокируют выполнение).
  • Добавьте новую группу образцов :tabla_ с диапазоном звуков барабанов табла.
  • Добавьте новую группу сэмплов :vinyl_ с рядом царапин и шипений винила.
  • Добавить новые образцы: :drum_cowbell, :drum_roll, :misc_crow, :misc_cineboom, :perc_swash, :perc_till, :loop_safari, :loop_tabla.

GUI

  • Добавьте новое предпочтение, чтобы обеспечить строгое соблюдение сроков синтеза/FX. Когда включено, синтезаторы и сэмплы больше не срабатывают, если уже слишком поздно — вместо этого они молчат и печатают предупреждающее сообщение. Такое поведение гарантирует, что сэмплы или синтезаторы никогда не сработают не вовремя.
  • Новая кнопка загрузки, которая загрузит содержимое файла в текущий буфер.
  • Вертикальные полосы, помогающие визуализировать вложение, теперь отображаются непрерывно над пустыми строками.
  • C-k теперь удаляет завершающие пробелы.
  • У load_sample теперь есть автозаполнение образца.
  • GUI теперь правильно сообщает, является ли хост Raspberry Pi 3.
  • Новое предпочтение редактора — Log Auto Scroll. Если включено, всегда будет прокручивать журнал до конца после печати каждого нового сообщения.
  • Пробелы в верхней и нижней части буфера больше не обрезаются.
  • Нажатие RETURN теперь автоматически делает отступ в буфере, обеспечивая перемещение курсора на правильную позицию отступа на следующей строке.
  • Добавлен перевод китайского упрощённого интерфейса.
  • Видимость журнала теперь корректно соответствует предпочтению GUI.

Документация

  • Новый раздел учебника 3.7 о фильтрах пакетов образцов.
  • Новые разделы приложения.
  • Примеры для функции sample были полностью переписаны и расширены.

Улучшения

  • scale и chord теперь могут обрабатывать отсутствие тоники, например: (chord :minor), который вернёт кольцо смещений от 0.
  • chord изучил новые варианты: add2, add4, add9, add11, add13, madd2, madd4, madd9, madd11, madd13.
  • Метод .take кольца теперь может принимать больше элементов, чем исходное кольцо, оборачиваясь вокруг: (ring 1, 2, 3).take(5) #=> (ring 1, 2, 3, 1, 2).
  • Кольца теперь можно складывать или вычитать друг из друга, например, (ring 1, 2, 3) + (ring 4) #=> (ring 1, 2, 3, 4).
  • Сложение или вычитание числа из кольца создаст новое кольцо с числом, добавленным или вычтенным из каждого элемента исходного кольца: (ring 1, 2, 3) - 1 #=> (ring 0.0, 1.0, 2.0).
  • Вызов (ring 1, 2, 3).take(0) теперь возвращает пустое кольцо.
  • density теперь жалуется, если ему не передан блок do/end.
  • Улучшены сообщения об ошибках для use/with_synth, когда случайно передаются опции.

Исправления ошибок

  • Только в OS X при загрузке возникает ошибка, если ясно, что частоты дискретизации звуковой карты различаются.

  • Повышена надёжность процесса загрузки в Windows.

  • Примечания к остаткам больше не печатаются, если ведение журнала синтезатора отключено.

  • Синт-дефолты больше не применяются к FX.

  • Теперь вы можете управлять опциями, у которых нет... Ассоциированная информация (ранее возникала ошибка «немодулируемый»)

  • Исправить индексацию поиска векторов.

  • Исправить сочетание клавиш C-i для поиска документации по :tb303, чтобы оно работало.

  • Теперь C-i всегда отображает документацию, если она доступна (раньше иногда не отображалась).

  • Правильное переключение между аккордами.

  • Версия для Windows теперь загружается на нескольких сетевых машинах, где выполнен вход с использованием одной и той же учётной записи.

Версия 2.9 — Venster

Четверг, 31 декабря 2015 года (просмотреть коммиты)

Сразу после предыдущего релиза выходит версия 2.9 под кодовым названием Venster (что означает «окно» на голландском языке). В этом релизе особое внимание уделяется исправлению всех известных проблем с работой Sonic Pi в Windows. Если вы уже пробовали использовать Sonic Pi на Windows и у вас были проблемы, обязательно попробуйте ещё раз с версией 2.9. Если у вас всё ещё есть проблемы с Windows, пожалуйста, сообщите нам, чтобы мы могли исправить их как можно скорее.

Для всех пользователей Raspberry Pi и Mac OS X — вы не остались в стороне. Sonic Pi так же стабилен, как и раньше (если не более стабилен), а версия 2.9 содержит удивительное количество настроек и функций за короткий 1 месяц разработки. Есть два новых эффекта FX: tanh и gverb, а также сильно обновлённая система логирования, которая более чётко показывает, какие опции фактически используются для ваших синтезаторов и семплов. Наконец, теперь мы включаем все опубликованные статьи журнала MagPi в учебник. Также теперь у нас есть переводы интерфейса на венгерский и норвежский языки.

Счастливого Live Coding!

Изменения

  • Переименовать функцию invert_chord в chord_invert.
  • Семплер больше не смешивает опции rate: и pitch_stretch:. Теперь можно установить rate: независимо от модификации pitch:, вызванной pitch_stretch.

Новые функции

  • block_duration — возвращает продолжительность данного блока в секундах (не масштабируется с BPM).
  • block_slept? — возвращает true, если содержимое блока спало или синхронизировалось.
  • synth_names — возвращает список всех доступных синтезаторов.
  • reset_mixer! — сбрасывает основной микшер до его значений по умолчанию.
  • sample_free — выгружает семпл из памяти, чтобы освободить память.
  • sample_free_all — выгружает все семплы из памяти.
  • use_octave — аналогично use_transpose, но для целых октав.
  • with_octave — аналогично with_transpose, но для целых октав.
  • use_merged_sample_defaults — аналогично use_merged_synth_defaults, но для семплов.
  • with_merged_sample_defaults — аналогично with_merged_synth_defaults, но для семплов.
  • use_cent_tuning — равномерно настраивает все последующие ноты в центах.
  • with_cent_tuning — равномерно настраивает все ноты в центах в блоке.

Синтезаторы и эффекты

  • Новый эффект FX tanh — для большего искажения.
  • Новый эффект FX gverb — другой эффект реверберации для игры.

Интерфейс

  • Синтезаторы и семплы теперь также регистрируют значения по умолчанию, установленные use_synth_defaults и друзьями.
  • Опции регистрируются в том порядке, в котором они были определены, сначала локальные опции, затем унаследованные.
  • Масштабирование BPM теперь учитывается при регистрации значений.
  • Метаданные журнала, такие как номер запуска и время, теперь печатаются более похожим на код способом: в виде хеша пар ключ-значение.
  • C-k теперь будет удалять несколько строк, если строки заканчиваются на ,.
  • При сохранении буфера расширение .txt автоматически добавляется к имени файла, если оно не указано.
  • Добавлены венгерский и норвежский переводы интерфейса.
  • Добавлен испанский перевод учебника.
  • Добавлено название в главное окно — позволяет выбрать Sonic Pi в списках совместного использования экрана, таких как Google Hangouts и OBS.
  • Автозавершение для систем настройки.

Документация

  • Добавить 8 полных статей журнала MagPi в приложение А.
  • Добавить новый пример «эксперимент с атмосферой» от Дарина Уилсона.
  • Добавить новый пример «инверсии аккордов» от Адриана Читера.
  • Изменить лицензию учебника на CC-BY-SA 4.0.
  • Инструкции по компиляции и сборке на Windows.
  • Множество мелких улучшений и изменений.

Улучшения

  • Добавить опцию sync: в live_loop и in_thread. Теперь это синхронизирует живой цикл один раз при создании. Подобно опции delay:, если указаны и sync:, и delay:, задержка происходит до синхронизации.

  • Функция synth теперь может воспроизводить аккорды с опцией notes:, например: synth :dsaw, notes: (chord :e3, :minor). Это вернёт один управляемый узел синтезатора, представляющий все ноты, аналогично play_chord.

  • Масштабирование BPM и другая нормализация теперь учитываются при управлении узлами.

  • Опция on: теперь учитывается при воспроизведении аккордов.

  • Звуковой сигнал сэмплеров теперь обходит огибающую фильтра, когда не используется.

  • Теперь можно использовать внешние FX-синтезаторы, передавая строку в качестве имени FX: with_fx "my_shiny_effect". Его необходимо загрузить вручную через load_synthdefs.

  • OS X теперь поддерживает частоты, отличные от 44,1 кГц, при условии, что они одинаковы для аудиовхода и выхода.

  • Запустите код в ~/.sonic-pi/init.rb, если он существует, при запуске.

  • Если установлена переменная среды SONIC_PI_HOME, она будет использоваться вместо ~ в качестве корня пользовательского каталога .sonic-pi (используется для автоматического сохранения файлов и хранения журналов).

  • Выбор звуковой карты по умолчанию теперь учитывается на Raspberry Pi — теперь вы можете использовать свою IQaudIO-шляпу (или аналогичную) прямо из коробки.

Исправления ошибок

  • Исправлено количество ошибок проверки синтеза.

  • Устранены периодически возникающие проблемы с загрузкой в Windows.

  • Добавлена функция автоматического перезапуска для аудиосервера. Теперь он обнаруживает ошибки в сервере (например, завершённый или зомбированный процесс) и автоматически перезагружает его, чтобы Sonic Pi мог продолжить работу без полного перезапуска. Перезагрузки автоматически перезагружают все загруженные образцы и synthdefs.

  • sample_duration теперь правильно учитывает значения TL по умолчанию, установленные use_sample_defaults.

  • Сэмплерные опции pitch_stretch, beat_stretch и rpitch теперь можно использовать в значениях TL по умолчанию.

Версия 2.8 — «Карлсруэ»

Пятница, 20 ноября 2015 года (просмотреть коммиты)

Эта версия, названная в честь Карлсруэ, одного из городов, где зародилось живое кодирование, представляет собой в основном релиз для обслуживания с упором на производительность, стабильность и документацию. Таким образом, это самый быстрый и стабильный выпуск Sonic Pi с огромным 10-процентным улучшением производительности по сравнению с оригинальным Raspberry Pi 1. В нём также есть новые переводы на польский, японский и французский языки. Многие из этих улучшений (такие как полная переработка стека OSC) не документированы в этом списке релизов, но их можно найти в журналах коммитов на Github.

Однако нельзя не заметить ряд интересных новых функций. Например, теперь у нас есть новый Band EQ FX, возможность использовать названия MIDI-нот, такие как :e5, в качестве значений для опций, таких как cutoff:, а также новые мощные огибающие среза на сэмплере.

Критические изменения

  • Изменены сочетания клавиш для переключения буферов. Теперь это M-{ и M-} для переключения влево и вправо соответственно.

  • Синхронизация больше не наследует BPM по умолчанию. Установите опцию bpm_sync: в значение true, чтобы включить наследование BPM.

  • Генерация случайных семян для новых потоков теперь сбрасывается при вызовах use_random_seed.

Новые функции

  • octs — возвращает кольцо последовательных октав.

  • assert — для создания исключения, если аргумент не является истинным.

  • assert_equal — для создания исключения, если два аргумента не равны.

  • bt — преобразует указанное время относительно текущего BPM.

  • inspect — аналогично print, но печатает проверенную версию аргумента.

GUI

  • Новые переводы на польский, японский и французский.

  • Повышение эффективности панели ведения журнала.

  • M-RET теперь дублирует ярлык для запуска кода.

  • Заголовок журнала теперь скрыт в полноэкранном режиме.

  • Журнал — не отображать └ или ├, если строка пуста, вместо этого отображать │

  • Добавить автозаполнение имени образца к большему количеству функций, таких как sample_duration.

Документация

  • Новый раздел учебника по кольцевым цепочкам (цепочкам функций для изменения колец).

  • Пример Tilburg 2 слегка изменён для совместимости с Raspberry Pi 1.

  • Множество мелких доработок и улучшений во всех областях.

Синтезаторы и FX

  • Новый FX — Band EQ для ослабления или усиления определённой полосы частот.

  • Новый синтезатор — DPulse — расстроенная импульсная волна.

  • Сэмплер теперь имеет огибающую среза, доступ к которой можно получить через новые опции с префиксом «cutoff_» (например, «cutoff_attack», «cutoff_decay_level» и т. д.), которые являются зеркальным отражением стандартных опций огибающей.
  • Сэмплер теперь корректно обрабатывает семплы с разной частотой дискретизации.
  • Эффект Bitcrusher теперь имеет внутренний фильтр нижних частот, который можно настроить с помощью новой опции «cutoff».
  • Panslicer теперь правильно учитывает минимальные и максимальные значения панорамы.
  • Новые стандартные опции «on:» для «sample» и «synth». Они действуют как «if», но обеспечивают оценку всех значений опций (полезно, если вы хотите поддерживать потребление случайных потоков или тиков постоянным, даже когда не запускаете синтезатор).
  • MIDI-опции, такие как «cutoff:», теперь могут принимать названия нот, например «:c4».
  • FX изучили глобальную опцию «slide:», чтобы соответствовать синтезатору.

Улучшения

  • Значительное повышение производительности.
  • Научить «play_pattern_timed» обрабатывать кольца.
  • «current_transpose» теперь возвращает 0, если нет текущей транспозиции.
  • Масштабирование BPM теперь учитывается при управлении синтезаторами и эффектами.
  • Все функции «with_fx *» теперь возвращают результат своего блока.
  • Функция «spark» теперь корректно работает с кольцами.
  • Функция «spark» теперь рассматривает логические значения как 1 и 0, поэтому теперь вы можете использовать функцию «spark» для колец логических значений.
  • Функции «puts», «print» и «mc_message» теперь обрабатывают несколько аргументов сообщений.

Исправления ошибок

  • Убедитесь, что функция «with_fx» не поглощает изменения TL, такие как транспонирование, текущий синтезатор и т.д.
  • Убедитесь, что функция «with_fx» не влияет на начальное значение генератора случайных чисел.
  • Повысьте надёжность процесса загрузки на Mac и Windows.
  • Опция предварительного усиления эффектов «pre_amp:» больше не масштабируется относительно текущего BPM.
  • Исправлена ​​графическая сторона системы проверки обновлений.

Версия 2.7 — «Rerezzed»

Четверг, 10 сентября 2015 г. (просмотреть коммиты)

Этот релиз вносит существенные изменения в генератор случайных чисел. К сожалению, это приводит к нарушению обратной совместимости. Если вы использовали функции «rand», «choose», «shuffle» и другие для создания предсказуемых паттернов для своих риффов, ваш код будет давать разные результаты в этом релизе. Пожалуйста, позвольте мне извиниться и сказать, что это делается по уважительной причине. Так в чём же причина? Теперь вы можете прыгать вперёд и назад по случайному потоку, предоставляя вам гораздо больше творческого контроля, чем раньше! Случайный поток теперь также объединён со случайным потоком на сервере синтеза, позволяя синхронизировать поведение между синтезаторами и кодом. Захватывающие времена.

Сэмплер также был усилен. Теперь мы можем легко изменять скорость с помощью MIDI-нот с помощью «rpitch:» и растягивать семпл, сохраняя высоту тона, с помощью «pitch_stretch:» (хотя и с переменными результатами ;-)).

Наконец, теперь вы можете управлять глобальным микшером с помощью «set_mixer_control!» для тех полных фильтров, охватывающих весь звук...

Получайте удовольствие и наслаждайтесь живым кодированием!

Критические изменения

  • Полная переработка системы случайных чисел. Это означает, что если вы комбинировали вызовы «use_random_seed» со случайными значениями для создания предсказуемых мелодий/ритмов/тембральных манипуляций, то, к сожалению, вы получите разные результаты в версии 2.7. Это изменение предназначено для синхронизации как потока Ruby rand с потоком SuperCollider, так и для включения реверсирования вызовов rand через «rand_back».
  • «sync» теперь заставляет BPM наследоваться от потока, вызывающего соответствующий «cue». Это можно отключить с помощью нового «bpm_sync:».
  • «rrand» и «rand» теперь возвращают 0 при вызове с 0.
  • «invert_chord» теперь обрабатывает отрицательные инверсии более подходящим для музыки образом.

Новые функции

  • «ratio_to_pitch», которая обеспечивает обратное «pitch_to_ratio».
  • «midi_notes» — возвращает кольцо чисел (отображение исходного кольца/массива через функцию «note»).
  • «rand_back» — реверсирует случайный поток и «отменяет» вызовы «rand».
  • «rand_skip» — пропускает вперёд случайный поток.
  • «rand_reset» — сбрасывает случайный поток до последнего начального числа.

Графический интерфейс

  • Теперь можно включать и выключать комментирование целых выделений или отдельных строк с помощью сочетания клавиш M-/ .
  • Добавлен исландский перевод.

Синтезаторы и... Чтобы убедиться, что длительность сэмпла составляет n ударов (относительно текущего BPM). Обратите внимание: растягивание удара действительно изменяет высоту тона.

  • Научите сэмплер параметру pitch, чтобы включить смещение высоты тона для любого сэмпла.
  • Микширование обратной связи эффекта фленджера теперь более справедливо и с меньшей вероятностью увеличивает амплитуду.

Улучшения

  • Научить note_info также обрабатывать число в качестве параметра.
  • Научить factor? обрабатывать деление на 0.
  • Научить load_sample генерировать исключение при передаче пустого пути.
  • Теперь генерирует исключение при попытке создать пустое кольцо.
  • Кольца теперь неизменяемы (в смысле Clojure), что означает, что их можно безопасно передавать нескольким потокам/live_loops без каких-либо проблем.
  • Научить use_sample_bpm параметр num_beats:, чтобы указать, что данный сэмпл состоит из определённого количества ударов.
  • Научить комментировать и раскомментировать требовать блоки.
  • Научить синтезаторные аккордовые группы позволять управлять своими нотами индивидуально, чтобы обеспечить переходы между аккордами.
  • Генерировать более приятное исключение, когда невозможно нормализовать аргументы синтезатора.
  • Научить аккорд новому параметру invert:, как ярлык для новой функции invert_chord.
  • Научить sample_duration параметрам start: и finish:, а также опциям огибающей, таким как attack: и release:. Это позволяет заменить любой вызов sample на sample_duration, чтобы получить точную продолжительность этого вызова.
  • Научить аккорды параметру num_octaves, чтобы упростить создание арпеджио.
  • Теперь можно установить тип блока в API Minecraft.

Исправления ошибок

  • Исправлена ошибка в with_sample_pack_as, теперь корректно принимает блок.
  • mc_surface_teleport больше не выдаёт ошибку.
  • Array#shuffle теперь работает правильно с случайными начальными значениями для детерминированного поведения.
  • Исправлено некорректное поведение с несколькими вложенными вызовами *_sample_bpm.

Версия 2.5 — «Craft»

Понедельник, 13 апреля 2015 г. (просмотреть коммиты)

Этот релиз поддерживает Minecraft: Pi Edition, установленный на Raspberry Pi. Теперь вы можете создавать музыку с визуальными эффектами Minecraft или даже кодировать партитуру синтезатора в блоках Minecraft и читать и воспроизводить партитуру из Sonic Pi! Ещё одним интересным аспектом этого выпуска является значительно улучшенная функциональность редактора для навигации и манипулирования кодом с помощью сочетаний клавиш. Это означает, что живое программирование стало намного веселее. Сочетания клавиш основаны на стандартных сочетаниях клавиш, предоставляемых GNU Emacs — старейшим и самым мощным текстовым редактором, используемым сегодня волшебниками-программистами.

Критические изменения

  • invert_wave теперь по умолчанию равен 1 везде. Я обнаружил, что всегда инвертировал волну каждый раз, когда использовал синтезатор/эффект, где инверсия волны была ключевой. Это казалось гораздо лучшим значением по умолчанию, поэтому я нарушил совместимость. Приношу извинения, если это повлияло на вас.
  • Эффект фленжера теперь по умолчанию устанавливает для необязательного аргумента stereo_invert_wave значение 1.
  • Переименовал эффект кольца в ring_mod, чтобы уменьшить вероятность путаницы с кольцевой структурой данных.
  • Tab теперь делает отступ текущей строки или выделения, а не вставляет бесполезный символ табуляции.

Новое

  • Поддержка программирования Minecraft Pi Edition.
  • Синхронизация теперь принимает несколько идентификаторов сигналов и будет синхронизироваться по первому совпадающему идентификатору.
  • Новая функция pitch_ratio для преобразования ноты MIDI в соотношение частот. Полезно для настройки образцов.
  • Новая функция line для создания линии от начала до конца с определённым количеством срезов.
  • Новый fn spark для отображения списков чисел в причудливом текстовом графике ( ▃▅▇) в журнале.
  • При остановке амплитуда выходного сигнала снижается в течение 1 секунды до тишины для более плавного перехода.
  • sample_duration теперь масштабирует результат в зависимости от текущего BPM.
  • range теперь принимает необязательные аргументы: inclusive: и step:.

GUI

  • Немецкий перевод графического интерфейса и учебника. Просто откройте Sonic Pi на машине с настройкой немецкого языка.

  • Графический интерфейс полностью развёрнут при первом открытии.

  • Индексирование рабочего пространства теперь начинается с 0, чтобы соответствовать стандарту. Из идентичного.

  • range теперь является эксклюзивным: (range 1, 5) #=> (ring 1, 2, 3, 4).

Новое:

  • Новая функция density для сжатия и повторения времени в стиле Доктора Кто. Например, оборачивание некоторого кода вызовом функции density, равной 2, удвоит темп для этого блока, а также повторит его дважды. Это гарантирует, что блок займёт то же самое время для выполнения, выполняя при этом вдвое больше работы.
  • Новые функции with_bpm_mul и use_bpm_mul, которые будут умножать текущий темп на указанное количество. Полезны для замедления и ускорения выполнения определённого потока или live_loop.
  • Новая функция rdist — генерирует случайное число с центрированным распределением.
  • Новые примеры: square skit, shufflit и tilburg.

Улучшения:

  • Научить control игнорировать узлы nil, т. е. control nil, amp: 3 ничего не сделает.
  • Научить Float#times выдавать значение с плавающей точкой блоку. Например, 3.4.times {|v| puts v} выдаст 0.0, 1.0 и 2.0.
  • Аргументы Synth, Sample и FX теперь корректно обрабатывают значения bool и nil. true разрешается в 1.0, а false и nil разрешаются в 0.0. Это позволяет писать код, например, так: play :e3, invert_wave: true.
  • Научить функцию at обрабатывать различные арности блоков по-разному. Смотрите документацию для получения более подробной информации. Исходное поведение сохраняется и только расширяется.
  • Приложение теперь проверяет наличие обновлений (не чаще одного раза в две недели). Эту функцию можно отключить в настройках.
  • Научить :reverb FX расширять своё время задержки уничтожения с увеличением размера комнаты, чтобы уменьшить вероятность отсечения.

Синтезаторы и эффекты:

  • Новый эффект bitcrusher — для измельчения и уничтожения этих звуков высокого качества.
  • Новый эффект flanger — классический свистящий эффект, обычно используемый с вокалом и гитарами.
  • Новый эффект ring — кольцевая модуляция для создания звука дружелюбного далека.
  • Новый эффект bpf — полосовой фильтр.
  • Новый эффект rbpf — резонансный полосовой фильтр.
  • Новый эффект nbpf — нормализованный полосовой фильтр.
  • Новый эффект nrbpf — нормализованный резонансный полосовой фильтр.

Новые сэмплы:

  • perc_snap — щелчок пальцем.
  • perc_snap2 — ещё один щелчок пальцем.
  • bd_ada — басовый барабан.
  • guit_em9 — прекрасный гитарный арпеджио над Em9.

Исправления ошибок:

  • Пространство имён функций live_loop и имён потоков, чтобы они не конфликтовали со стандартными пользовательскими потоками и функциями.
  • Графический интерфейс больше не падает, когда вы начинаете строку с символа.
  • Функция with_fx теперь возвращает результат блока.
  • Убивать зомби-серверы scsynth при запуске для лучшего восстановления после сбоя.
  • Обрабатывать пути с символами UTF8 корректно.
  • Принудительно устанавливать частоту дискретизации для вывода и ввода на уровне 44 кГц на OS X. Это предотвращает сбой scsynth, когда частоты дискретизации вывода и ввода различаются.

Версия 2.2 — «Слайсер»

Четверг, 18 декабря 2014 года (просмотреть коммиты)

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

Критические изменения:

  • Теперь функция use_sample_pack_as использует двойной символ подчёркивания __ в качестве разделителя между указанным пользователем псевдонимом и именем образца.

Изменения API:

  • Обучить аргументы synth принимать префиксные карты: play 50, {amp: 0.5}, {release: 2}, amp: 2.
  • Не округлять числа с плавающей запятой, когда пользователь специально печатает их в журнале с помощью команды puts.
  • Эффекты with_fx теперь запускаются с использованием виртуального времени, а не реального времени. Это означает, что эффекты теперь можно использовать для ритмических целей.
  • Работа над новой структурой данных RingArray. По сути, это массив, который оборачивает свои индексы, поэтому вы можете использовать индексы больше размера массива.
  • Новая функция ring(ring 1, 2, 3) создаёт новый кольцевой массив.
  • Новая функция knit(knit :a1, 2, :c1, 1) возвращает (ring :a1, :a1, :c1).
  • Новая функция bools(bools 1, 0, 1) возвращает (ring true, false, true).
  • Новая функция range(range 70, 100, 10) возвращает (ring 70, 80, 90, 100).
  • Новая функция sample_loaded? — определяет, загружен ли конкретный образец.

Синтезаторы и эффекты:

  • Исправлена регрессия в синтезаторе :tb303 — звук возвращён к поведению версии 2.0.
  • Новый синтезатор — :square — чистый сигнал прямоугольной формы.

Графический интерфейс:

  • Справочная система. Запретить пользователям определять функции с тем же именем, что и у основных функций API

Синтезаторы, семплы и эффекты

  • Новые семплы (бас-барабаны, малые барабаны и петли).
  • Разрешить опцию mod_range: иметь отрицательные значения (для осцилляции с более низкими нотами).
  • Изменить механизм скольжения на линейный по умолчанию с поддержкой изменения типа кривой. Все изменяемые аргументы теперь имеют соответствующие аргументы _slide_shape и _slide_curve.
  • Улучшить синтезатор TB303 — теперь поддерживает отдельные огибающие ADSR среза. Новые опции:
    • cutoff_attack:,
    • cutoff_sustain:,
    • cutoff_decay:,
    • cutoff_release:,
    • cutoff_min_slide:,
    • cutoff_attack_level:,
    • cutoff_sustain_level:,
    • cutoff_env_curve:.

Версия 2.0.1

Вторник, 9 сентября 2014 г. (просмотреть коммиты)

  • Исправить функциональность записи.
  • Улучшение содержания и оформления документации.
  • Закрыть OSC-сервер от внешних клиентов.
  • Добавить страницы «История», «Авторы» и «Сообщество» в информационное окно.
  • Повышение скорости запуска на OS X.
  • Переработать и добавить сочетания клавиш для ключевых действий:
    • на RP все они начинаются с префикса alt-*;
    • на OS X все они начинаются с префикса cmd-*.
  • Улучшенное выделение сообщений журнала (сообщения cue/sync выделены более чётко).
  • Журнал теперь сообщает, когда выполнение прогона завершено.
  • Исправлена ошибка, возникающая при остановке потоков в сверхбыстрых циклах (остановлены сообщения с сервером).

Версия 2.0 — «Феникс»

Вторник, 2 сентября 2014 г. (просмотреть коммиты)

  • Полное переписывание с версии 1.0.
  • Поддержка Live Coding — переопределение поведения во время воспроизведения музыки.
  • Новая система синхронизации — теперь синхронизация гарантированно точная.
  • Множество новых синтезаторов.
  • Цепная система студийных эффектов.
  • Поддержка воспроизведения семплов.
  • Включение более 70 образцов CC0 с лицензией http://freesound.org.
  • Управление и изменение аргументов воспроизведения синтезатора, эффектов и семплов после их запуска.
  • Полностью переработанный графический интерфейс.
  • Справочная система с полной документацией, учебником и множеством примеров.
  • Функциональность записи (для записи выступлений/произведений).
  • Управление настройками звука системы на RP.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-sonic-pi.git
git@api.gitlife.ru:oschina-mirror/mirrors-sonic-pi.git
oschina-mirror
mirrors-sonic-pi
mirrors-sonic-pi
dev