Это релиз для обслуживания и исправления ошибок, который включает обновления всех основных внутренних зависимостей. Основная цель этого релиза — исправить проблемы с загрузкой в Windows с определёнными настройками локали.
— Улучшения в переводах на китайский, голландский, немецкий, индонезийский, итальянский, японский и русский языки.
— При раскомментировании удалять только один уровень комментариев.
Этот релиз содержит множество новых синтезаторов для игры. У нас есть новый мощный кик-барабан :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_beat_a
, :arovane_beat_b
, :arovane_beat_c
, :arovane_beat_d
, :arovane_beat_e
.: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
Документация
play_pattern_timed
.play_pattern_timed
.Переводы
Исправления ошибок
==
при сравнении карт с nil
. Теперь возвращает false
, как и ожидалось.Это ещё один выпуск для обслуживания и исправления ошибок — в первую очередь он направлен на решение критической проблемы с настройкой внешних звуковых карт для аудиовхода. Она была случайно введена в версии 4.2. Также была решена проблема с предпочтением автоматического отступа в графическом интерфейсе.
Теперь графический интерфейс ограничен одним экземпляром, открытым одновременно. Наличие нескольких экземпляров Sonic Pi, работающих одновременно, может вызвать конфликты. Теперь это больше невозможно, что должно уменьшить любые проблемы, которые пользователи могли наблюдать, когда случайно открывали приложение несколько раз подряд. Теперь будет открываться только первый экземпляр, а все последующие будут завершаться перед запуском, если обнаружат, что другой экземпляр уже запущен.
Графический интерфейс
Переводы
Исправление ошибок
14 сентября 2022 года
Основная цель этого выпуска — решить проблему с загрузкой, обнаруженную в школьном кластере Windows с общими ограничениями безопасности. Об этой проблеме сообщил Адам Купер из Moor Park High School & Sixth Form в Великобритании. Адам был очень полезен в поиске конкретной проблемы и тестировании потенциальных решений. Спасибо, Адам!
Если у вас были проблемы с запуском четвёртой версии Sonic Pi на школьных кластерах, пожалуйста, попробуйте эту версию! (Обратите внимание, эта проблема не затронула третью версию Sonic Pi).
Кроме того, были внесены некоторые улучшения перевода, Global Time Warp теперь имеет... Был обнаружен больший диапазон и несколько ошибок, связанных с time_warp, которые были исправлены. Наслаждайтесь!
.sonic-pi
, которая обычно помещается в домашний каталог пользователя. Если у пользователя нет разрешения на запись в свой домашний каталог, Sonic Pi теперь выдаёт описательную ошибку при загрузке и объясняет, что решение состоит в том, чтобы установить переменную среды с именем SONIC_PI_HOME
, чтобы она указывала на каталог, в который у пользователя есть разрешение на запись.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 был улучшен, а также были внесены правки в пользовательский интерфейс всех элементов управления метрономом.
Получайте удовольствие от синхронного воспроизведения с внешней музыкой и выводите свои совместные проекты по живому кодированию на новый уровень!
18 июля 2022 года
Это незначительный выпуск исправлений и технического обслуживания.
15 июля 2022 года
Сразу после версии 4.0.1 выходит ещё один выпуск исправлений, посвящённый проблеме с переводами.
За последний год произошли значительные изменения в процессе, используемом для создания Sonic Pi. Каким-то образом во время этого переворота переводы так и не попали в финальные релизные сборки, несмотря на то, что они были частью сборок для разработчиков. Так было с версии 4.0 BETA 1 ещё в августе 2021 года — и всё же это каким-то образом осталось незамеченным до сих пор. Приносим извинения! Этот релиз исправляет ситуацию и снова вводит переводы, которые так важны для снижения барьеров входа по всему миру.
В качестве бонуса удалось незаметно добавить пару приятных улучшений. Веселитесь!
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 в команду, и мы очень рады, что она с нами.
А теперь вперёд и наслаждайтесь живым джемом!
set_link_bpm!
, это динамически изменит темп для всех потоков. Предыдущее поведение (статический темп 60 без связи с глобальным метрономом) можно получить, запустив свой код с use_bpm 60
.onset:
для sample
молча игнорировала последний момент начала данного семпла. Теперь это исправлено. Поэтому некоторые семплы могут иметь дополнительный индекс момента начала, который не повлияет на любой код, использующий более ранние индексы, но повлияет на код, который использует индексы больше, чем количество моментов начала (и, следовательно, полагающийся на перенос индекса). Изменения в Sonic Pi
Удалено API Minecraft Pi Edition (все функции mc_
). Похоже, что Minecraft Pi Edition больше не поставляется с Raspberry Pi OS, и API издания для Pi отличается от стандартного API Minecraft.
Были изменены основные настройки микшера, чтобы уменьшить нагрузку на ограничитель в общих сценариях при установке ползунка громкости графического интерфейса пользователя в высокое положение. Это вызвало искажение звука и другие нежелательные проблемы со звуком. Это изменение должно быть улучшением для большинства пользователей, однако если вы хотите вернуться к старому поведению, вы можете запустить следующее в начале сеанса: set_mixer_control! pre_amp: 1, amp: 1
.
Значение, возвращаемое функцией beat
, больше не начинается с 0. Теперь оно инициализируется текущим значением бита Ableton Link. Кроме того, что начальное значение не равно 0, поведение beat
остаётся неизменным.
Новое
Поддержка Ableton Link. Это позволяет синхронизировать темп Sonic Pi, работающего на нескольких компьютерах, подключённых к одной сети. Также это позволит автоматически синхронизировать BPM с инструментами для создания музыки, такими как Ableton Live, VJ-инструментами, такими как Resolume, DJ-оборудованием, таким как MPC, и многими совместимыми приложениями для iPad. Полный список см.: https://www.ableton.com/link/products/.
Новая опция :link
для функции use_bpm
. Она включает режим Link для текущего потока, который автоматически синхронизирует BPM с метрономом Link (который также синхронизируется со всеми другими приложениями, поддерживающими Link, работающими на любом компьютере, подключённом к локальной (проводной или Wi-Fi) сети).
Новая функция link
, которая устанавливает BPM в новый режим :link
, а также ожидает начала следующего такта (определяемого Link), прежде чем продолжить. Это позволяет автоматически синхронизировать темп и фазу бита одной командой.
Новая функция link_sync
, которая устанавливает BPM в новый режим :link
, ожидает, пока сессия Link будет играть, а также ждёт начала следующего такта (как определено Link), прежде чем продолжить. Это позволяет «подготовить» Sonic Pi к автоматической синхронизации темпа и фазы бита и ожидать внешней команды «play» от другого устройства Link, такого как Ableton Live.
Новая функция set_link_bpm!
для изменения BPM/темпа метронома Link (и одновременного изменения темпа всех подключённых приложений, поддерживающих Link, в сети).
Новая функция current_random_source
, которая возвращает текущий тип источника случайных чисел (см. use_random_source
).
Новая функция load_synthdef
, позволяющая загрузить один файл synthdef.
Функция load_synths
теперь загружает как каталоги, так и отдельные файлы (при необходимости отправляя их в load_synthdef
).
Синтезаторы и эффекты
Новый синтезатор :winwood_lead
— ведущий синтезатор, вдохновлённый песнями Уинвуда начала 80-х.
Новый синтезатор :bass_foundation
— мягкий басовый синтезатор, вдохновлённый звуками 80-х годов.
Новый синтезатор :bass_highend
— дополнение к синтезатору :bass_foundation
, вдохновлённое звуками 80-х годов.
Примеры
Новый пример Algomancer — Blockgame, созданный DJ_Dave.
Новый пример Sorcerer — Lorezzed.
Графический интерфейс
Панель настроек теперь является оверлеем, который парит над главным окном. Это означает, что её открытие и закрытие не изменяет случайно тщательно выбранный макет, например, для выступления.
Новая опция настройки, позволяющая показывать и скрывать заголовки панелей, такие как Scope, Log, Cues, Context, Help и т. д.
Новая опция настройки для скрытия строки меню в полноэкранном режиме (только для Windows и Linux, поскольку такое поведение стандартно для macOS).
Новая опция настройки для включения аудиовходов (теперь отключена по умолчанию). Изменение этого параметра требует перезагрузки для вступления в силу.
Новая опция настройки для выбора перевода по умолчанию. Изменение этого параметра требует перезагрузки для вступления в силу.
Настройки теперь показывают информацию об аудиооборудовании, такую как подключённые устройства ввода/вывода, частота дискретизации, размер блока и т.д. Объём отображаемой информации зависит от платформы.
Новые элементы управления GUI для взаимодействия с новым метрономом Link. Вы можете подключаться/отключаться к сети (чтобы делиться темпом с другими), изменять темп (в BPM) и устанавливать новый темп.
Увеличение ширины разделителей панели и выделение при наведении курсора мыши. Выделить полосы прокрутки и описания флажков настроек при наведении курсора мыши.
Полосы прокрутки теперь имеют закруглённые края.
Научить автозаполнение случайным выбором источника: :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:
Этот выпуск также включает незначительные обновления переводов.
28 января 2021 года (просмотреть коммиты):
Десять месяцев разработки, более 700 отдельных коммитов, любящие вклады многих людей вошли в эту новую версию Sonic Pi. Этот выпуск также является результатом трёхмесячного процесса бета-тестирования сообщества, который проходил на Patreon, где сторонники получили доступ к ранним выпускам и действительно помогли отполировать и сформировать разработку. Огромное спасибо всем, кто поддерживал продолжение разработки. Мы очень рады и гордимся тем, что можем поделиться этим новым выпуском со всеми вами.
Что касается значительных изменений, было внесено много внутренних улучшений, включая полную переработку нашей подсистемы MIDI. Это не должно привести к большим изменениям для пользователя (хотя некоторые имена MIDI-сигналов могли немного измениться), но это действительно настраивает нас на некоторые захватывающие события в будущем. По сути, мы переносим большую часть основных функций ввода/вывода Sonic Pi в специальную систему под названием BEAM и язык под названием Erlang. Это система, которая уделяет большое внимание низкой задержке, низкому дрожанию и высокой параллельности, что именно и требуется для ввода/вывода музыкальной системы! Мы так взволнованы, увидев, чего мы сможем достичь с этим новым подходом, что BEAM фигурирует в качестве кодового названия этого выпуска.
Ещё одна область, которой уделялось много внимания и любви, — это наш сильный акцент на доступности. Теперь у нас есть значительно улучшенная строка меню, которая по существу дублирует большую часть... Функционал, который есть в настройках, теперь доступен в формате, с которым очень легко работать через программу чтения с экрана. Мы также добавили новую контекстную панель, которая отображает текущую строку и позицию символа в результате сотрудничества с группой доступности Лейденского университета. Уже было проведено множество исследований, которые сообщают об успехе для слепых и слабовидящих пользователей Sonic Pi, поэтому мы уверены, что мы на правильном пути в отношении доступности. Мы также не останавливаемся на достигнутом и всегда ищем способы снизить многочисленные барьеры для творческого опыта работы с кодом для всех.
Это также первый релиз, в котором мы официально приветствуем Криса Могана как последнего члена основной команды Sonic Pi. Крис внёс значительный вклад за последний год, включая улучшения в области охвата и полную переработку нашего процесса сборки. Я надеюсь, вы присоединитесь к нам и поприветствуете Криса в команде.
Наконец, у нас есть официальная поддержка macOS Big Sur, несколько прекрасных новых синтезаторов и эффектов, улучшенные переводы, поддержка расширенной конфигурации (аудио и цветовая тематика), новые турецкие гаммы и множество исправлений ошибок и улучшений.
Мы действительно надеемся, что вам понравится эта версия Sonic Pi так же, как и нам.
Счастливого живого кодирования!
sync
и get
необходимо обновить соответствующим образом.use/with_random_source
— изменение текущего потока случайных чисел, используемого при выборе случайных значений. Теперь у нас есть :white
, :light_pink
, :pink
, :dark_pink
и :perlin
. По умолчанию используется :white
, который является тем же потоком, что и в предыдущих выпусках, для сохранения совместимости.~/.sonic-pi/config/README.md
.:rodeo
— имитация электрического пианино.:kalimba
— африканское пальцевое пианино.:autotuner
note:
и formant_ratio:
.mix
, pre_mix
и pre_amp
теперь зависят от slide:
.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 благодаря дополнительным библиотекам, включённым в установщик.
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-сигнала.osc
теперь заставляет все исходящие аргументы быть либо числами, либо строками (двоичные капли и метки времени в настоящее время не поддерживаются). Если значение не является числом или строкой, оно «проверяется» и вместо него отправляется результирующая строка описания.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
..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 кГц.
:tb303
и, возможно, в других. Все синтезаторы должны звучать и вести себя так же, как в версии v3.0.1
.with_sched_ahead_time
теперь корректно устанавливает время расписания перед запуском блока и возвращает результат самого блока.use_real_time
).set
и cue
больше не печатают повторяющиеся сообщения, что было возможно в некоторых случаях.time_warp
, которые были неверными и вводящими в заблуждение.offset:
для функции with_swing
теперь соответствует задокументированному поведению.sample_duration
правильно масштабироваться.on:
, когда воспроизводятся аккорды, чтобы он работал одинаково для всех нот в данном аккорде.defonce
несколько раз..take
для пустого кольца больше не приводит к бесконечной рекурсии, а вместо этого возвращает пустое кольцо.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, что делает этот выпуск самым отполированным и стабильным на сегодняшний день.
Теперь приступайте к живому коду!
Изменения:
Новые функции:
Синтезаторы и эффекты:
Образцы:
Опции. Все опции cutoff:
автоматически переключаются на lpf:
, и обо всех ошибках будет сообщаться с префиксом lpf:
compress:
. Это означает, что теперь вы можете сжимать любой запускаемый сэмпл напрямую, без необходимости использовать FX.pre_amp:
, которая применяет усилитель в начале внутренней сигнальной цепи. Вы можете использовать это для перегрузки нового компрессора.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
.C-k
теперь удаляет завершающие пробелы.load_sample
теперь есть автозаполнение образца.RETURN
теперь автоматически делает отступ в буфере, обеспечивая перемещение курсора на правильную позицию отступа на следующей строке.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!
Изменения
Новые функции
Синтезаторы и эффекты
Интерфейс
Документация
Улучшения
Добавить опцию 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 по умолчанию.
Пятница, 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
, но печатает проверенную версию аргумента.
Новые переводы на польский, японский и французский.
Повышение эффективности панели ведения журнала.
M-RET
теперь дублирует ярлык для запуска кода.
Заголовок журнала теперь скрыт в полноэкранном режиме.
Журнал — не отображать └ или ├, если строка пуста, вместо этого отображать │
Добавить автозаполнение имени образца к большему количеству функций, таких как sample_duration
.
Новый раздел учебника по кольцевым цепочкам (цепочкам функций для изменения колец).
Пример Tilburg 2 слегка изменён для совместимости с Raspberry Pi 1.
Множество мелких доработок и улучшений во всех областях.
Новый FX — Band EQ для ослабления или усиления определённой полосы частот.
Новый синтезатор — DPulse — расстроенная импульсная волна.
Четверг, 10 сентября 2015 г. (просмотреть коммиты)
Этот релиз вносит существенные изменения в генератор случайных чисел. К сожалению, это приводит к нарушению обратной совместимости. Если вы использовали функции «rand», «choose», «shuffle» и другие для создания предсказуемых паттернов для своих риффов, ваш код будет давать разные результаты в этом релизе. Пожалуйста, позвольте мне извиниться и сказать, что это делается по уважительной причине. Так в чём же причина? Теперь вы можете прыгать вперёд и назад по случайному потоку, предоставляя вам гораздо больше творческого контроля, чем раньше! Случайный поток теперь также объединён со случайным потоком на сервере синтеза, позволяя синхронизировать поведение между синтезаторами и кодом. Захватывающие времена.
Сэмплер также был усилен. Теперь мы можем легко изменять скорость с помощью MIDI-нот с помощью «rpitch:» и растягивать семпл, сохраняя высоту тона, с помощью «pitch_stretch:» (хотя и с переменными результатами ;-)).
Наконец, теперь вы можете управлять глобальным микшером с помощью «set_mixer_control!» для тех полных фильтров, охватывающих весь звук...
Получайте удовольствие и наслаждайтесь живым кодированием!
pitch
, чтобы включить смещение высоты тона для любого сэмпла.note_info
также обрабатывать число в качестве параметра.factor?
обрабатывать деление на 0.load_sample
генерировать исключение при передаче пустого пути.use_sample_bpm
параметр num_beats:
, чтобы указать, что данный сэмпл состоит из определённого количества ударов.invert:
, как ярлык для новой функции invert_chord
.sample_duration
параметрам start:
и finish:
, а также опциям огибающей, таким как attack:
и release:
. Это позволяет заменить любой вызов sample
на sample_duration
, чтобы получить точную продолжительность этого вызова.num_octaves
, чтобы упростить создание арпеджио.with_sample_pack_as
, теперь корректно принимает блок.mc_surface_teleport
больше не выдаёт ошибку.Array#shuffle
теперь работает правильно с случайными начальными значениями для детерминированного поведения.*_sample_bpm
.Понедельник, 13 апреля 2015 г. (просмотреть коммиты)
Этот релиз поддерживает Minecraft: Pi Edition, установленный на Raspberry Pi. Теперь вы можете создавать музыку с визуальными эффектами Minecraft или даже кодировать партитуру синтезатора в блоках Minecraft и читать и воспроизводить партитуру из Sonic Pi! Ещё одним интересным аспектом этого выпуска является значительно улучшенная функциональность редактора для навигации и манипулирования кодом с помощью сочетаний клавиш. Это означает, что живое программирование стало намного веселее. Сочетания клавиш основаны на стандартных сочетаниях клавиш, предоставляемых GNU Emacs — старейшим и самым мощным текстовым редактором, используемым сегодня волшебниками-программистами.
invert_wave
теперь по умолчанию равен 1 везде. Я обнаружил, что всегда инвертировал волну каждый раз, когда использовал синтезатор/эффект, где инверсия волны была ключевой. Это казалось гораздо лучшим значением по умолчанию, поэтому я нарушил совместимость. Приношу извинения, если это повлияло на вас.stereo_invert_wave
значение 1.pitch_ratio
для преобразования ноты MIDI в соотношение частот. Полезно для настройки образцов.line
для создания линии от начала до конца с определённым количеством срезов.spark
для отображения списков чисел в причудливом текстовом графике ( ▃▅▇
) в журнале.sample_duration
теперь масштабирует результат в зависимости от текущего BPM.range
теперь принимает необязательные аргументы: inclusive:
и step:
.Немецкий перевод графического интерфейса и учебника. Просто откройте 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
при запуске для лучшего восстановления после сбоя.scsynth
, когда частоты дискретизации вывода и ввода различаются.Четверг, 18 декабря 2014 года (просмотреть коммиты)
Этот релиз содержит ряд приятных улучшений. Однако основная особенность заключается в точной синхронизации запуска эффектов. Это означает, что теперь вы можете надёжно использовать эффекты для точных ритмических целей, таких как колебания, нарезка и эхо.
use_sample_pack_as
использует двойной символ подчёркивания __
в качестве разделителя между указанным пользователем псевдонимом и именем образца.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
— чистый сигнал прямоугольной формы.mod_range:
иметь отрицательные значения (для осцилляции с более низкими нотами)._slide_shape
и _slide_curve
.cutoff_attack:
,cutoff_sustain:
,cutoff_decay:
,cutoff_release:
,cutoff_min_slide:
,cutoff_attack_level:
,cutoff_sustain_level:
,cutoff_env_curve:
.Вторник, 9 сентября 2014 г. (просмотреть коммиты)
alt-*
;cmd-*
.cue
/sync
выделены более чётко).Вторник, 2 сентября 2014 г. (просмотреть коммиты)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )