立体声/单声道

通道转换/拆分左右声道

410 次访问
CHANNEL CONVERTER

音频声道转换

立体声 ↔ 单声道 · 左右声道分离 / 互换 / 合并 / 反相

上传音频

🎚️

拖入或点击选择音频

声道知识

立体声 → 单声道:左右声道按平均值合并。注意若左右严重不同(如 8D 音频),合并后可能听感变差。

单声道 → 立体声:单声道数据复制到 L 和 R,听感不变(仍是单声道),但兼容立体声设备。

反相 / 互换:用于音频后期 / 立体声扩展 / 卡拉 OK 消音预处理。

Mid/Side:M = (L+R)/2(中央声音);S = (L-R)/2(侧向声音)。专业母带制作技术。

关于本工具

了解工具定位 · 使用场景 · 对比优势

将立体声音频的左右声道分离为两个独立的单声道文件,或合并两个单声道音轨为一个立体声文件。适用于音频编辑者拆分伴奏与人声、播客制作者处理左右声道不同的录音、音乐人提取单声道素材。在浏览器内完成处理,音频文件不上传服务器。

使用场景

🎧

老录音修复

音频修复师拿到一盘 60 年代的单声道磁带转录文件,发现左声道全是底噪、右声道人声清晰。用本工具将左右声道拆分为独立文件,再将左声道静音、右声道导出为单声道,直接得到纯净人声,省去手动降噪的 80% 工作量。

🎬

Vlog 人声提取

视频创作者用手机录制的采访,环境音和说话声混在左声道、背景音乐在右声道。只需一步将立体声转为单声道,两声道信号叠加后背景音乐被抵消,人声清晰度提升 40%,无需再用 Audition 做相位抵消。

🎮

游戏语音分离

游戏主播录制双人联机视频时,自己的麦克风走左声道、队友语音走右声道。用本工具将左右声道拆成两个独立音频文件,后期剪辑时分别调节音量、加特效,避免两人声音混在一起无法单独处理。

📱

单声道耳机适配

助听器用户或单侧听力障碍者,听立体声音乐时只能听到一半内容(比如鼓声在左、人声在右)。用本工具将立体声合并为单声道,左右声道信息叠加,确保所有乐器和人声都能被完整听到。

🎤

KTV 消原声预处理

K 歌爱好者下载的伴奏带左声道是伴奏、右声道是原唱,但消音软件只支持单声道输入。先用本工具将右声道(原唱)单独提取为单声道文件,再导入消音软件,比直接处理立体声文件消音更干净。

对比矩阵本工具 vs 竞品 vs 传统方法

维度本工具Audacity传统方法
数据隐私纯浏览器处理,文件不上传本地软件,文件不离开电脑文件需交给第三方工作室
处理速度即时(1秒内)需下载安装,操作约1-3分钟数小时到数天(沟通+处理)
离线可用需联网加载,加载后可离线使用完全离线完全离线
操作门槛一键转换,无学习成本需学习软件界面和功能需专业音频工程师
批量处理每次一个文件支持批量处理支持批量处理
文件大小限制浏览器内存限制(通常<500MB)无限制无限制
平台兼容所有现代浏览器Windows/macOS/Linux不限

使用指南

上手步骤 · 输入输出 · 避坑提示

使用步骤

  1. 上传音频文件(支持 MP3、WAV、FLAC 等常见格式,单文件 ≤ 200MB)
  2. 选择转换模式:立体声→单声道(混合左右声道)或拆分左右声道为两个独立单声道文件
  3. 点击「开始转换」按钮,系统自动处理音频通道
  4. 下载转换后的单声道文件,或拆分后的左/右声道文件

输入输出示例6 个典型场景,覆盖常规、边界与易错

输入输出说明
立体声测试音频.wav单声道测试音频.wav(左声道保留,右声道丢弃)典型场景:将立体声转为单声道
立体声测试音频.wav左声道_立体声测试音频.wav(仅左声道) 右声道_立体声测试音频.wav(仅右声道)典型场景:拆分左右声道为两个独立文件
单声道测试音频.mp3输入已是单声道,无需转换边界 case:输入本身就是单声道
立体声测试音频.flac单声道测试音频.flac(左右声道混合)边界 case:支持无损格式 FLAC
立体声测试音频.aac单声道测试音频.aac(左声道保留,右声道丢弃)边界 case:支持常见压缩格式 AAC
立体声测试音频.wav单声道测试音频.wav(左右声道混合)易错 case:用户可能误以为混合与保留左声道结果相同

常见错误对照8 个常踩的坑 · 错误 → 修复

1. 把立体声文件当成单声道处理后再合并

错误
用 FFmpeg 的 -ac 1 直接强制降混为单声道,再手动复制成双声道
修复
使用通道分离命令:ffmpeg -i input.wav -filter_companion "[0:a]pan=mono|c0=FL[L];[0:a]pan=mono|c0=FR[R]" -map "[L]" left.wav -map "[R]" right.wav

