需求:有一批零散的音频需要拼接成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音频相关推荐

  1. 使用python绘制wav 音频文件频谱图

    1.wav 文件需要是Windows PCM 格式(未压缩),请参考 2.python 库的安装: pip install pyaudio(可能会用到) pip install matplotlib( ...

  2. python 读取wav 音频文件的两种方式

    python 中,常用的有两种可以读取wav音频格式的方法,如下所示: 1 import scipy 2 from scipy.io import wavfile 3 4 import soundfi ...

  3. Python获取.wav音频的时长

    要求是这样的: 给你一个.wav的音频,要求获取这个音频的时长.这里需要用到两个模块,contextlib和 wave. 方法1: import contextlib import wave file ...

  4. python对wav音频可视化

    文章目录 前言 一.导入包以及音频文件 二.信号+傅里叶变换 三.Mel谱图 四.Log_Mel谱图 总结 前言 本文主要是使用代码实现音频文件(wav)的多种可视化. 1.信号 2.傅里叶变换 3. ...

  5. Python读取wav音频文件

    第一种方式:蜂鸣声 import winsound # 系统音效 winsound.Beep(300,500)# 响铃:300频率,500持续时间 第二种方式:音乐(wav格式或mp3格式) 安装pl ...

  6. Python 读取WAV音频文件 画频谱

    import wave import struct from scipy import * from pylab import * #读取wav文件,我这儿读了个自己用python写的音阶的wav f ...

  7. Python下.wav音频文件转声谱图

    1.安装librosa工具包 参考链接:https://github.com/librosa/librosa 我是在anaconda下安装的,激活环境,使用如下命令: 2.音频数据准备: 3.具体程序 ...

  8. python音频频谱_Python 读取WAV音频文件 画频谱的实例

    Python 读取WAV文件 import wave import struct from scipy import * from pylab import * #读取wav文件,我这儿读了个自己用p ...

  9. 【音频处理】python将两个单声道wav音频合成一个双声道wav音频_立体声感

    python将两个单声道wav音频合成一个双声道wav音频_立体声感 环境相关 编写目的 录音代码 单通道音合成双通道音频代码 在以下内容中,若有任何错误和不足,欢迎读者进行指正,不尽感激! 环境相关 ...

最新文章

  1. JSP页面中使用JSTL标签出现无法解析问题解决办法
  2. simplexmlelement类设置编码_超3.6万条!全国通用的医用耗材编码标准来了
  3. JSP自定义标签开发入门
  4. java实现邮件发送准备工作(前期配置)
  5. hdu 1542/1255 Atlantis/覆盖的面积
  6. centos 生成 ssh-key github 连接 配置
  7. 290种零食大统计,谁能唤起80、90后的童年回忆?|数据会说话
  8. Linux系统编程29:进程信号之什么是信号及signal函数
  9. linux搭建redis
  10. php ob缓存原理介绍
  11. python direct_Python Qt.DirectConnection方法代码示例
  12. 计算机一级wpsoffice知识,全国计算机一级WPSOffice考试试题
  13. 达梦单机搭建及简单使用
  14. 路由器温度测试软件,教你增强小米路由WEB管理(一)——添加CPU温度显示
  15. 海量图片存储与运算架构
  16. cuba_认识CLI for CUBA平台
  17. 利用php curl暴力破解urp账号密码
  18. 如何批量将 pptx 格式的 PPT 演示文稿转换为 ppt 格式
  19. oracle的job引起数据库崩溃,JOB忽然停止工作了
  20. ES5 Array新方法reduce()  数组累加

热门文章

  1. yarn安装与配置【Windows】
  2. ROS——rplidar在rviz中三维显示
  3. 自主研发数据库TDSQL和TBase核心架构揭秘和实践
  4. Appium基础 — Appium Inspector定位工具(一)
  5. PHY_MDIO 接口设计
  6. JAVA9 新特性 完整使用
  7. 电机与拖动 - 2 变压器
  8. 对于初学者,本文为您提供了对机器视觉的全面理解
  9. Maven的使用与配置,阿里P7亲自讲解
  10. EasyRecovery2022数据免费恢复文件