Python实现音频提取的示例详解

 更新时间:2023年09月12日 10:29:17   作者:科爷出击  
在日常生活中,有好听的翻唱视频或音乐视频可以将其音频分离保存到网易云或QQ音乐中随时听,然而大部分的音频分离软件需要下载和安装,所以本文就来分享一种提取音频的简便方法吧

前言

在日常生活中,有好听的翻唱视频或音乐视频可以将其音频分离保存到网易云或QQ音乐中随时听,然而大部分的音频分离软件需要下载和安装,使用起来极其笨重,本文提供了一种提取音频的简便方法。

提示:本文出现的代码在Python环境下安装完相应的库后可以直接使用

一、环境准备以及编写其核心代码

1.安装第三方库moviepy

打开Cmd或者PowerShell输入一下命令安装库

pip install moviepy

2.核心代码

代码如下(示例):可直接使用

import moviepy.editor as mp
my_clip = mp.VideoFileClip("C:\\Users\\ME08I\\Desktop\\1.mp4")#ci此处为视频的绝对路径。
my_clip.audio.write_audiofile('./test.mp3')#此处为输出的音频名称和格式

注意:Python中'\'符号会被识别为转义字符,所以要使用'\\'

二、代码改进

提示:代码中引入的库,除了moviepy库,其它的都是python3自带的库,直接引入就好

1.引入tkinter

过后在启动脚本时可以直接使用窗口来选择文件,而不需要修改代码中的路径,同时直接使选择的视频文件名为抽离的音频文件名。

import os
import moviepy.editor as mp
import tkinter as tk
from tkinter import filedialog
#关闭黑窗口
root = tk.Tk()
root.withdraw()
def divest() -> None:
    """
    音频分离核心功能
    :return: None
    """
    try:
        filePath = select_single_file()
        my_clip = mp.VideoFileClip(filePath)
        # 切割文件名和后缀名
        fileName = os.path.basename(filePath).split(".")[0]
        if os.path.exists(f'{fileName}.mp3'):
            print("文件已存在于当前目录,请重新选择!")
            divest()
        else:
            my_clip.audio.write_audiofile(f'{fileName}.mp3')
    except Exception as e:
        print(e)
def select_single_file() -> str:
    """
    选择一个文件
    :return: 所选文件的绝对路径
    """
    filePath = filedialog.askopenfilename()
    return filePath
if __name__ == '__main__':
    divest()

2.实现效果

执行脚本文件

选择视频文件

完成分离

生成的音频文件在脚本的路径下,路径完全可以自己修改,比如将生成的音频文件生成在与视频文件相同的目录下。

总结

现如今大部分的视频剪辑软件都有一键音频分离的功能,但是,视频软件都极其的笨重,从打开到初始化都可能需要几十秒,而使用Python的moviepy库仅需3行代码便可完成分离,改进后的代码在加入了抓错和窗口选择后,完全可以当作一款小工具使用,望收藏

以上就是Python实现音频提取的示例详解的详细内容,更多关于Python音频提取的资料请关注脚本之家其它相关文章!

相关文章

  • 使用python遍历指定城市的一周气温

    使用python遍历指定城市的一周气温

    本文主要介绍了使用python遍历指定城市的一周气温的实现方法。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03
  • Python处理文本文件中控制字符的方法

    Python处理文本文件中控制字符的方法

    最近在使用Python的时候遇到过文档中出现控制字符报错的问题。想着总结一下,方便以后需要或这同样遇到问题的朋友,下面这篇文章主要介绍了Python处理文本文件中控制字符的解决方法,需要的朋友可以参考借鉴。
    2017-02-02
  • python框架flask入门之环境搭建及开启调试

    python框架flask入门之环境搭建及开启调试

    这篇文章主要介绍了python框架flask入门环境搭建及开启调试的步骤设置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • pyhthon绘制超炫酷的心形线星形线摆线

    pyhthon绘制超炫酷的心形线星形线摆线

    这篇文章主要为大家介绍了如何用pyhthon绘制各种超炫酷的摆线,本文主要实现了心形线和星形线也就是外摆线和内摆线两种,有需要的朋友可以借鉴参考下
    2021-10-10
  • pycharm打包py项目为.exe可执行文件的两种方式

    pycharm打包py项目为.exe可执行文件的两种方式

    本文主要介绍了pycharm打包py项目为.exe可执行文件的两种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Python的生成器函数详解

    Python的生成器函数详解

    这篇文章主要介绍了Python的生成器函数,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • python使用pyshark库捕获数据包的示例详解

    python使用pyshark库捕获数据包的示例详解

    PyShark是一个基于Python的网络数据包分析工具库,它允许用户捕获、解码和分析实时网络流量,特别是Wi-Fi和TCP/IP协议的数据,所以本文给大家介绍了python使用pyshark库捕获数据包的示例,需要的朋友可以参考下
    2024-08-08
  • 解决pip install中UnicodeDecodeError问题的处理

    解决pip install中UnicodeDecodeError问题的处理

    这篇文章主要介绍了解决pip install中UnicodeDecodeError问题的处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • Python 报错ImportError: No module named ***的问题解决

    Python 报错ImportError: No module named ***的问题解决

    本文主要介绍了Python 报错ImportError: No module named ***,下面就来介绍一下该问题的解决,具有一定的参考价值,感兴趣的可以了解一下
    2025-05-05
  • python twilio模块实现发送手机短信功能

    python twilio模块实现发送手机短信功能

    这篇文章主要介绍了python twilio模块实现发送手机短信的功能,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08

最新评论