Небольшой проект в части случайного гранулярного синтеза звука

@engineer engineer authored on 19 Mar
.gitignore Добавлен экземпляр вызова классов с комментариями и тестовые файлы 1 month ago
LICENSE.txt Добавлена лицензия и изменен файл ридми 1 month ago
README.md Добавлена лицензия и изменен файл ридми 1 month ago
example.py Добавлен экземпляр вызова классов с комментариями и тестовые файлы 1 month ago
granules.py Добавлен экземпляр вызова классов с комментариями и тестовые файлы 1 month ago
lacrimoza_mix.mp3 Добавлен экземпляр вызова классов с комментариями и тестовые файлы 1 month ago
mocart-lacrimosa-dies-illa.mp3 Добавлен экземпляр вызова классов с комментариями и тестовые файлы 1 month ago
requirements.txt Добавлен экземпляр вызова классов с комментариями и тестовые файлы 1 month ago
README.md

Гранулы (granules)

granules — экспериментальный проект для реализации случайного гранулярного синтеза звука на Python. Проект позволяет создавать интересные звуковые текстуры путем наложения множества коротких звуковых фрагментов (гранул).

Особенности

  • Генерация звука на основе гранулярного синтеза
  • Случайные параметры для каждой гранулы
  • Гибкая настройка параметров синтеза
  • Чистый Python с использованием numpy и sounddevice

Требования

  • Python 3.7 или выше
  • pip (менеджер пакетов Python)

Установка и запуск

1. Клонирование репозитория

git clone <url-вашего-репозитория>
cd granules

2. Создание виртуального окружения

python3 -m venv .venv

3. Активация виртуального окружения

Linux/macOS:

python3 -m venv .venv

Windows (PowerShell):

.venv\Scripts\activate

Windows (cmd):

.venv\Scripts\activate.bat

4. Установка зависимостей

pip install -r requirements.txt

5. Запуск примера

Отредактируйте файл example.py под свои нужды или создайте свой скрипт, затем выполните:

python3 example.py

Настройка параметров

В файле example.py вы можете изменять следующие параметры:

  • Частота дискретизации
  • Длительность гранул
  • Количество гранул
  • Диапазон высоты тона
  • Огибающая гранул

Примеры использования

Проект может быть полезен для:

  • Создания атмосферных звуковых текстур
  • Экспериментов с гранулярным синтезом
  • Изучения принципов цифровой обработки звука
  • Генерации звуков для медитативных практик

Зависимости

Основные библиотеки, используемые в проекте:

  • numpy — для числовых вычислений
  • sounddevice — для воспроизведения звука
  • soundfile — для работы с аудиофайлами (опционально)

Полный список зависимостей указан в файле requirements.txt.

Участие в разработке

Если вы хотите внести свой вклад в развитие проекта:

  • Сделайте форк репозитория
  • Создайте ветку для новой функциональности
  • Внесите изменения
  • Отправьте pull request

Лицензия

Этот проект распространяется под лицензией MIT. Подробности см. в файле LICENSE.