Skip to content

Pulse - Gesture Music Synthesizer (Tauri + React + MediaPipe)

License

Notifications You must be signed in to change notification settings

danilagoleen/pulse

Repository files navigation

🎹 Pulse — Periodic Table of Music

Version Platform Framework License

Музыкальная таблица Менделеева — система управления звуком через жесты и AI-анализ.
Periodic Table for Sound — gesture-controlled music synthesis with AI analysis.


✨ Уникальность / Uniqueness

Pulse — это симбиоз математики, цвета и музыки:

Компонент Описание
🎨 Цвета Иттена 12 цветов спектра → 12 нот хроматической гаммы
🎡 Колесо Камелота 24 позиции (12 мажор + 12 минор) для гармонического движения
📐 Scale-геометрия 34+ масштаба от хроматики до пентатоники с вершинами и цветами
🤖 AI-анализ Определение BPM, тональности, автоматический подбор шкалы
👋 Hand Tracking MediaPipe — руками как на Theremin

«Музыка — это математика, видимая ухом. Pulse делает её видимой глазам.»


✅ Сделано / What's Done

Core Features

  • Tauri + React + TypeScript — нативное macOS приложение
  • MediaPipe Hand Tracking — отслеживание рук в реальном времени
  • WebAudio Synth Engine — осцилляторы, ADSR, фильтры
  • Smart Audio Analysis — определение нот из микрофона
  • BPM Detection — анализ темпа в реальном времени
  • Key Detection — определение тональности (Krumhansl algorithm)
  • Scale Refinement — минимальная шкала (пентатоника > мажор > хроматика)
  • 34 Musical Scales — база данных с интервалами, вершинами, цветами, жанрами
  • Unified Wheel UI — колесо Камелота + Itten colors + геометрия масштабов
  • Left/Right Hand Mapping — левая рука = ноты, правая = фильтр
  • Real-time Scale Display — показывает выбранную шкалу и ноты

Technical

  • Ring buffer для аудио
  • Chromagram analysis
  • Harmonic detection
  • Smoothing filters для жестов

🚀 В планах / Roadmap

Phase 1: ARP & Synthesis

  • Мягкий переход в ARP — как в Kaos (плавное arpeggiate по двум нотам)
  • Матрица Scale → Genre → VST — автовыбор синтезатора по жанру
  • BPM Impulse Light — импульс света в центре Камелота

Phase 2: Visualization

  • Piano Roll — визуализация нот пользователя (легато/арп маркеры)
  • Color Key Filter — цветовая клавиша как фильтр для видео с камеры
  • Sound Wave Visualizer — живая звуковая волна

Phase 3: Recording & Performance

  • MIDI Recording — запись MIDI-дорожек
  • Loop Engine — лупер с наложением
  • Multitrack — несколько дорожек

Phase 4: Expansion

  • ** расширение базы FX** — эффекты: reverb, delay, chorus, phaser
  • MIDI Controllers — поддержка внешних контроллеров
  • Mac Touchpad — управление с тачпада как альтернатива камере
  • Audio Input — импорт не только микрофона, но и MIDI/Line вход

Phase 5: Advanced AI

  • VETKA Nodal Modulations — модуляции по двум квадратам
  • AI DJ Mode — автоматический подбор следующей тональности по Камелот-матрице

📁 Структура проекта / Project Structure

pulse/
├── src/
│   ├── audio/               # Audio engine
│   │   ├── SmartAudioEngine.ts   # BPM + Key detection
│   │   ├── SynthEngine.ts        # WebAudio synth
│   │   ├── Arpeggiator.ts         # ARP patterns
│   │   ├── KeyDetector.ts         # Key detection
│   │   ├── BPMDetector.ts         # Tempo analysis
│   │   └── CircularAudioBuffer.ts
│   ├── music/
│   │   ├── theory.ts         # Music theory utils
│   │   └── scales_db.ts     # 34 scales database
│   ├── vision/
│   │   └── HandTracker.ts    # MediaPipe integration
│   ├── components/
│   │   ├── UnifiedWheel.tsx    # Camelot + Itten + Geometry
│   │   ├── CamelotModeWheel.tsx
│   │   └── Header.tsx
│   └── App.tsx              # Main UI
├── docs/                   # Research & documentation
├── src-tauri/              # Rust backend
└── README.md

🧪 Технологии / Tech Stack

Категория Технология
Framework Tauri v2 (Rust)
Frontend React 18 + TypeScript + Vite
Hand Tracking MediaPipe Hands
Audio WebAudio API
Music Theory Custom algorithms + Chromagram
Styling TailwindCSS

👥 Команда / Contributors

  • BigPicle — Architect, AI Integration, Development
  • Grok — Research, Music Theory Analysis
  • Minimax 2.5 — AI Assistance
  • Kimi K2.5 — Research, Architecture Planning

📄 License

MIT License — подробности в файле LICENSE


🏃‍♂️ Запуск / Run

# Install dependencies
npm install

# Development
npm run tauri dev

# Build
npm run tauri build

Built with ❤️ by VETKA + BigPicle + Grok + Kimi + Minimax

About

Pulse - Gesture Music Synthesizer (Tauri + React + MediaPipe)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published