You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Java分割WAV音频、调整片段振幅并合并生成新音频

实现WAV音频分割、音量调整与合并操作

我们可以用Python的pydub库完成这套音频编辑流程,它对WAV文件的处理直观高效,依赖ffmpeg或libav处理底层音频编码。

准备工作

  • 安装pydub:
    pip install pydub
    
  • 确保系统已安装ffmpeg(Windows/macOS/Linux可通过包管理器或官网下载)。

1. 分割音频文件

首先要确定“Hi”和“there”的分割时间点。如果已知准确时刻(比如“Hi”结束于1.2秒),直接用pydub的切片功能即可;如果未知,可结合语音识别工具定位(示例先假设已知分割点为1200毫秒)。

from pydub import AudioSegment

# 加载原始WAV文件
original_audio = AudioSegment.from_wav("original.wav")

# 分割点:假设"Hi"结束于1200毫秒
split_time = 1200

# 分割并保存文件
hi_audio = original_audio[:split_time]
there_audio = original_audio[split_time:]
hi_audio.export("hi.wav", format="wav")
there_audio.export("there.wav", format="wav")

2. 调整there.wav的音量

pydub提供两种常用的音量调整方式:

  • 按分贝调整(比如增加6分贝):
    there_audio = AudioSegment.from_wav("there.wav")
    # 提升6分贝,降低则用减号,如there_audio - 4
    adjusted_there = there_audio + 6
    adjusted_there.export("there_adjusted.wav", format="wav")
    
  • 按振幅倍数调整(比如放大1.5倍):
    adjusted_there = there_audio * 1.5
    adjusted_there.export("there_adjusted.wav", format="wav")
    

3. 合并音频并保存

将分割后的hi.wav和调整后的音频合并为最终文件:

hi_audio = AudioSegment.from_wav("hi.wav")
adjusted_there = AudioSegment.from_wav("there_adjusted.wav")

# 拼接音频
final_audio = hi_audio + adjusted_there
final_audio.export("hi_there.wav", format="wav")

补充:自动识别分割点(可选)

如果不知道具体分割时间,可结合SpeechRecognition库做语音转文本,再借助专业工具定位分段:

import speech_recognition as sr

r = sr.Recognizer()
with sr.AudioFile("original.wav") as source:
    audio_data = r.record(source)
    text = r.recognize_google(audio_data)  # 识别出"Hi there"

# 如需精准定位,可使用pyannote.audio等工具做语音分段

内容的提问来源于stack exchange,提问作者smoovy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 17:55:28