python将音频进行变速的操作方法


Posted in Python onApril 08, 2020

有的时候需要手里的音频文件变速听,或可能变慢或可能变快

这里使用的python进行操作,我的目标是将文件转成2倍速

首先需要安装插件

pip install ffmpeg

然后再执行:

from ffmpeg import audio
audio.a_speed("D:\\1505.mp3", "2", "D:\\1505_2x.mp3")

如果执行不出错,会返回一个true

运行结果

python将音频进行变速的操作方法

我可以看到这里的音频速度提升以后音频小了

这里我是将目标路径下的MP3音频转成了2倍速的,设立不局限于MP3。其他格式的音频文件也是可以进行处理的。

当然这里还可以进行批量操作

import os
import sys
from ffmpeg import audio
audio_path = "D:\\audio\\" 
finish_path = "D:\\2x_audio\\"
 
def run():
 audio_file = os.listdir(audio_path)
 for i, audio1 in enumerate(audio_file):
  print(audio_path+audio1)
  audio.a_speed(audio_path+audio1, "2", finish_path+"2x"+audio1)
run()

实际上这个的源码干了一件这个事情

import subprocess
 
# 调整音频播放速率
def a_speed(input_file, speed, out_file):
 try:
  cmd = "ffmpeg -y -i %s -filter_complex \"atempo=tempo=%s\" %s" % (input_file, speed, out_file)
  res = subprocess.call(cmd, shell=True)
 
  if res != 0:
   return False
  return True
 except Exception:
  return False

实际可以看到,使用的f调用的原生的fmpeg,也就是基于fmpeg开发的

不过好像我发现,如果音频文件太大会失败,返回false

我试过原生的fmpeg是可以进行的,只是会转换很慢

D:\>ffmpeg -n -i 222.mp3 -filter:a "atempo=2" output.mp3

现在不知道是不是因为限制了大小(现在猜测可能是显示了大或者限制了响应时间大小,在源码里没有发现什么诡异的地方),音频不算大的是没问题的,我试的单个文件是100多兆的文件,会失败,但是10m是没有问题的。

实在不行就直接用原生的好了

import os
import sys
#from ffmpeg import audio
 
audio_path = "D:\\audio\\" 
finish_path = "D:\\2x_audio\\"
 
def run():
 audio_file = os.listdir(audio_path)
 for i, audio1 in enumerate(audio_file):
  #print(audio_path+audio1)
  cmd="ffmpeg -n -i "+audio_path+audio1+" -filter:a atempo=2 "+finish_path+"2x"+audio1
  #print(cmd)
  os.system(cmd)
  #audio.a_speed(audio_path+audio1, "2", finish_path+"2x"+audio1)
run()

后来发现,最好音频的文件名不要有汉字

上面另两个代码应该都是可以的

总结

到此这篇关于python将音频进行变速的操作方法的文章就介绍到这了,更多相关python 音频变速内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python机器学习实战之K均值聚类
Dec 20 Python
python实现下载pop3邮件保存到本地
Jun 19 Python
python matplotlib画图库学习绘制常用的图
Mar 19 Python
python实现微信自动回复机器人功能
Jul 11 Python
django做form表单的数据验证过程详解
Jul 26 Python
python 6.7 编写printTable()函数表格打印(完整代码)
Mar 25 Python
python的Jenkins接口调用方式
May 12 Python
Softmax函数原理及Python实现过程解析
May 22 Python
pycharm中使用request和Pytest进行接口测试的方法
Jul 31 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
Mar 03 Python
理解深度学习之深度学习简介
Apr 14 Python
python四种出行路线规划的实现
Jun 23 Python
Python读取配置文件(config.ini)以及写入配置文件
Apr 08 #Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
Apr 08 #Python
在python中修改.properties文件的操作
Apr 08 #Python
python3 配置logging日志类的操作
Apr 08 #Python
python3 logging日志封装实例
Apr 08 #Python
Django实现whoosh搜索引擎使用jieba分词
Apr 08 #Python
Python 输出详细的异常信息(traceback)方式
Apr 08 #Python
You might like
微信公众平台之快递查询功能用法实例
2015/04/14 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
javascript 数组的方法集合
2008/06/05 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
如何以Angular的姿势打开Font-Awesome详解
2018/04/22 Javascript
详解JS函数stack size计算方法
2018/06/18 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
2018/09/30 Javascript
微信小程序实现自动定位功能
2018/10/31 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
vue项目中实现缓存的最佳方案详解
2019/07/11 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
Vue根据条件添加click事件的方式
2019/11/09 Javascript
JS实现滑动拼图验证功能完整示例
2020/03/29 Javascript
vue props 一次传多个值实例
2020/07/22 Javascript
JavaScript字符串转数字的简单实现方法
2020/11/27 Javascript
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
Python 序列的方法总结
2016/10/18 Python
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
Python sorted函数详解(高级篇)
2018/09/18 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
用python对excel查重
2020/12/07 Python
浅谈three.js中的needsUpdate的应用
2012/11/12 HTML / CSS
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
后勤主管工作职责
2013/12/07 职场文书
项目建议书模板
2014/05/12 职场文书
2015年小学教科研工作总结
2015/07/20 职场文书
python numpy中setdiff1d的用法说明
2021/04/22 Python
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android
分享python函数常见关键字
2022/04/26 Python