目录

■前言

■提取音频具体实现

实现

■闪退问题解决

■扩展:音频去除杂音

代码以及原理说明

最新有效代码


====

■前言

一些好的视频,我们只需要其中的声音就够了。

(抖音上的一首,五十音图的儿歌)

■提取音频具体实现

实现

===

■Step1

安装Python

Python 语言 Hello world_sun0322的博客-CSDN博客

■Step2:下载工具包

pip install moviepy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

---以下命令不需要执行(放在这里,只是作为比较,Python如何安装【扩展程序库】 )

pip install plotSpiral --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install matplotlib --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple

---以上命令不需要执行

■Step3:代码实现

C:\test\python\mp3.py

import moviepy.editor as mpy

audio_background = mpy.AudioFileClip(r'C:\test\python\aiu.mp4').subclip(1, 60)
audio_background.write_audiofile(r'C:\test\python\aiu.mp3')

// 上面,第三行中的,subclip(1, 60)  代表 提取 1 到 60 秒

■提取前后文件大小比较

-a----          2021/5/9     19:07         425317 aiu.mp3
-a----          2021/5/9     19:04        1627550 aiu.mp4

---

■扩展

使用FTP在手机和电脑直接传送文件

FTP相关命令(手机FTP服务启动应用)_sun0322的博客-CSDN博客

---

■闪退问题解决

写上phthon.exe的全路径

"C:\Program Files\Python38\python.exe" mp3.py

===2024/10/06 再次使用 ,此工具, 截取音频代码,从149秒到208秒

import moviepy.editor as mpy

audio_background = mpy.AudioFileClip(r'C:\test\python\tool\小诗仙.mp4').subclip(149, 208)
audio_background.write_audiofile(r'C:\test\python\小诗仙.mp3')

==

@echo off

rem pause
echo waiting...

"C:\Program Files\Python38\python.exe" ./mp3.py

pause

===

====

■扩展:音频去除杂音

代码以及原理说明

python 音频去除噪音_mob649e8163af7d的技术博客_51CTO博客

==不安装报错

No module named ‘librosa‘

==

先安装 (晚上安装时速度很慢,简易早上6点半左右安装,速度超快)

pip install librosa

--

===

出现问题解决

==

===

安装包时出现错误WARNING: You are using pip version 21.1.3; however, version 22.3 is available._warning: you are using pip version 21.1.3; however-CSDN博客

===

已经解决

(在另外一个Python 相关 目录下面进行安装)

c:\Users\UserName\AppData\Roaming\Python\Python38>pip install librosa

===只是一个相关的目录

==

再运行

import librosa
import numpy as np

audio_file = './小诗仙.mp3'
audio_signal, sample_rate = librosa.load(audio_file )

spectrum = np.fft.fft(audio_signal)

threshold = 0.1
spectrum_filtered = spectrum * (np.abs(spectrum) >= threshold)

audio_signal_filtered = np.fft.ifft(spectrum_filtered)

output_file = './new_output.mp3'
librosa.output.write_wav(output_file, audio_signal_filtered.real, sample_rate)

===

==

====

==

===

运行报错

Traceback (most recent call last):
  File "./test.py", line 15, in <module>
    librosa.output.write_wav(output_file , audio_signal.real, sample_rate)
  File "C:\Users\xxxxxxxxxx\AppData\Roaming\Python\Python38\site-packages\lazy_loader\__init__.py", line 94, in __getattr__
    raise AttributeError(f"No {package_name} attribute {name}")
AttributeError: No librosa attribute output

===

AttributeError: module librosa has no attribute output No module named numba.decorators错误解决_attributeerror: module 'librosa' has no attribute -CSDN博客

====

AttributeError: module ‘librosa‘ has no attribute ‘output‘(2种方法)_module 'librosa' has no attribute 'output-CSDN博客

===

最新有效代码

===

import librosa
import soundfile as sf
import numpy as np

audio_file = './小诗仙.mp3'
audio_signal, sample_rate = librosa.load(audio_file )

spectrum = np.fft.fft(audio_signal)

threshold = 0.1
spectrum_filtered = spectrum * (np.abs(spectrum) >= threshold)

audio_signal_filtered = np.fft.ifft(spectrum_filtered)

output_file = './new_output.mp3'
sf.write(output_file, audio_signal_filtered.real, sample_rate)

===

去掉杂音后,大小变小

==

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