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 相关文章推荐
Windows下Python的Django框架环境部署及应用编写入门
Mar 10 Python
详解Python中的文件操作
Aug 28 Python
发布你的Python模块详解
Sep 15 Python
Python yield 使用方法浅析
May 20 Python
python里使用正则的findall函数的实例详解
Oct 19 Python
python3实现公众号每日定时发送日报和图片
Feb 24 Python
Django 根据数据模型models创建数据表的实例
May 27 Python
详解python中的hashlib模块的使用
Apr 22 Python
python3下载抖音视频的完整代码
Jun 05 Python
pytorch实现MNIST手写体识别
Feb 14 Python
Python Pillow(PIL)库的用法详解
Sep 19 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
Oct 15 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
Banner程序
2006/10/09 PHP
thinkphp连贯操作实例分析
2014/11/22 PHP
Laravel 在views中加载公共页面的实现代码
2019/10/22 PHP
javascript 关闭IE6、IE7
2009/06/01 Javascript
jQuery 使用手册(六)
2009/09/23 Javascript
工作需要写的一个js拖拽组件
2011/07/28 Javascript
js判断页面中是否有指定控件的简单实例
2014/03/04 Javascript
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
JS设置cookie、读取cookie
2016/02/24 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
2016/04/06 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
2016/08/03 Javascript
Ubuntu系统下Angularjs开发环境安装
2016/09/01 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
借助node实战JSONP跨域实例
2017/03/30 Javascript
jQuery ajax请求struts action实现异步刷新
2017/04/19 jQuery
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
vue组件编写之todolist组件实例详解
2018/01/22 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
解决layui的table插件无法多层级获取json数据的问题
2019/09/19 Javascript
跟老齐学Python之dict()的操作方法
2014/09/24 Python
python获得一个月有多少天的方法
2015/06/04 Python
Python 正则表达式入门(初级篇)
2016/12/07 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
2018/10/30 Python
在Python中pandas.DataFrame重置索引名称的实例
2018/11/06 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
2019/06/04 Python
Django ModelForm操作及验证方式
2020/03/30 Python
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
《可爱的动物》教学反思
2014/02/22 职场文书
缓刑人员思想汇报500字
2014/09/12 职场文书
名人传读书笔记
2015/06/26 职场文书