Update Getting Started

max
2026-08-07 12:11:43 +00:00
parent b309a94fcc
commit 9cfb53b89f
+75 -3
@@ -1,6 +1,6 @@
# Getting Started # Getting Started
## Prerequisites ## Run from source
- **Python 3.8 or higher** - **Python 3.8 or higher**
- **FFmpeg** - required for audio processing - **FFmpeg** - required for audio processing
@@ -15,6 +15,14 @@
--- ---
### Clone and run
```bash
git clone https://git.vmn.su/max/audio_splitter.git
cd audio_splitter
python -m audio_splitter.main input.mp3 tracklist.txt
```
## Installation ## Installation
### From Source ### From Source
@@ -23,21 +31,85 @@
git clone https://git.vmn.su/max/audio_splitter.git git clone https://git.vmn.su/max/audio_splitter.git
cd audio_splitter cd audio_splitter
pip install . pip install .
audio_splitter input.mp3 tracklist.txt
``` ```
### Using Docker ### Using Docker
You can also pull a pre-build OCI image from the registry You can also pull a pre-build OCI image from the registry
CLI version: **CLI version:**
```bash ```bash
docker pull git.vmn.su/max/audio_splitter:latest docker pull git.vmn.su/max/audio_splitter:latest
mkdir /tmp/audio_splitter_test
cd /tmp/audio_splitter_test
docker run --rm -v $(pwd):/data git.vmn.su/max/audio_splitter:latest -o /data /data/test.mp3 /data/tracklist.txt
``` ```
Web API only:
Put your audio and track list files to '/tmp/audio_splitter_test' before running the container. **Ensure the directory you mount as /data is empty**
**Web API only:**
```bash ```bash
docker pull git.vmn.su/max/audio_splitter_backend:latest docker pull git.vmn.su/max/audio_splitter_backend:latest
docker container run -d -p 8000:8000 git.vmn.su/max/audio_splitter_backend:latest
curl -X POST -F "file=@./q.opus" http://localhost:8000/api/upload
# Response: {"task_id":"dca75691","filename":"q.opus","size":4010709}
# We need to copy task_id
curl -X POST http://localhost:8000/api/split \
-H "Content-Type: application/json" \
-d '{
"task_id": "YOUR_TASK_ID",
"tracklist": [
{"ts": "00:00", "tn": "Intro"},
{"ts": "01:30", "tn": "Song One", "an": "Artist A"},
{"ts": "02:20", "tn": "Another Song", "an": "Artist B"}
],
"options": {
"format": "mp3"
}
}'
# Response: {"task_id":"YOUR_TASK_ID","status":"processing"}
curl http://localhost:8000/api/status/YOUR_TASK_ID
# Response {"task_id":"YOUR_TASK_ID","status":"done","progress":100,"message":"Split complete","error":null,"tracks":[....]}
# Now you can download the result
curl -OJ http://localhost:8000/api/download/YOUR_TASK_ID
``` ```
Complete web-interface: Complete web-interface:
```bash ```bash
# Pull and start the backend
docker pull git.vmn.su/max/audio_splitter_backend:latest docker pull git.vmn.su/max/audio_splitter_backend:latest
docker container run -d -p 8000:8000 git.vmn.su/max/audio_splitter_backend:latest
# Pull and start the frontend
docker pull git.vmn.su/max/audio_splitter_frontend:latest docker pull git.vmn.su/max/audio_splitter_frontend:latest
docker run -d -p 5173:80 git.vmn.su/max/audio_splitter_frontend:latest
```
Now the fully functional web-interface should be accessible via http://localhost:5173
### Using Docker Compose
Web version is also available with Docker Compose:
```compose
services:
backend:
image: git.vmn.su/max/audio_splitter_backend:latest
ports:
- "${BACKEND_PORT:-8000}:8000"
volumes:
# Bind mount for persistent data storage.
# Set BACKEND_DATA_DIR in .env to point to your data directory.
- "${BACKEND_DATA_DIR:-/var/lib/audio_splitter_data}:/tmp/audio_splitter_web"
environment:
- PYTHONUNBUFFERED=1
- DEBUG=${DEBUG:-0}
restart: unless-stopped
frontend:
image: git.vmn.su/max/audio_splitter_frontend:latest
ports:
- "${FRONTEND_PORT:-5173}:80"
depends_on:
- backend
restart: unless-stopped
``` ```