音频压缩

比特率/采样率/单声道

406 次访问
AUDIO COMPRESSION

音频压缩

调节比特率 / 采样率 / 单声道压缩音频 · 最高可减 80% 体积 · 保持可接受音质

上传音频

📦

拖入或点击选择音频

压缩原理

三大降体积手段:① 降比特率(压缩越狠,损失越大)② 降采样率(高频丢失)③ 单声道(直接减半)。同时用三种可减 70-90%。

推荐组合:语音 / 播客 — 64 kbps + 22 kHz + 单声道;音乐 — 128 kbps + 44.1 kHz + 立体声;高保真 — 256+ kbps + 44.1/48 kHz。

无损压缩:FLAC / APE 等是无损格式(压缩率约 50%)。本工具用 MP3 有损压缩追求更高压缩率。

关于本工具

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

上传音频文件,通过调整比特率、采样率或切换单声道来减小文件体积。适合需要压缩音频以节省存储空间、满足上传大小限制或降低带宽占用的场景。处理完全在浏览器本地完成,文件不会上传到任何服务器。

使用场景

🎙️

播客上传优化

播客创作者录制一期 1 小时的节目,原始 WAV 文件可能超过 500MB,无法直接上传至音频托管平台(如 Apple Podcasts、小宇宙)。使用本工具将比特率降至 128kbps、采样率设为 44100Hz 并转为单声道,文件可缩小至 50MB 以内,同时人声清晰度几乎无损,上传速度大幅提升。

📱

手机空间清理

手机里存了大量微信语音备忘录、会议录音,每个文件几十 MB,128GB 存储很快告急。本工具批量压缩这些录音文件,将比特率降到 64kbps、采样率降到 22050Hz,单个文件缩小 80% 以上,保留可听清的人声内容,释放 10GB 以上空间。

🎵

音乐试听样片

独立音乐人需要给厂牌或演出方发送 demo 小样,原始 24bit/96kHz 母带文件动辄上百 MB,邮箱附件限制 25MB。用本工具将比特率设为 192kbps、采样率设为 44100Hz、转为单声道,样片体积降到 5-8MB,方便快速发送试听,对方手机也能直接播放。

🎓

网课课件压缩

在线教育机构录制一节 45 分钟的讲师讲解课程,原始音频 200MB 以上,上传到学习平台耗时且占用服务器带宽。使用本工具将比特率降至 96kbps、采样率设为 32000Hz,文件可压缩至 20MB 以内,学生端加载速度提升 3 倍,且讲师语音清晰度满足教学需求。

📞

客服录音归档

企业客服系统每日生成数千条通话录音,原始音频文件每月占用 TB 级存储。使用本工具批量压缩录音文件,将比特率设为 32kbps、采样率设为 8000Hz(电话语音标准)、转为单声道,文件缩小至原始大小的 5%,保留对话内容的可理解性,大幅降低长期归档成本。

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

维度本工具竞品 A (Online Audio Converter)传统方法 (Audacity)
数据隐私纯浏览器处理,文件不上传服务器文件需上传至云端服务器处理完全本地处理,无网络传输
处理速度取决于文件大小和浏览器性能,通常数秒至数十秒取决于文件大小和服务器负载,通常数秒至数分钟取决于本地 CPU 性能,通常数秒至数分钟
离线可用需要网络加载,加载后可离线使用必须全程联网完全离线,需提前安装软件
大小限制受浏览器内存限制,通常 500MB 以内受服务器策略限制,通常 100MB-2GB受本地磁盘和内存限制,几乎无上限
收费免费,无隐藏费用免费,但部分高级功能或大文件需付费免费开源软件
注册无需注册或登录无需注册无需注册
平台依赖依赖浏览器 (Chrome/Firefox/Edge),跨操作系统依赖浏览器,跨操作系统需下载安装对应操作系统版本 (Windows/macOS/Linux)
功能复杂度专注音频压缩,操作极简支持多种格式转换和基础编辑功能全面,支持多轨编辑、特效、降噪等专业操作

使用指南

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

使用步骤

  1. 上传或拖入音频文件,支持 MP3 / WAV / FLAC / M4A 格式,单文件 ≤ 200MB
  2. 调整比特率(8-320 kbps)控制音质与文件大小,数值越低压缩率越大
  3. 选择采样率(8000-48000 Hz),降低采样率可进一步缩小体积
  4. 勾选「单声道」将立体声合并为单声道,文件体积减半
  5. 点击「开始压缩」按钮,处理完成后自动弹出下载提示

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

输入输出说明
比特率: 128kbps, 采样率: 44100Hz, 声道: 立体声压缩后文件大小: 1.2MB, 时长: 60秒, 格式: MP3典型场景:音乐文件标准压缩
比特率: 64kbps, 采样率: 22050Hz, 声道: 单声道压缩后文件大小: 0.3MB, 时长: 60秒, 格式: MP3典型场景:语音录音压缩
比特率: 320kbps, 采样率: 48000Hz, 声道: 立体声压缩后文件大小: 2.4MB, 时长: 60秒, 格式: MP3边界 case:高保真音频压缩
比特率: 8kbps, 采样率: 8000Hz, 声道: 单声道压缩后文件大小: 0.06MB, 时长: 60秒, 格式: MP3边界 case:极低比特率,适合电话录音
比特率: 128kbps, 采样率: 44100Hz, 声道: 单声道压缩后文件大小: 0.6MB, 时长: 60秒, 格式: MP3易错 case:立体声转单声道后体积减半
比特率: 0kbps, 采样率: 44100Hz, 声道: 立体声错误:比特率必须大于0易错 case:输入了无效的比特率值

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

1. 比特率设得比原始音频还高

错误
将 128 kbps 的 MP3 压缩时,比特率设为 320 kbps
修复
压缩时比特率设为 128 kbps 或更低(如 64 kbps)

有损压缩无法通过提高输出比特率来恢复已丢失的高频信息;输出码率高于输入只会浪费体积,音质不会提升。

2. 采样率与比特率组合不合理

错误
将 44.1 kHz 的音频压缩为 8 kHz 采样率 + 320 kbps 比特率
修复
8 kHz 采样率搭配 16-32 kbps 比特率;或保持 44.1 kHz 搭配 64-128 kbps

奈奎斯特采样定理下,8 kHz 只能表示 0-4 kHz 频率,此时高比特率完全浪费——编码器会填充无意义数据。

3. 误以为单声道就是立体声文件减半

错误
认为 10 MB 立体声 MP3 转单声道后一定是 5 MB
修复
实际压缩为 4-6 MB(取决于编码器效率和元数据残留)

单声道丢弃一个声道数据,但编码器仍会保留帧头、CRC 校验和元数据(ID3 标签),这些固定开销不会减半。

4. 对语音使用音乐优化的 VBR 预设

错误
用 `-q:a 0`(最高质量 VBR)压缩纯人声播客
修复
用 `-q:a 5`(中等质量 VBR)或固定 CBR 64 kbps 压缩语音

语音频谱集中在 300-3400 Hz,不需要音乐 VBR 预设的高比特率去编码高频泛音;`-q:a 0` 会让语音文件体积膨胀 3-5 倍而无听感收益。

5. 把 CBR 和 VBR 的比特率参数混用

错误
在 FFmpeg 中写 `-b:a 128k -q:a 2`
修复
CBR 用 `-b:a 128k`,VBR 用 `-q:a 2`,二者选其一

FFmpeg 中 `-b:a` 和 `-q:a` 是互斥参数;同时指定时,后出现的参数会覆盖前者,导致实际编码模式与预期不符。

6. 压缩后文件反而变大

错误
将 64 kbps 的 WMA 文件压缩为 128 kbps 的 MP3
修复
压缩前检查原始码率,确保输出码率低于输入码率

有损转码(如 WMA→MP3)会先解码再重新编码;若输出码率高于原始码率,编码器会填充冗余数据,文件体积反而增大。

7. 忽略元数据标签的体积

错误
压缩 3 分钟歌曲得到 2.8 MB 文件,但嵌入 500KB 的专辑封面后变成 3.3 MB
修复
压缩前先调整封面图片分辨率(如 500×500 px)或使用 `-map_metadata -1` 移除元数据

ID3v2 标签可以包含完整 JPEG 图片;封面图片体积可能超过音频数据本身,尤其在低比特率压缩时占比显著。

工作原理

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

核心公式

B = R × C × N

变量说明

  • B — 未压缩音频的比特率(kbps)
  • R — 采样率(kHz),如 44.1
  • C — 每个采样点的比特深度,如 16 bit
  • N — 声道数,单声道=1,立体声=2

示例

CD 音质立体声音频:采样率 44.1 kHz,比特深度 16 bit,声道数 2。B = 44.1 × 16 × 2 = 1411.2 kbps。这是 PCM 原始数据流的理论比特率,压缩后(如 MP3 128 kbps)可降至约 1/11。

适用范围

适用于计算未压缩 PCM/WAV 格式的原始比特率。不适用于已压缩格式(MP3/AAC)或浮点采样(32 bit float)。公式基于数字音频基础理论(Nyquist-Shannon 采样定理)。

原理图

上传音频文件MP3 / WAV / FLACFFmpeg WASM浏览器内解码 & 重编码下载压缩结果文件体积减小压缩参数• 比特率:32 – 320 kbps(越低文件越小)• 采样率:8000 – 48000 Hz(降低可进一步压缩)• 声道:立体声 / 单声道(单声道体积减半)
用户输入 本地处理(WASM) 输出结果 参数说明

开发者集成

3 种主流语言 · 复制即用

import subprocess
import json

# 使用 FFmpeg 压缩音频:降低比特率、采样率、转为单声道
input_file = "input.mp3"
output_file = "output.mp3"

# 参数:比特率 64kbps,采样率 22050Hz,单声道
cmd = [
    "ffmpeg",
    "-i", input_file,
    "-b:a", "64k",
    "-ar", "22050",
    "-ac", "1",
    "-y", output_file
]

result = subprocess.run(cmd, capture_output=True, text=True)
if result.returncode != 0:
    print(f"压缩失败: {result.stderr}")
else:
    print(f"压缩完成: {output_file}")
package main

import (
	"fmt"
	"os/exec"
)

func main() {
	// 使用 FFmpeg 压缩音频:比特率 64kbps,采样率 22050Hz,单声道
	input := "input.mp3"
	output := "output.mp3"

	cmd := exec.Command("ffmpeg",
		"-i", input,
		"-b:a", "64k",
		"-ar", "22050",
		"-ac", "1",
		"-y", output,
	)

	if err := cmd.Run(); err != nil {
		fmt.Printf("压缩失败: %v\n", err)
	} else {
		fmt.Printf("压缩完成: %s\n", output)
	}
}
const { execSync } = require('child_process');

// 使用 FFmpeg 压缩音频:比特率 64kbps,采样率 22050Hz,单声道
const input = 'input.mp3';
const output = 'output.mp3';

const cmd = `ffmpeg -i "${input}" -b:a 64k -ar 22050 -ac 1 -y "${output}"`;

try {
  execSync(cmd, { stdio: 'inherit' });
  console.log(`压缩完成: ${output}`);
} catch (err) {
  console.error('压缩失败:', err.message);
}

常见问题

8 个高频疑问

为什么压缩后音频文件大小没怎么变?
文件大小主要由比特率决定,如果原始音频已经是低比特率(如 128kbps),再压到 64kbps 体积才会明显减少。另外采样率、声道数也会影响:比如 44100Hz 立体声转 22050Hz 单声道,体积可再减半。建议检查原始文件属性:右键→属性→详细信息,看原始比特率和声道数。若原始是 320kbps 立体声,压到 128kbps 单声道,通常能缩小 70% 以上。
压缩后音质变差很多,怎么调参数能保留更好音质?
音质损失主要来自比特率降低和采样率降低。想尽量保真:①比特率不低于 128kbps(MP3 格式)或 96kbps(AAC 格式);②采样率保持 44100Hz 或 48000Hz,不要降到 22050Hz 以下;③声道保留立体声(不要转单声道)。如果原始是无损格式(WAV/FLAC),直接压成 320kbps MP3 几乎听不出差异。本工具默认参数是平衡体积和质量的常见值,可以手动调高比特率。
在线压缩会泄露我的音频文件吗?
本工具全部在浏览器本地处理,音频文件不会上传到任何服务器。实现基于 FFmpeg 的 WebAssembly 版本,所有压缩计算在浏览器内完成。可以断网后使用验证:断开 WiFi 后打开页面,仍然能正常压缩。压缩完成后,文件仅保存在本地下载目录,页面关闭后内存中的数据即被清除。
支持压缩哪些格式?为什么我上传的 .wav 文件转不了?
支持常见的音频格式:MP3、WAV、OGG、FLAC、AAC、M4A、WMA 等。WAV 文件通常很大,压缩会转成 MP3 或 AAC 输出,所以输入是 WAV 完全没问题。如果上传失败,检查文件是否损坏或超过 200MB(浏览器内存限制)。建议先用播放器打开确认能正常播放,再上传。
比特率、采样率、单声道这三个参数到底怎么调?
比特率决定每秒数据量(单位 kbps),越高音质越好文件越大,128kbps 是平衡点。采样率决定声音频率范围(单位 Hz),44100Hz 覆盖人耳全频段,22050Hz 以下会损失高频细节。单声道把左右声道合并,体积减半但失去立体感。典型组合:微信语音类用 64kbps + 22050Hz + 单声道;音乐类用 192kbps + 44100Hz + 立体声;播客类用 128kbps + 44100Hz + 单声道。
压缩后格式变了,手机/播放器打不开怎么办?
本工具默认输出为 MP3 格式,绝大多数设备都支持。如果打不开,可能是文件名后缀没加 .mp3(手动加上即可),或是设备太老不支持 MP3(极少见)。可以在电脑上用 VLC 播放器测试,如果 VLC 能播,那就是设备兼容性问题。此时可以尝试把输出格式改成 AAC(M4A 后缀),兼容性稍差但音质更好。
同一个音频文件,为什么用这个工具和用格式工厂压缩后大小不一样?
不同压缩工具使用的编码器参数(如 VBR 可变比特率 vs CBR 固定比特率)不同。本工具使用 FFmpeg 的 libmp3lame 编码器,默认采用 VBR(质量优先),相同比特率设置下体积可能比格式工厂的 CBR 小 10-20%。如果希望体积完全一致,可以手动在参数里指定 CBR 模式(如 -b:a 128k),但 VBR 通常音质更好。
压缩到一半卡住了/进度条不动怎么办?
通常是文件过大(超过 200MB)或浏览器内存不足。可以尝试:①关闭其他标签页释放内存;②换 Chrome 或 Edge 浏览器(Firefox 旧版对 WASM 支持有限);③把原文件用其他工具先切割成小段再逐段压缩。如果一直卡在 0%,可能是文件编码格式不被 FFmpeg 支持(极罕见),可以先用格式工厂转成标准 WAV 再上传。
选择 打开 +新窗口 esc关闭