Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
246 changes: 246 additions & 0 deletions web-ui/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,246 @@
# 🎵 Universal Music Production System 2029

## The Most Advanced Digital Music Production UI

**Representing the complete cumulative knowledge of cultural musical traditions from throughout known history.**

---

## 🌍 Features

### **Comprehensive Musical Knowledge Database**

- **80+ Global Scales** from every musical tradition:
- Western European (Ionian, Dorian, Phrygian, Lydian, Mixolydian, Aeolian, Locrian, Blues, Jazz)
- Indian Classical (22 Shruti system, Bhairav, Yaman, Kafi, Bhairavi, Todi, Malkauns, Kalyani)
- Arabic/Middle Eastern Maqam (Rast, Bayati, Hijaz, Saba, Nahawand, Kurd, Sikah)
- East Asian (Chinese Pentatonic, Japanese Hirajoshi/Iwato/In-Sen/Yo, Korean Pyeongjo/Gyemyeonjo, Ryukyu)
- Indonesian Gamelan (Slendro, Pelog)
- African (Pentatonic, Pygmy Hexatonic)
- Persian/Iranian Dastgah (Shur, Mahur, Segah)
- Byzantine/Greek
- Jewish Liturgical (Freygish, Mi Sheberach)
- Experimental/Microtonal (19-TET, 24-TET, Bohlen-Pierce, Carlos Alpha/Beta/Gamma)
- Flamenco/Spanish
- Celtic/Scottish/Irish

- **22 Historical Tuning Systems**:
- Equal Temperaments (12-TET, 19-TET, 24-TET, 31-TET, 53-TET)
- Just Intonation (5-limit, 22 Shruti)
- Pythagorean Tuning
- Meantone Temperaments (Quarter-comma, Third-comma)
- Well Temperaments (Werckmeister III, Kirnberger III, Vallotti-Young)
- Cultural Systems (Arabic 24-tone, Chinese Lü)
- Experimental (Bohlen-Pierce, Wendy Carlos scales)
- Historical Pitch Standards (Scientific 256Hz, Concert 432Hz, Baroque 415Hz)

- **60+ Rhythmic Patterns**:
- Indian Talas (Teental, Jhaptal, Rupak, Adi Tala, Misra Chapu, Khanda Chapu)
- African Rhythms (Clave 3-2/2-3, Rumba, Kpanlogo, Samba, Bossa Nova, Djembe, Bembe)
- Middle Eastern Iqa'at (Maqsum, Saidi, Baladi, Masmoudi, Sama'i, Ciftetelli, Karsilama)
- Latin American (Tresillo, Cascara, Mambo, Tango, Baião)
- Flamenco Compás (Bulería, Soleá, Tangos)
- Western/Modern (Rock, Shuffle, Funk, Disco, Reggae, Breakbeat)
- Asian (Tabla Kayda, Korean Jangdan, Japanese Taiko)

- **40+ Cultural Instrument Models**:
- Western (Piano, Organ, Violin, Flute, Brass)
- Indian (Sitar, Tabla, Bansuri, Tanpura, Sarangi)
- Middle Eastern (Oud, Ney, Qanun, Darbuka, Santoor)
- East Asian (Guzheng, Erhu, Shakuhachi, Koto, Taiko, Pipa, Gayageum)
- African (Djembe, Kora, Mbira, Balafon)
- Indonesian Gamelan (Gong, Saron, Gender)
- Latin American (Congas, Charango, Pan Flute)

### **Four Revolutionary Modes**

1. **Harmonic Matrix** - Mathematical visualization of harmonic relationships
- Lambdoma Matrix
- Harmonic Field Theory
- Golden Ratio Fibonacci Sequences
- Human Genome Chromosomal Frequencies
- 2D and 3D interactive visualizations

2. **Scale Explorer** - Deep dive into global scale systems
- Interactive scale playback
- Cultural context and history
- Emotional character descriptions
- Traditional usage information

3. **Rhythm Laboratory** - Explore world rhythm patterns
- Visual pattern display
- Adjustable tempo (BPM)
- Real-time pattern playback
- Cultural and historical context

4. **Composer Studio** - Create and record compositions
- Real-time note recording
- Composition saving
- Integration with all scales, tunings, and instruments

### **Advanced Audio Engine**

- **Sophisticated Synthesis**:
- Multi-harmonic additive synthesis
- ADSR envelope control
- Vibrato and tremolo effects
- Biquad filter processing
- Dynamic compression

