Гранулы (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.