欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python將音頻進行變速的操作方法

 更新時間:2020年04月08日 10:18:50   作者:喝粥也會胖的唐僧  
這篇文章主要介紹了python將音頻進行變速的操作方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

有的時候需要手里的音頻文件變速聽,或可能變慢或可能變快

這里使用的python進行操作,我的目標是將文件轉成2倍速

首先需要安裝插件

pip install ffmpeg

然后再執(zhí)行:

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

如果執(zhí)行不出錯,會返回一個true

運行結果

我可以看到這里的音頻速度提升以后音頻小了

這里我是將目標路徑下的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開發(fā)的

不過好像我發(fā)現(xiàn),如果音頻文件太大會失敗,返回false

我試過原生的fmpeg是可以進行的,只是會轉換很慢

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

現(xiàn)在不知道是不是因為限制了大?。ìF(xiàn)在猜測可能是顯示了大或者限制了響應時間大小,在源碼里沒有發(fā)現(xiàn)什么詭異的地方),音頻不算大的是沒問題的,我試的單個文件是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()

后來發(fā)現(xiàn),最好音頻的文件名不要有漢字

上面另兩個代碼應該都是可以的

總結

到此這篇關于python將音頻進行變速的操作方法的文章就介紹到這了,更多相關python 音頻變速內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python中字典(dict)合并的四種方法總結

    Python中字典(dict)合并的四種方法總結

    在Python中將字典(dict)進行合并操作,是一個比較常見的問題。下面這篇文章主要給大家總結介紹了關于Python中字典(dict)合并的四種方法,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。
    2017-08-08
  • Python使用遺傳算法解決最大流問題

    Python使用遺傳算法解決最大流問題

    這篇文章主要為大家詳細介紹了Python使用遺傳算法解決最大流問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • python爬蟲之利用Selenium+Requests爬取拉勾網(wǎng)

    python爬蟲之利用Selenium+Requests爬取拉勾網(wǎng)

    這篇文章主要介紹了python爬蟲之利用Selenium+Requests爬取拉勾網(wǎng),文中有非常詳細的代碼示例,對正在學習python爬蟲的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • Pytho的HTTP交互httpx包模塊使用詳解

    Pytho的HTTP交互httpx包模塊使用詳解

    Python 的 httpx 包是一個用于 HTTP 交互的一個優(yōu)秀且靈活的模塊。本文進行詳細的講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • Selenium常見八大定位法總結

    Selenium常見八大定位法總結

    自動化最基礎的就屬于定位元素了,元素不會定位,基本上已經(jīng)團滅了,就不用再去考慮什么自動化了,下面這篇文章主要給大家介紹了關于Selenium常見八大定位法的相關資料,需要的朋友可以參考下
    2023-02-02
  • Python如何將將模塊分割成多個文件

    Python如何將將模塊分割成多個文件

    這篇文章主要介紹了Python如何將將模塊分割成多個文件,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-08-08
  • python中l(wèi)xml.etree 和 ElementTree 的區(qū)別解析

    python中l(wèi)xml.etree 和 ElementTree 的區(qū)別解析

    lxml.etree 提供了更多的功能,例如 XPath、XSLT、Relax NG、 和 XML 模式支持,etree 對 Python unicode 字符串的想法與 ElementTree 不同,本文給大家介紹python中l(wèi)xml.etree 和 ElementTree 的區(qū)別,感興趣的朋友一起看看吧
    2024-01-01
  • 解決TensorFlow模型恢復報錯的問題

    解決TensorFlow模型恢復報錯的問題

    今天小編就為大家分享一篇解決TensorFlow模型恢復報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python面向對象值元類的聲明周期詳解

    python面向對象值元類的聲明周期詳解

    這篇文章主要介紹python的元類生命周期,我們可以和之前探討類的生命中周期一樣,我們寫一個案例,使用print來輸出一些信息,來判斷如果基于元類而言,那么生命周期是怎么樣的,文中有詳細的代碼示例,需要的朋友可以參考下
    2023-05-05
  • Python實現(xiàn)給文件添加內容及得到文件信息的方法

    Python實現(xiàn)給文件添加內容及得到文件信息的方法

    這篇文章主要介紹了Python實現(xiàn)給文件添加內容及得到文件信息的方法,可實現(xiàn)從文件開頭添加內容的功能,需要的朋友可以參考下
    2015-05-05

最新評論