import os
5 import subprocess
6
7
8 def convertMidi2Mp3():
9 #将神经网络生成的MIDI文件转成MP3文件
10 input_file = "output.mid"
11 output_file = "output.mp3"
12 #python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,
就会触发异常。
13 assert os.path.exists(input_file)#存在就进行下一步操作
14
15 print('converting %s to MP#'% input_file)
16
17 #用 timidity 生成 MP3 文件
18 command = 'timidity {} -0w -o -|ffmpeg -i - -acodec libmp3lame -ab 64k {}'.format(input_file,output_file)
19 #运行command。该函数将一直等待到子进程运行结束,并返回进程的returncode。如果子进程不需要进行交互,就可以使用该函数来创建。
20 subprocess.call(command,shell = True)
21
22 print('Converted.Generated file is %s' % output_file)
23
24 if __name__ == "__main__":
25 convertMidi2Mp3()
16.2k 10
1.3k 9
1.3k 8
1.5k 7
1.0k 7