.m4a音频文件转.wav格式

news/2024/11/24 7:59:31/

将.m4a音频文件转.wav格式,话不多说,直接上代码!!!

from pydub import AudioSegment
import wave
import pylab as pl
import numpy as np
#加载语音文件
song = AudioSegment.from_file('F:\\python\\wstdata\\wait\\20220331_192944.m4a')#路径可以使用绝对路径也可以使用相对路径
song.export('changed.wav','wav')#**代表转换后的wave文件名
data = wave.open("changed.wav")
print(data.getparams())
# 打开WAV文档
f = wave.open(r"changed.wav", "rb")
# 读取格式信息
# (nchannels, sampwidth, framerate, nframes, comptype, compname)
params = f.getparams()
nchannels, sampwidth, framerate, nframes = params[:4]
# 读取波形数据
str_data = f.readframes(nframes)
f.close()
#将波形数据转换为数组
wave_data = np.frombuffer(str_data, dtype='int16')
wave_data.shape = -1, 2#得到两个声道的数据数组
wave_data = wave_data.T
#获取时间
time = np.arange(0, nframes) * (1.0 / framerate)
# 绘制波形
#中文显示需要
pl.rcParams['font.sans-serif'] = ['SimHei']
pl.rcParams['axes.unicode_minus'] = False
pl.plot(time, wave_data[0],'r')
pl.plot(time, wave_data[1],'g')
pl.xlabel("time (seconds)")
pl.title('changed.wav')
#加图例
pl.legend(['声道1','声道2'])
pl.show()

http://www.ppmy.cn/news/789753.html

相关文章

M4a音频文件解析

/*! *分析M4a文件标签 *第一个参数为文件指针,第二个参数为存储信息的结构体 */ // add in 2016.11 lxh BOOL AudioTagParser:: ParseM4aTag(HANDLE hFile, MP3_INFO *pMp3Info){ unsigned char headsize[4] {0}; unsigned char tagsize[4] {0}; unsigned …

我对M4A文件格式的理解

m4a 格式文件中的内容是有很多的box 组成的,box 格式如下: box length(4B 大端格式) box type(4B) box content(box length - 8) 例如如下是ftyp这个box 的数据内容,可…

将 Dash 改为 Bash

#先看看是用的哪个 shell ls -al /bin/sh #如果是 Dash 可用以下方法切回 Bash(选择 NO) 方法一 sudo dpkg-reconfigure dash 方法二 sudo ln -fs /bin/bash /bin/sh

将Linux shell改为bash

查看shell是否为bash,在终端运行如下命令 ls -l /bin/sh 如果显示为“/bin/sh -> bash”则为正常,否则请按以下方式修改: 方法一:在终端运行如下命令,然后选择 no。 sudo dpkg-reconfigure dash 方法二&#x…

【CANopen】周立功轻松入门CANopen笔记

前言 想学习些新东西了,原本想直接学学Ethercat,但是简单看了看对象字典啥的概念一头雾水的,决定先从CANopen开始,Ethercat看着头疼。Etehrcat和CANopen有挺多类似的地方。感谢ZLG的这个入门笔记,我似乎是看懂了些&am…

将查询字符串改为对象

接下来给大家介绍一个封装的函数,可以通过这个函数将一个url地址中的查询字符串提取出来,并且转换为一个对象。 运行结果如下:

pip改为pip3

pip改为pip3 记录问题: 最近换了电脑用pip安装时总是默认用Python2,导致安装后Python3里仍然不能使用安装的包 已解决: 修改./~bashrc文件,添加: alias pip"pip3.7" alias python"python3.7"执行…