File size: 2,409 Bytes
0e62e54
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
"""
Configuration settings for the music generation app
"""
import os
from dataclasses import dataclass
from typing import List, Dict

@dataclass
class ModelConfig:
    name: str
    repo_id: str
    max_duration: int
    default_params: Dict
    description: str

# Model configurations
MODELS = {
    "musicgen_small": ModelConfig(
        name="MusicGen Small",
        repo_id="facebook/musicgen-small",
        max_duration=30,
        default_params={
            "guidance_scale": 3,
            "do_sample": True,
            "temperature": 1.0,
            "top_k": 50
        },
        description="Fast, lightweight model for quick generation"
    ),
    "musicgen_melody": ModelConfig(
        name="MusicGen Melody",
        repo_id="facebook/musicgen-melody",
        max_duration=30,
        default_params={
            "guidance_scale": 3,
            "do_sample": True,
            "temperature": 1.0,
            "top_k": 50
        },
        description="Enhanced model with melody conditioning"
    ),
    "audioldm": ModelConfig(
        name="AudioLDM",
        repo_id="cvssp/audioldm-s-full-v2",
        max_duration=20,
        default_params={
            "num_inference_steps": 50,
            "guidance_scale": 2.5
        },
        description="Latent diffusion model for high-quality audio"
    )
}

# App settings
APP_SETTINGS = {
    "max_file_size_mb": 50,
    "supported_formats": [".wav", ".mp3", ".flac", ".ogg"],
    "max_batch_size": 10,
    "cache_duration_hours": 24,
    "enable_gpu": True,
    "share_gradio": True,
    "show_error_details": True
}

# UI settings
UI_SETTINGS = {
    "theme": "soft",
    "show_api_info": False,
    "show_progress": True,
    "enable_queue": True,
    "max_threads": 4
}

# Generation presets
PRESETS = {
    "Electronic": {
        "prompt": "electronic dance music, 128 BPM, synthesizers, kick drum",
        "duration": 15,
        "model": "musicgen_small"
    },
    "Jazz": {
        "prompt": "smooth jazz, piano, saxophone, double bass, 90 BPM",
        "duration": 20,
        "model": "musicgen_melody"
    },
    "Classical": {
        "prompt": "classical orchestral music, strings, woodwinds, dramatic",
        "duration": 25,
        "model": "audioldm"
    },
    "Ambient": {
        "prompt": "ambient electronic, atmospheric, pad synthesizers, slow",
        "duration": 30,
        "model": "audioldm"
    }
}