# Гранулы (granules)

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

## Особенности

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

## Требования

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

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

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

```bash
git clone https://git.crematorium.site/git/engineer/granules.git
cd granules
```

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

```bash
python3 -m venv .venv
```

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

#### Linux/macOS:
```bash
python3 -m venv .venv
```
#### Windows (PowerShell):
```bash
.venv\Scripts\activate
```
#### Windows (cmd):
```bash
.venv\Scripts\activate.bat
```

### 4. Установка зависимостей
```bash
pip install -r requirements.txt
```

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

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

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

## Примеры использования
Проект может быть полезен для:

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

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

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

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

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

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

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