Python 您所在的位置:网站首页 如何把音频切成多段 Python

Python

2024-04-10 07:52| 来源: 网络整理| 查看: 265

由于有网友在我这篇Python-将一整段音频批量切成一小段一小段的博客下,问我如何实现按步长切割,切割的段之间有重叠部分,所以写了这个脚本

1.代码如下: from pydub import AudioSegment import numpy as np audio = AudioSegment.from_file("电视剧.wav", "wav") audio_time = len(audio)#获取待切割音频的时长,单位是毫秒 cut_parameters = np.arange(10,audio_time/1000,10) #np.arange()函数第一个参数为起点,第二个参数为终点,第三个参数为步长(10秒) start_time = int(0)#开始时间设为0 ########################根据数组切割音频#################### for t in cut_parameters: stop_time = int(t * 1000) # pydub以毫秒为单位工作 audio_chunk = audio[start_time:stop_time] #音频切割按开始时间到结束时间切割 audio_chunk.export("dianshiju-{}.wav".format(int(t/10)), format="wav") # 保存音频文件,t/10只是为了计数,根据步长改变。步长为5就写t/5 start_time = stop_time - 4000 #开始时间变为结束时间前4s---------也就是叠加上一段音频末尾的4s print('finish') 2.效果图:

第二段有第一段结尾4s的音频 在这里插入图片描述 希望可以解决你的问题,如果还有问题欢迎留言~我尽量解答

2021/6/16更新

有些同学有很多文件需要这样子处理,但不会批处理,在这里贴上批处理的代码:

import os from pydub import AudioSegment import numpy as np ########################开始批处理###################### file_path1 = r"E:\untitled1\audio_test\input" #输入路径 file_path2 = r"E:\untitled1\audio_test\output" #输出路径 for file in os.listdir(file_path1): #遍历文件 path1 = file_path1+'\\'+file filename = file.split('.')[0] #不带 .wav的文件名 ########################处理音频文件####################### audio = AudioSegment.from_file(path1, "wav") audio_time = len(audio) # 获取待切割音频的时长,单位是毫秒 cut_parameters = np.arange(1, audio_time / 1000, 10) # np.arange()函数第一个参数为起点,第二个参数为终点,第三个参数为步长(10秒) start_time = int(0) # 开始时间设为0 ########################根据数组切割音频#################### for t in cut_parameters: stop_time = int(t * 1000) # pydub以毫秒为单位工作 # print(stop_time) audio_chunk = audio[start_time:stop_time] # 音频切割按开始时间到结束时间切割 print("split at [{}:{}] ms".format(start_time, stop_time)) audio_chunk.export(file_path2 + '\\' + filename + "-{}.wav".format(int(t / 1)), format="wav") #保存音频文件 start_time = stop_time - 4000 # 开始时间变为结束时间前4s---------也就是叠加上一段音频末尾的4s print('finish')

多说一点,学pyhon我觉得要学习怎么去批处理,把批处理代码搞清楚!!!因为很多时候你在网上看到一些功能示例都是对一个文件进行处理的。只要学会了批处理,那你会发现工作轻松很多~ 加油!!!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有