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')

​​​​​

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

数据可以如此美好!

相关推荐
2401_873479404 小时前
如何利用IP查询定位识别电商刷单?4个关键指标+工具配置方案
开发语言·tcp/ip·php
我爱cope5 小时前
【从0开始学设计模式-10| 装饰模式】
java·开发语言·设计模式
菜鸟学Python5 小时前
Python生态在悄悄改变:FastAPI全面反超,Django和Flask还行吗?
开发语言·python·django·flask·fastapi
浪浪小洋6 小时前
c++ qt课设定制
开发语言·c++
charlie1145141916 小时前
嵌入式C++工程实践第16篇:第四次重构 —— LED模板,从通用GPIO到专用抽象
c语言·开发语言·c++·驱动开发·嵌入式硬件·重构
故事和你916 小时前
洛谷-数据结构1-4-图的基本应用1
开发语言·数据结构·算法·深度优先·动态规划·图论
程序猿编码7 小时前
给你的网络流量穿件“隐形衣“:手把手教你用对称加密打造透明安全隧道
linux·开发语言·网络·安全·linux内核
aq55356008 小时前
编程语言三巨头:汇编、C++与PHP大比拼
java·开发语言
aq55356008 小时前
PHP vs Python:30秒看懂核心区别
开发语言·python·php
我是无敌小恐龙8 小时前
Java SE 零基础入门Day01 超详细笔记(开发前言+环境搭建+基础语法)
java·开发语言·人工智能·opencv·spring·机器学习