Linux实现m4a格式转换为wav格式

  1. 需要在linux上安装ffmpeg
    参考博客 Linux上安装ffmpeg
  2. 修改环境变量【这一点很重要,自己因为没有添加环境变量,捣鼓了很长时间】
    将ffmpeg的绝对路径添加到 PATH 环境变量中,以让系统能找到ffmpeg的安装路径。
python 复制代码
# /home//project/ffmpeg-6.1-amd64-static 替换成ffmpeg和ffprobe所在的文件夹
export PATH="/home//project/ffmpeg-6.1-amd64-static:${PATH}"
  1. python代码将m4a类型的音频文件转换为wav类型
python 复制代码
# "AudioSegment库能够将"m4a"【苹果音乐的格式】类型的音频文件转换为wav类型"
from pydub import AudioSegment
import librosa
w4a_audio = AudioSegment.from_file(path, format="m4a")
w4a_audio.export("audio_countdown.wav", format="wav")
  1. librosa库对wav类型的文件进行处理、可视化
python 复制代码
y, sr = librosa.load("audio_countdown.wav")
import matplotlib.pyplot as plt
print(f'y: {y[:10]}')
print(f'shape y: {y.shape}')
print(f'sr: {sr}')
import pandas as pd
pd.Series(y).plot(figsize=(10, 5),
                  lw=1,
                  title='Raw Audio Example')
plt.show()
python 复制代码
import numpy as np
import matplotlib.pyplot as plt
D = librosa.stft(y)
S_db = librosa.amplitude_to_db(np.abs(D), ref=np.max)
S_db.shape
fig, ax = plt.subplots(figsize=(10, 5))
img = librosa.display.specshow(S_db,
                              x_axis='time',
                              y_axis='log',
                              ax=ax)
ax.set_title('Spectogram Example', fontsize=20)
fig.colorbar(img, ax=ax, format=f'%0.2f')
plt.show()
相关推荐
IT成长日记1 小时前
05【Linux经典命令】Linux 用户管理全面指南:从基础到高级操作
linux·运维·服务器·用户管理·命令
Sapphire~7 小时前
Linux-07 ubuntu 的 chrome 启动不了
linux·chrome·ubuntu
伤不起bb7 小时前
NoSQL 之 Redis 配置与优化
linux·运维·数据库·redis·nosql
广东数字化转型8 小时前
nginx怎么使用nginx-rtmp-module模块实现直播间功能
linux·运维·nginx
啵啵学习8 小时前
Linux 里 su 和 sudo 命令这两个有什么不一样?
linux·运维·服务器·单片机·ubuntu·centos·嵌入式
半桔8 小时前
【Linux手册】冯诺依曼体系结构
linux·缓存·职场和发展·系统架构
网硕互联的小客服9 小时前
如何利用Elastic Stack(ELK)进行安全日志分析
linux·服务器·网络·安全
冰橙子id10 小时前
linux——磁盘和文件系统管理
linux·运维·服务器
无聊的小坏坏10 小时前
环境变量深度解析:从配置到内核的全链路指南
linux·bash
才鲸嵌入式11 小时前
01 Ubuntu20.04下编译QEMU8.2.4,交叉编译32位ARM程序,运行ARM程序的方法
linux·c语言·单片机·嵌入式·arm·qemu·虚拟机