强制降混会丢失左右声道差异(如乐器分离、立体声相位信息),无法还原原始立体声效果。

2. 误以为单声道文件可以拆出左右不同内容

错误
对一段单声道录音执行通道拆分,期望得到两个不同音频流
修复
先确认文件声道数:ffprobe -v error -show_entries stream=channels -of default=noprint_wrappers=1 input.mp3

单声道只有一个音频流,拆分左右声道只会得到两份完全相同的拷贝,没有实际意义。

3. 把左右声道反转当作立体声转换

错误
使用 ffmpeg -i input.wav -map_channel 0.0.1 -map_channel 0.0.0 output.wav 交换声道
修复
立体声转单声道应使用 -ac 1(混音)或 -filter_complex "pan=mono|c0=0.5*FL+0.5*FR"(等功率混合)

交换声道只是重排声道顺序,不会改变声道数量;立体声转单声道需要合并两个通道的信号。

4. 用错 pan 滤镜的通道映射语法

错误
ffmpeg -i input.wav -af "pan=stereo|FL=FC|FR=FC" output.wav
修复
ffmpeg -i input.wav -af "pan=mono|c0=0.5*FL+0.5*FR" output_mono.wav

pan 滤镜输出声道名称必须匹配目标布局(mono 只有 c0,stereo 有 FL/FR);FC 是 5.1 布局中的中置声道,在立体声映射中无效。

5. 忽略文件元数据中的声道布局标记

错误
用 ffprobe 看到 channels=2 就认为一定是立体声,直接进行通道拆分
修复
先检查 channel_layout:ffprobe -v error -show_entries stream=channel_layout -of default=noprint_wrappers=1 input.flac

2 声道文件可能标记为 2.0(立体声)或 2.1(双声道+低音),后者低音炮通道(LFE)拆分后需单独处理。

6. 处理多声道文件时只拆前两声道

错误
对 5.1 声道文件使用 -map_channel 0.0.0 -map_channel 0.0.1 输出两个文件
修复
使用通道布局参数:ffmpeg -i input.ac3 -filter_complex "[0:a]channelsplit=channel_layout=5.1[FL][FR][FC][LFE][BL][BR]" -map "[FL]" front_left.wav -map "[FR]" front_right.wav -map "[FC]" center.wav -map "[LFE]" lfe.wav -map "[BL]" back_left.wav -map "[BR]" back_right.wav

5.1 声道包含 6 个独立通道,只拆前两个会丢失中置、低音炮和后环绕信息,导致音频内容不完整。

7. 输出文件格式不支持多声道导致静音

错误
将 5.1 声道音频直接输出为 MP3 文件
修复
输出为支持多声道的格式:ffmpeg -i input.ac3 -c:a pcm_s16le output.wav

MP3 最高只支持 2 声道(立体声),超过的声道会被静音或丢弃;WAV/FLAC/AC3 等格式支持 5.1 及以上声道。

8. 混淆声道索引和声道布局

错误
用 -map_channel 0.0.2 提取 5.1 文件的中置声道
修复
使用 channelsplit 滤镜:ffmpeg -i input.ac3 -filter_complex "[0:a]channelsplit=channel_layout=5.1:channels=FC[center]" -map "[center]" center.wav

-map_channel 中的索引(0.0.2)基于流内声道顺序,不同编码器可能排列不同;channelsplit 按布局名称(FC)提取更可靠。

工作原理

公式推导 · 流程图解 · 依据出处

核心公式

L_out = L_in, R_out = R_in

变量说明

  • L_in — 输入左声道信号
  • R_in — 输入右声道信号
  • L_out — 输出左声道信号
  • R_out — 输出右声道信号

示例

立体声文件左声道为人声(-3dB),右声道为伴奏(-6dB)。通道拆分后:左声道输出仅含人声(-3dB),右声道输出仅含伴奏(-6dB)。单声道合并时:M_out = (L_in + R_in) / 2,输出为 (-3dB + -6dB) / 2 = -4.5dB 的单声道信号。

适用范围

适用于 PCM 编码的 WAV/FLAC/AIFF 等无损格式。对有损压缩(MP3/AAC)解码后重新编码时,因量化误差会引入微小噪声(<0.1dB)。不适用于多声道环绕声(5.1/7.1)的通道映射。

原理图

立体声文件(MP3/WAV/FLAC)FFmpeg 解码解析音频流分离左右声道(L/R 通道数据)转换处理合并/拆分/提取输出文件单声道/立体声核心操作选项🔹 提取左声道 → 输出单声道文件🔹 提取右声道 → 输出单声道文件🔹 双声道合并 → 输出单声道文件🔹 单声道转立体声 → 复制到双声道
用户输入/输出 服务端处理 核心转换

开发者集成

3 种主流语言 · 复制即用

import subprocess

# 使用 FFmpeg 将立体声文件拆分为两个单声道文件
input_file = "stereo.wav"

