使用Python完成音频提取

编程入门 行业动态 更新时间:2024-10-08 13:29:42

使用Python完成<a href=https://www.elefans.com/category/jswz/34/1768490.html style=音频提取"/>

使用Python完成音频提取

目录

  • 前言
  • 一、环境准备以及编写其核心代码
    • 1.安装第三方库moviepy
    • 2.核心代码
  • 二、代码改进
    • 1.引入tkinter
    • 2.实现效果
  • 总结


前言

在日常生活中,有好听的翻唱视频或音乐视频可以将其音频分离保存到网易云或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 filePathif __name__ == '__main__':divest()

2.实现效果

  1. 执行脚本文件
  2. 选择视频文件
  3. 完成分离
  4. 生成的音频文件在脚本的路径下,路径完全可以自己修改,比如将生成的音频文件生成在与视频文件相同的目录下。

总结

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

更多推荐

使用Python完成音频提取

本文发布于:2024-02-13 23:53:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1760886.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:音频   Python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!