如何使用sox对wav文件进行重新采样和连接?

2024-10-02 00:29:08 发布

您现在位置:Python中文网/ 问答频道 /正文

代码正在运行,但它提供多行输出,而我需要在一个水平行中

当前输出格式-

sox home/randy/mechanical/wav/ttsmf U 007/ttsmf U 007 U 103 .wav-r 12000-t原始/家庭/兰迪/机械/原始/ttsmf U 007/ttsmf U 007 U 103 .生的

sox home/randy/mechanical/wav/ttsmf U 007/ttsmf U 007 U 104号 .wav-r 12000-t原始/家庭/兰迪/机械/原始/ttsmf U 007/ttsmf U 007 U 104 .生的

。。。。。在

sox home/兰迪/机械/wav/ttsmf U 007/ttomf U 007 U 189 .wav-r 12000-t原料/家用/兰迪/机械/未加工/ttsmf U 007/ttomf U 007 U 189 .生的

所需的输出格式-

sox home/randy/mechanical/wav/ttsmf_007/ttsmf_007_103.wav……….ttsmf_007_103.raw

sox home/randy/mechanical/wav/ttsmf_007/ttsmf_007_104.wav……….ttsmf_007_104.raw

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。在

sox home/兰迪/机械/wav/ttomf_007/ttomf_007_189.wav……….ttomf_007_189.raw

-------------------------代码------------------------------------------------------------

#!/usr/bin/env python

fo= open("ml.ctl","r")
for line in fo.readlines():
    a1 = line[0:]
    y = "sox"+ " " + "/home/randy/mechanical/wav/"+ str(a1)+".wav"+ " " + "-r"+ " " + "12000"+ " " + "-t" + " " + "raw" +"/home/randy/mechanical/raw + str(a1) + ".raw"
    print(y)
fo.close()
fo= open("newmlt.ctl","w")
fo.close()

Tags: 代码homerawa1格式家庭openwav
1条回答
网友
1楼 · 发布于 2024-10-02 00:29:08

使用regex删除回车:

#!/usr/bin/env python

import re

fo= open("ml.ctl","r")
for line in fo.readlines():
    a1 = line[0:]
    y = "sox"+ " " + "/home/randy/mechanical/wav/"+ str(a1)+".wav"+ " " + "-r"+ " " + "12000"+ " " + "-t" + " " + "raw" +"/home/randy/mechanical/raw + str(a1) + ".raw"
    y = re.sub("\n", '', y)
    print(y)
fo.close()
fo= open("newmlt.ctl","w")
fo.close()

不管怎样,我认为问题出在原始文件中毫升.ctl或者阅读的方式

相关问题 更多 >

    热门问题