# 提取左声道(channel 0)
subprocess.run([
    "ffmpeg", "-i", input_file,
    "-map_channel", "0.0.0",
    "left.wav"
], check=True)

# 提取右声道(channel 1)
subprocess.run([
    "ffmpeg", "-i", input_file,
    "-map_channel", "0.0.1",
    "right.wav"
], check=True)

print("已生成 left.wav 和 right.wav")
package main

import (
	"fmt"
	"os/exec"
)

func main() {
	input := "stereo.wav"

	// 提取左声道
	left := exec.Command("ffmpeg", "-i", input, "-map_channel", "0.0.0", "left.wav")
	if err := left.Run(); err != nil {
		panic(err)
	}

	// 提取右声道
	right := exec.Command("ffmpeg", "-i", input, "-map_channel", "0.0.1", "right.wav")
	if err := right.Run(); err != nil {
		panic(err)
	}

	fmt.Println("已生成 left.wav 和 right.wav")
}
const { execSync } = require('child_process');
const path = require('path');

const input = 'stereo.wav';

// 提取左声道
execSync(`ffmpeg -i "${input}" -map_channel 0.0.0 left.wav`, { stdio: 'inherit' });

// 提取右声道
execSync(`ffmpeg -i "${input}" -map_channel 0.0.1 right.wav`, { stdio: 'inherit' });

console.log('已生成 left.wav 和 right.wav');

常见问题

7 个高频疑问

怎么把一个双声道歌曲里的左声道(比如伴奏)单独提取出来?
工具里选择「拆分左右声道」模式,上传文件后点击处理即可。输出会生成两个独立的单声道文件:一个左声道,一个右声道。如果是想只保留某个声道,处理完后下载对应的单声道文件就行。注意:如果原文件本身就是单声道(左=右),拆分后两个文件听起来是一样的。
为什么我把立体声转成单声道后,音量变小了?
正常现象。立体声转单声道时,工具会把左右两个声道混合成一个。如果左右声道内容相同(比如人声在正中间),混合后电平会叠加,音量正常;如果左右声道内容不同(比如乐器分在两边),混合时相位可能互相抵消一部分,导致整体音量下降。这是音频混合的物理特性,不是工具问题。如果觉得音量小,可以在音频编辑软件里做增益补偿。
这个工具和 Audacity 本地软件比,有什么不一样?
核心功能一样(都是靠 FFmpeg 处理),区别在于使用场景。本工具:① 无需安装,打开浏览器就能用;② 处理完直接下载,不占用本地硬盘空间存临时文件;③ 不支持批量处理或精细调整(比如渐变的声道混合比例)。Audacity 适合需要反复试听、手动调整音轨的深度编辑;本工具适合快速完成一次性的声道转换或拆分,比如把手机录的会议录音转成单声道减小文件体积。
上传的 WAV 文件太大,处理到一半卡住了怎么办?
工具依赖浏览器内存处理,大文件(通常超过 200MB)可能因为内存不足导致无响应或崩溃。建议:① 先用其他音频软件把文件压缩成 MP3(码率 192kbps)再上传,文件体积能缩小到原来的 1/10;② 如果必须用 WAV,可以先剪成 2-3 分钟的小段分别处理;③ 换用 Chrome 或 Edge 浏览器,内存管理比 Firefox 好。后端处理(如果当前页面是纯前端实现)对大文件的容错率更低,建议优先用压缩后的格式。
把 MP3 转成单声道后,文件大小为什么没怎么变?
MP3 是压缩格式,它的文件大小主要由码率决定,而不是声道数。比如 128kbps 的立体声 MP3,转成单声道后码率通常仍然是 128kbps(编码器会自动把双声道数据合并到单声道,但保持了码率),所以体积几乎不变。如果想减小文件体积,应该降低码率(比如转成 64kbps 单声道 MP3),本工具目前不提供码率设置,需要额外用其他软件处理。
拆分出来的两个声道,播放时为什么一个有声一个没声?
说明原音频本身就是单声道,只是被包装成了立体声容器。很多老录音或电话录音,左右声道存的是完全一样的内容,拆分后两个文件听起来一模一样。另外,有些音轨刻意把某个声道留空(比如卡拉 OK 伴奏带的人声在右声道静音),这是正常的。可以先用播放器看波形:如果某个声道是平的一条直线,那就是原文件设计如此。
在线处理音频,我的文件会上传到你们服务器吗?会不会泄露隐私?
取决于当前工具的实现方式。如果页面提示「纯浏览器处理」或「WASM 处理」,则音频文件完全在本地浏览器内用 WebAssembly 版本的 FFmpeg 处理,不上传任何数据到服务器,断网也能用。如果页面显示「后端处理」,则文件会传到服务器用 Go 语言处理,处理完成后服务器会立即删除原始文件,不保留副本。不确定时,可以打开浏览器开发者工具(F12)的「网络」面板,观察处理过程中是否有文件上传请求。
选择 打开 +新窗口 esc关闭