Python 拼接wav音频
需求:有一批零散的音频需要拼接成1小时的音频输出。
前置要求:本地安装 python3,ffmpeg。
pip3 install pydub
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''
@Project :python
@File :wav_add.py
@Author :
@Date :2022/8/24 10:47
'''
import osfrom pydub import AudioSegmentdef traverse_dir_files(root_dir, ext=None):"""列出文件夹中的文件, 深度遍历:param root_dir: 根目录:param ext: 后缀名:param is_sorted: 是否排序,耗时较长:return: [文件路径列表, 文件名称列表,目录列表]"""names_list = []paths_list = []dir_list = []for parent, _, fileNames in os.walk(root_dir):dir_list.append(parent)for name in fileNames:if name.startswith('.'): # 去除隐藏文件continueif ext: # 根据后缀名搜索if name.endswith(tuple(ext)):names_list.append(name)paths_list.append(os.path.join(parent, name))else:names_list.append(name)paths_list.append(os.path.join(parent, name))if not names_list: # 文件夹为空return paths_list, names_listreturn paths_list, names_list, dir_listdef wav_add(dir_path):wac_list = traverse_dir_files(dir_path)[0]wav_list = []total_list = []times = 0for i in wac_list:input_music_1 = AudioSegment.from_wav(i)input_music_1_time = len(input_music_1)times += input_music_1_time / 60000wav_list.append(i)if times >= 60:# print(times)times = 0total_list.append(wav_list)wav_list = []# print(json.dumps(total_list, ensure_ascii=False))count = 1for i in total_list:output_music = Nonefor j in i:input_music_1 = AudioSegment.from_wav(j)if output_music is None:output_music = input_music_1else:output_music += input_music_1output_music.export("/Users/Desktop/audio/output_music.wav", format="wav")os.system("ffmpeg -i /Users/Desktop/audio/output_music.wav" +" -vn -acodec copy -ss 00:00:00 -t 01:00:00 /Users/Desktop/audio/output_music_{}.wav".format(count))os.remove("/Users/Desktop/audio/output_music.wav")count += 1# break
if __name__ == '__main__':wav_add("/Users/Desktop/audio/")
Python 拼接wav音频相关推荐
- 使用python绘制wav 音频文件频谱图
1.wav 文件需要是Windows PCM 格式(未压缩),请参考 2.python 库的安装: pip install pyaudio(可能会用到) pip install matplotlib( ...
- python 读取wav 音频文件的两种方式
python 中,常用的有两种可以读取wav音频格式的方法,如下所示: 1 import scipy 2 from scipy.io import wavfile 3 4 import soundfi ...
- Python获取.wav音频的时长
要求是这样的: 给你一个.wav的音频,要求获取这个音频的时长.这里需要用到两个模块,contextlib和 wave. 方法1: import contextlib import wave file ...
- python对wav音频可视化
文章目录 前言 一.导入包以及音频文件 二.信号+傅里叶变换 三.Mel谱图 四.Log_Mel谱图 总结 前言 本文主要是使用代码实现音频文件(wav)的多种可视化. 1.信号 2.傅里叶变换 3. ...
- Python读取wav音频文件
第一种方式:蜂鸣声 import winsound # 系统音效 winsound.Beep(300,500)# 响铃:300频率,500持续时间 第二种方式:音乐(wav格式或mp3格式) 安装pl ...
- Python 读取WAV音频文件 画频谱
import wave import struct from scipy import * from pylab import * #读取wav文件,我这儿读了个自己用python写的音阶的wav f ...
- Python下.wav音频文件转声谱图
1.安装librosa工具包 参考链接:https://github.com/librosa/librosa 我是在anaconda下安装的,激活环境,使用如下命令: 2.音频数据准备: 3.具体程序 ...
- python音频频谱_Python 读取WAV音频文件 画频谱的实例
Python 读取WAV文件 import wave import struct from scipy import * from pylab import * #读取wav文件,我这儿读了个自己用p ...
- 【音频处理】python将两个单声道wav音频合成一个双声道wav音频_立体声感
python将两个单声道wav音频合成一个双声道wav音频_立体声感 环境相关 编写目的 录音代码 单通道音合成双通道音频代码 在以下内容中,若有任何错误和不足,欢迎读者进行指正,不尽感激! 环境相关 ...
最新文章
- JSP页面中使用JSTL标签出现无法解析问题解决办法
- simplexmlelement类设置编码_超3.6万条!全国通用的医用耗材编码标准来了
- JSP自定义标签开发入门
- java实现邮件发送准备工作(前期配置)
- hdu 1542/1255 Atlantis/覆盖的面积
- centos 生成 ssh-key github 连接 配置
- 290种零食大统计,谁能唤起80、90后的童年回忆?|数据会说话
- Linux系统编程29:进程信号之什么是信号及signal函数
- linux搭建redis
- php ob缓存原理介绍
- python direct_Python Qt.DirectConnection方法代码示例
- 计算机一级wpsoffice知识,全国计算机一级WPSOffice考试试题
- 达梦单机搭建及简单使用
- 路由器温度测试软件,教你增强小米路由WEB管理(一)——添加CPU温度显示
- 海量图片存储与运算架构
- cuba_认识CLI for CUBA平台
- 利用php curl暴力破解urp账号密码
- 如何批量将 pptx 格式的 PPT 演示文稿转换为 ppt 格式
- oracle的job引起数据库崩溃,JOB忽然停止工作了
- ES5 Array新方法reduce() 数组累加