Русский
Русский
English
Статистика
Реклама

Pippi

Как писать музыку на Python помогут три тематические библиотеки (для специалистов разного уровня)

12.09.2020 20:07:24 | Автор: admin
Продолжаем тему музыкального программирования ранее мы говорили о языках Csound, SuperCollider и Pure Data, а сегодня рассказываем Python и библиотеках FoxDot, Pippi и Music-Code.


Фото Conor Samuel / Unsplash

FoxDot


Это библиотека для начинающих муз. программистов. Его разработал инженер Райан Киркбрайд (Ryan Kirkbride) в 2015 году. FoxDot задумывался как личный проект с его помощью Райан устаивал live-сессии под псевдонимом Qirky однако теперь с инструментом работают по всему миру.

Библиотека использует возможности пакетного протокола Open Sound Control (OCS) и виртуальной среды для аудиосинтеза SuperCollider, которая была разработана в 1996-м, но до сих пор активно поддерживается сообществом. Программист создает объекты с аргументами, обозначающими инструмент, высоту тона, продолжительность звучания. Звуки можно выстраивать в паттерны и зацикливать, чтобы создавать сложные музыкальные конструкции. Код превращается в музыку в реальном времени вот пример работы с библиотекой:


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

Pippi


Эту библиотеку разработал один из представителей инди-лейбла LuvSound, поддерживающего новую музыку и молодых исполнителей. В своём составе она имеет несколько структур для работы со звуком, включая распространенные SoundBuffer и Wavetable. Предназначение Pippi работа с уже имеющимися звуками инструмент позволяет объединять и модифицировать загруженные семплы.

from pippi import dspsound1 = dsp.read('sound1.wav')sound2 = dsp.read('sound2.flac')# Mix two soundsboth = sound1 & sound2

Он также дает возможность строить на основе семплов абсолютно новые акустические конструкции например, формировать гранулированные звуки. Это метод, при котором семпл разбивают на множество коротких отрезков (гранул) и перемешивают их. Вот код для создания 10-секундного сигнала такого формата из звука в переменной enveloped:

# Synthesize a 10 second graincloud from the sound,# with grain length modulating between 20ms and 2s# over a triangle shaped curve.cloudy = enveloped.cloud(10, grainlength=dsp.win('tri', dsp.MS*20, 2))

Библиотека Pippi не позволяет воспроизводить музыку в реальном времени, поэтому сама по себе плохо подходит для живых концертов. Однако в тематическом треде на Hacker News автор рассказал, что разработал сторонний интерфейс Astrid. Он автоматически перезапускает музыкальный файл после сохранения, тем самым открывая возможности для выступлений на сцене.

Music-Code


Эту небольшую библиотеку написал дата-саентист Уэсли Лоуренс (Wesley Laurence). Она умеет генерировать аккорды, звуки барабанов и бас-гитар. Свой инструмент автор использует, чтобы создавать семплы для моделей машинного обучения. Библиотека позволяет работать с секвенсорами, агрегаторами, семплерами и различными акустическими эффектами. Кроме музыки, Music-Code позволяет готовить визуализации для муз.композиций.


Фото Tanner Boriack / Unsplash

Пока что у Music-Code совсем небольшая аудитория, так как библиотека довольно молодая она была опубликована на GitHub всего три месяца назад. Однако автор планирует развивать свой инструмент и надеется, что ему удастся привлечь новых пользователей особенно среди специалистов в области систем ИИ. Автор планирует записать и выложить видео с инструкциями о том, как подступиться к Music-Code.



Дополнительное чтение в Мире Hi-Fi:

Что такое музыкальное программирование кто и почему им занимается
Где взять аудио для машинного обучения: подборка открытых библиотек
Как устроен Sporth ЯП для музыкальных live-сессий
Где брать аудио для разработки игр и других проектов
Звуки для UI: подборка тематических ресурсов


Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru