Виртуальный синтезатор с аддитивным синтезом звука, разработанный на языке Rust. Проект позволяет генерировать и воспроизводить различные музыкальные звуки с помощью компьютерной клавиатуры.
- Генерация различных типов звуковых волн
- Интерактивное пианино с двумя октавами
- Переключение между различными звуковыми профилями
- Визуализация пианино с графическим интерфейсом
- Нижняя половина клавиатуры - первая октава
- Верхняя половина клавиатуры - вторая октава
- Стрелки влево/вправо - переключение между звуковыми профилями
| Профиль | Описание | Визуализация |
|---|---|---|
| Орган | Имитация звучания органа | ![]() |
| Колокол | Имитация звона колокола | ![]() |
| Библиотека | Описание | Визуализация |
|---|---|---|
| Lancer (wavegen) | Библиотека генерации волн | ![]() |
virtual_synthesizer/
├── src/ # Исходный код
│ ├── data/ # Модели данных и коллекции звуков
│ ├── services/ # Сервисы генерации и обработки звука
│ ├── utils/ # Вспомогательные функции
│ └── main.rs # Главный файл приложения
├── resources/ # Ресурсы приложения
│ └── piano.jpg # Изображение пианино
├── docs/ # Документация и графические материалы
└── Cargo.toml # Конфигурация проекта и зависимости
- Rust - основной язык программирования
- rodio - библиотека для работы со звуком
- winit - создание окон и обработка событий
- softbuffer - рендеринг графики
- wavegen - генерация звуковых волн
- flacenc - кодирование звука в формат FLAC
# Клонирование репозитория
git clone https://github.com/your-username/virtual_synthesizer.git
# Переход в директорию проекта
cd virtual_synthesizer
# Сборка и запуск проекта
cargo run







