Skip to content

bicknicktick/mixloop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Donate

🎡 MixLoop

Professional Audio Sequence Mixer

MixLoop Screenshot

Go React TailwindCSS FFmpeg

Professional audio mixing application with advanced features including Dolby Stereo simulation, batch processing for 100+ files, real-time progress tracking, and intelligent CPU optimization.


πŸš€ Developed by BITZY.ID

GitHub stars GitHub forks GitHub watchers

## πŸ’ Support the Project

If you find this project helpful, consider supporting its development:

Donate

PayPal

Your support helps maintain and improve this project! πŸš€

✨ Advanced Features

🎡 Sequential Processing πŸ”„ Seamless Looping ✨ Audio Enhancement
Menggabungkan audio berurutan
audio1β†’audio2β†’audio3
(bukan overlay)
Loop dengan crossfade
di boundaries untuk
hasil seamless
Filter untuk meningkatkan
kualitas audio dengan
normalisasi loudness
🎚️ Dolby Stereo Simulation πŸš€ Batch Processing πŸ“Š Real-time Progress
Spatial widening dengan
stereotools=mlev=1.2
untuk efek surround
Optimized untuk 100+ files
dengan chunked processing
dan CPU throttling
WebSocket progress tracking
dengan animated progress bar
dan stage indicators
🧠 CPU Optimization πŸ“± Mobile-First UI πŸ“€ Multiple Formats
Intelligent CPU monitoring
max 70% usage dengan
dynamic throttling
Responsive design
terinspirasi Threads
by Instagram
Export dalam
MP3 320k dan
WAV 24-bit

πŸ› οΈ Tech Stack

Enhanced Backend Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Gorilla Mux   │───▢│  Batch Processor │───▢│  CPU Monitor    β”‚
β”‚     Router      β”‚    β”‚  + WebSocket     β”‚    β”‚  + Throttling   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                       β”‚                       β”‚
         β–Ό                       β–Ό                       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Progress Track │───▢│     FFmpeg      │───▢│  Audio Output   β”‚
β”‚   + Sessions    β”‚    β”‚   + Dolby Sim   β”‚    β”‚   MP3/WAV      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Modern Frontend Stack

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   React 18 +    │───▢│   TailwindCSS   │───▢│  Glass Morphism β”‚
β”‚      Vite       β”‚    β”‚   + Animations  β”‚    β”‚   + Progress    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                       β”‚                       β”‚
         β–Ό                       β–Ό                       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   WebSocket     │───▢│  5-Column Grid  │───▢│  Dolby Stereo   β”‚
β”‚   Real-time     β”‚    β”‚   Controls      β”‚    β”‚    Toggle       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start

Prerequisites

Go Node.js FFmpeg

Installation Steps

πŸ”§ Step 1: Install FFmpeg
# Ubuntu/Debian
sudo apt install ffmpeg

# macOS
brew install ffmpeg

# Windows
# Download from https://ffmpeg.org/download.html
βš™οΈ Step 2: Backend Setup
cd backend
go mod tidy
go run main.go

Server akan berjalan di: http://localhost:8081

🎨 Step 3: Frontend Setup
cd frontend
npm install
npm start

Frontend akan berjalan di: http://localhost:3000


πŸŽ›οΈ Advanced Audio Processing Pipeline

graph LR
    A[πŸ“ Upload Files] --> B[βœ… Validation]
    B --> C[πŸ”— Batch Processing]
    C --> D[🧠 CPU Monitoring]
    D --> E[πŸ”„ Loop Application]
    E --> F[🎚️ Dolby Stereo]
    F --> G[✨ Enhancement]
    G --> H[πŸ“Š Progress Tracking]
    H --> I[πŸ“€ Export MP3/WAV]
    
    style A fill:#e1f5fe
    style B fill:#f3e5f5
    style C fill:#e8f5e8
    style D fill:#fff3e0
    style E fill:#fce4ec
    style F fill:#f8bbd9
    style G fill:#e0f2f1
    style H fill:#fff9c4
    style I fill:#e1f5fe
Loading

Enhancement & Processing Features

Feature Purpose Settings
πŸ”Š Loudness Norm Normalisasi volume I=-14:TP=-2:LRA=11
🎚️ Dolby Stereo Spatial widening stereotools=mlev=1.2 -ac 2
🧠 CPU Throttling Prevent overload Max 70% CPU usage
πŸš€ Batch Processing Large file sets Chunked processing 10-20 files
πŸ“Š Progress Tracking Real-time updates WebSocket + HTTP fallback

πŸ“‘ API Reference

Endpoint: /mix

POST Content-Type

Example Request:

curl -X POST http://localhost:8081/mix \
  -F "[email protected]" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F "loops=2" \
  -F "crossfade=1.5" \
  -F "enhance=true" \
  -F "format=mp3" \
  -o mixloop_output.mp3

Parameters:

Parameter Type Default Description
audio_files files - Multiple audio files (MP3/WAV)
loops int 1 Jumlah pengulangan
crossfade float 2.0 Durasi crossfade (detik)
enhance bool true Enable audio enhancement
dolby_stereo bool false Enable Dolby Stereo simulation
format string mp3 Output format (mp3/wav)
session_id string - Session ID untuk progress tracking

πŸ“ Project Structure

mixloop/
β”œβ”€β”€ πŸ“‚ backend/                 # 🐹 Golang API Server
β”‚   β”œβ”€β”€ πŸ“‚ handlers/           #    HTTP request handlers
β”‚   β”œβ”€β”€ πŸ“‚ utils/              #    Advanced audio processing
β”‚   β”‚   β”œβ”€β”€ πŸ“„ batch_processor.go    # Batch processing for 100+ files
β”‚   β”‚   β”œβ”€β”€ πŸ“„ cpu_monitor.go        # CPU monitoring & throttling
β”‚   β”‚   β”œβ”€β”€ πŸ“„ progress_tracker.go   # Real-time progress tracking
β”‚   β”‚   β”œβ”€β”€ πŸ“„ audio_sequence.go     # Dolby Stereo & sequencing
β”‚   β”‚   └── πŸ“„ audio_enhancer.go     # Audio enhancement filters
β”‚   β”œβ”€β”€ πŸ“„ main.go             #    Server entry point
β”‚   └── πŸ“„ go.mod              #    Go dependencies
β”œβ”€β”€ πŸ“‚ frontend/               # βš›οΈ React Application
β”‚   β”œβ”€β”€ πŸ“‚ src/                #    Source code
β”‚   β”‚   β”œβ”€β”€ πŸ“‚ components/     #    React components
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ Workspace.jsx     # 5-column controls layout
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ ProgressBar.jsx   # Animated progress tracking
β”‚   β”‚   β”‚   └── πŸ“„ Landing.jsx       # Modern landing page
β”‚   β”‚   └── πŸ“„ main.jsx        #    App entry point
β”‚   β”œβ”€β”€ πŸ“‚ public/             #    Static assets
β”‚   └── πŸ“„ package.json        #    NPM dependencies
β”œβ”€β”€ πŸ“‚ test_audio/             # 🎡 Sample audio files
β”œβ”€β”€ πŸ“„ ss1.png                 # πŸ“Έ Application screenshot
β”œβ”€β”€ πŸ“„ README.md               # πŸ“– This file
└── πŸ“„ API_DOCUMENTATION.md    # πŸ“š API reference

🎯 Demo & Usage

Live Demo

Demo

Sample Audio Files

Gunakan file audio di folder test_audio/ untuk testing:

  • tone1_440hz.mp3 - 440Hz tone (3 detik)
  • tone2_880hz.mp3 - 880Hz tone (3 detik)
  • tone3_1320hz.mp3 - 1320Hz tone (3 detik)

Expected Result: 9 detik audio sequence (bukan 3 detik overlay)


🀝 Contributing

Contributors Issues Pull Requests

Contributions are welcome!

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add AmazingFeature')
  4. Push to branch (git push origin feature/AmazingFeature)
  5. Open Pull Request

πŸ“„ License

License

MIT License - Feel free to use this project for personal and commercial purposes.


πŸ’ Made with ❀️ by BITZY.ID

Website GitHub

⭐ Star this repo if you find it useful!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors