AudioSegment 将音频分割为指定长度时间片段 - python 实现

DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。

需要更多数据资源和技术解决方案,知识星球: "DataBall - X 数据球(free)"

-----------------------------------------------------------------------------------------

AudioSegment 将音频切割为指定长度时间片段。

python 复制代码
# -*-coding:utf-8-*-
# date:2024-12
# Author: DataBall - XIAN
# Function:将音频切割为指定长度时间片段

from pydub import AudioSegment

audio_path = 'audio/test.mp3'

# 加载音频文件
audio = AudioSegment.from_file(audio_path)

# 确定每个音频切割音频片段的长度(秒)
chunk_length_seconds = 20  # 假设每段音频长度为20秒

# 计算需要切割的片段数量
num_chunks = int(len(audio) / 1000 / chunk_length_seconds)  # len(audio)返回的是毫秒数

# 切割音频并保存每个片段
for i in range(num_chunks):
    start_ms = i * chunk_length_seconds * 1000  # 将秒转换为毫秒
    chunk = audio[start_ms:start_ms + chunk_length_seconds * 1000]  # 切割音频片段
    chunk.export(f'clip_audio/chunk_{i+1}.mp3', format='mp3')  # 导出音频片段

# 如果音频的总长度不是chunk_length_seconds的整数倍,会剩下一部分音频没有被切割
# 处理剩余的音频
remaining_ms = len(audio) - num_chunks * chunk_length_seconds * 1000
if remaining_ms > 0:
    remaining_chunk = audio[(-remaining_ms):]
    remaining_chunk.export(f'clip_audio/chunk_{num_chunks + 1}.mp3', format='mp3')

​​​​​

助力快速掌握数据集的信息和使用方式。

数据可以如此美好!

相关推荐
禾小西14 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨14 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言
徐小黑ACG15 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
优橙教育15 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php
SEO_juper15 小时前
用 Python 写一个 GEO 可见性检查脚本:你的网站现在能被 AI 引用吗
开发语言·人工智能·爬虫·python·seo·外贸独立站
西柚小萌新16 小时前
【LLM&&AI应用开发 八股文】--4.3.Agent智能体(下)
java·开发语言·数据库
北极有牛16 小时前
cpp学习笔记--常量指针
java·开发语言·算法
半杯咖啡半行码16 小时前
C++ 编程与 STL 模板:从泛型编程到内存安全详解
开发语言·c++
caoerzhong16 小时前
JeeWMS 开源 WMS 部署避坑指南:Java 仓库管理系统的环境基线、四类根因与可复现交付
java·开发语言·开源
时间的拾荒人16 小时前
Qt 界面优化:绘图详解 —— 从基础图形到图片处理
开发语言·qt·面试