- **Cultural Instrument Simulation**:
- Authentic harmonic profiles for each instrument
- Time-domain envelope modeling
- Spectral characteristics
- Performance articulations

### **Educational Features**

- Comprehensive cultural context for every musical element
- Historical era information
- Regional origins
- Traditional usage descriptions
- Emotional character explanations
- Interactive learning through play

---

## 🚀 Getting Started

### Installation

```bash
cd web-ui
npm install
```

### Development

```bash
npm run dev
```

Open [http://localhost:3000](http://localhost:3000) in your browser.

### Build for Production

```bash
npm run build
```

### Preview Production Build

```bash
npm run preview
```

---

## 🎹 Usage Guide

### 1. Initialize Audio Engine

Click the **"INITIALIZE AUDIO"** button in the top-right corner to activate the Web Audio API synthesis engine.

### 2. Select Your Mode

Choose from four main modes:
- **Harmonic Matrix** - Explore mathematical harmonic relationships
- **Scale Explorer** - Learn and play global musical scales
- **Rhythm Laboratory** - Experience world rhythm patterns
- **Composer Studio** - Create your own compositions

### 3. Customize Your Experience

**Global Controls:**
- Select from 22 historical tuning systems
- Choose from 40+ cultural instrument voices
- Adjust master volume

**Matrix Mode:**
- Switch between Lambdoma, Harmonic Field, Golden Ratio, or Chromosomal modes
- Toggle between 2D and 3D visualization
- Adjust grid size
- Hover over cells to play frequencies

**Scale Explorer:**
- Browse 80+ scales from world traditions
- Read cultural and historical context
- Click individual scale degrees to hear them
- Play the entire scale with one button

**Rhythm Lab:**
- Select from 60+ traditional rhythm patterns
- Adjust tempo (BPM)
- Play/stop pattern loop
- View visual representation

**Composer:**
- Enable recording mode
- Play notes by hovering over the matrix
- Save your composition
- Export for later use

---

## 🧬 Technical Architecture

### Data Layer
- `globalScales.ts` - Comprehensive scale database (80+ scales)
- `rhythmPatterns.ts` - Global rhythm patterns library (60+ patterns)

### Engine Layer
- `tuningSystem.ts` - Historical tuning system implementations (22 systems)
- `synthEngine.ts` - Advanced synthesis engine with cultural instrument models (40+ instruments)

### Presentation Layer
- `App.tsx` - Main application with four integrated modes
- `main.tsx` - Application bootstrap
- React 18 with TypeScript
- Tailwind CSS for styling
- Web Audio API for synthesis
- Three.js for 3D visualization (optional)

---

## 🌟 Future Enhancements

- MIDI export functionality
- Audio recording and export (WAV/MP3)
- Collaborative multi-user composition
- AI-powered composition suggestions
- Extended microtonal support
- More cultural instrument models
- Interactive tutorials and lessons
- Performance mode with MIDI controller support

---

## 📚 References & Acknowledgments

This project synthesizes knowledge from:
- Hindustani and Carnatic classical music theory
- Arabic maqam and Persian dastgah systems
- Western music theory from Ancient Greece to contemporary
- Indonesian gamelan tuning systems
- African polyrhythmic traditions
- East Asian traditional music systems
- Experimental and microtonal music theory
- Acoustics and psychoacoustics research

---

## 📄 License

This project is part of the EulerBeats ecosystem.

---

## 🎼 Credits

**Built with passion for the universal language of music.**

*"Music is the universal language of mankind." - Henry Wadsworth Longfellow*

---

**Welcome to the future of music production. Welcome to 2029.**
14 changes: 14 additions & 0 deletions web-ui/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="The Most Advanced Digital Music Production UI - Complete Knowledge of Human Musical Traditions" />
<title>Universal Music Production System 2029</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
27 changes: 27 additions & 0 deletions web-ui/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"name": "universal-music-production-ui",
"version": "1.0.0",
"description": "The Most Advanced Digital Music Production UI - Complete Human Musical Knowledge System",
"private": true,
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview",
"type-check": "tsc --noEmit"
},
"dependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0",
"lucide-react": "^0.263.1"
},
"devDependencies": {
"@types/react": "^18.2.15",
"@types/react-dom": "^18.2.7",
"@vitejs/plugin-react": "^4.0.3",
"autoprefixer": "^10.4.14",
"postcss": "^8.4.27",
"tailwindcss": "^3.3.3",
"typescript": "^5.1.6",
"vite": "^4.4.5"
}
}
6 changes: 6 additions & 0 deletions web-ui/postcss.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export default {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}
Loading