繁体   English   中英

将 .wav 文件转换为 .mp3

[英]Converting a .wav file to .mp3

我有一个 .wav 文件,我想将其转换为 .mp3 文件。 我编写了一个 python 程序来执行此操作,它编译、运行并创建一个 .mp3 文件,但是当我尝试播放该文件时,我收到一条错误消息。 由于我创建它的方式,我认为该文件不可读,但我不知道为什么。

这是我的程序:

with open('pcm-test-1.wav', 'rb') as f:
    data = f.read()

a = [255,254,0,192]
b = []

for i in range (223,len(data),2):
    a.append(ord(data[i]))

a.append(ord('T'))
a.append(ord('A'))
a.append(ord('G'))
for i in range(0,124):
    a.append(0)

for i in a:
    b.append(chr(a[i]))

string = ''.join(b)

new = open('newFile.mp3','wb')
new.write(string)

我在 python 中做到了这一点,但任何语言的实现都可以。 谢谢!

你最好的选择是用 LAME 来做到这一点。 安装完成后,请执行以下操作:

LAMEOPTS="-b 192"
for DIRECTORY in /music/*/*; do
if [ -d "$DIRECTORY" ]; then
echo "$DIRECTORY";
for FILE in "$DIRECTORY"/*.wav ; do
OUTNAME=`basename "$FILE" .wav`.mp3;
echo "$FILE" "$DIRECTORY"/"$OUTNAME";
lame $LAMEOPTS "$FILE" "$DIRECTORY"/"$OUTNAME";
rm "$FILE";
done
fi
done

如果你对外部库开放, pydub可以用最少的代码很容易地做到这一点。

from pydub import AudioSegment
from pydub.playback import play

#read wav file to an audio-segment
song = AudioSegment.from_wav("your_wave_file.wav")

#export audio segment to mp3
song.export("your_wave_file.mp3", format="mp3")

#play audio-segment
play(song)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM