# Demucs 四轨重混：降低贝斯后重新合成一条音乐

已实际在CPU运行htdemucs并保存真实输出与逐文件检查；输入包含原创程序音乐或系统朗读，结果只代表当前12秒练习。

## 输入来源

{
  "speech": "macOS Tingting system TTS reading the original text; not a human singer or cloned voice",
  "music": "Original deterministic synthesized drums, bass, guitar-like pluck and piano-like harmonics; not recorded instruments or model outputs",
  "seed": 50015,
  "durationSeconds": 12,
  "sampleRate": 48000
}


## 操作

### 1. 把重混目标写成数值

目标只把Demucs输出的bass降低6dB，其他三个stem保持原设置。原始bass.wav是合成前已知源轨，不可直接替代Demucs估计轨来宣称分离成功。

```sh
python3 verify.py
```

### 2. 固定版本与四轨模型

使用隔离Python环境固定Demucs 4.0.1和兼容Torch/torchaudio组合。项目旧仓库已归档，作者分支也非积极维护；按固定版本复现，不把它写成新发布模型。

```sh
python -m pip install 'demucs==4.0.1' 'torch==2.5.1' 'torchaudio==2.5.1' 'numpy<2'
```

### 3. 在CPU运行短样

用htdemucs、shifts=0和3秒segment运行12秒输入，保留真实日志。此组合是本页短样条件，不承诺整首歌曲速度；模型首次下载需额外时间。

```sh
python -m demucs.separate -n htdemucs -d cpu --shifts 0 --segment 3 --overlap 0.25 --clip-mode rescale -o separated original-mix.wav
```

### 4. 确认四份轨道真实存在

回读vocals、drums、bass、other四个WAV的采样率、声道和帧数；先试听bass是否有旋律和人声串音。模型分轨与原创真值采样率可能不同，不能直接逐样本相减。

### 5. 降低贝斯并使用共同增益

-6dB对应幅度乘10^(-6/20)。原轨和修改版使用同一个防削波增益，避免各自归一化掩盖贝斯变化。CLI可能对stem独立缩放，叠回不保证重建原始混音。

```sh
python3 remix.py --stems separated/htdemucs/original-mix --bass-db -6 --output my-remix.wav
```

### 6. 回听重混而非只数文件

比较分轨叠回参考和降低贝斯版，检查鼓、人声和尾音是否被同时改变。若bass中混入人声，降低它也会改变这部分人声，应记录实际串音，不能说只改变真实贝斯。

```sh
python3 verify.py --file my-remix.wav
```

### 7. 归档真实模型记录

保存参数、模型日志、四轨、共同增益和remix文件。本页只评价自有12秒程序音乐与系统朗读，不外推真实演唱或商用母带质量。

## 文件验证

```sh
python3 verify.py
python3 verify.py --self-test
```

验证PCM16音频的格式、帧和输入hash，不证明模型质量。原始合成源轨不是分离结果。

官方来源：https://github.com/facebookresearch/demucs
