lab2npy.py 文件源码

python
阅读 35 收藏 0 点赞 0 评论 0

项目:evaluation_tools 作者: JSALT-Rosetta 项目源码 文件源码
def lab2npy(input_path, out, frame_rate= 0.01):
   """
   frame_rate : sampling rate, typically 10 ms (or 0.01s)

   """

   name=os.path.basename(input_path)
   df=pd.read_table(input_path, sep=" ", header=None)
   df.columns=["onset", "offset", "phone", "score"]

   #onset and offset are in 100* nanosecond. Need to be put in second

   df["onset"]=df["onset"]*10**(-7)
   df["offset"]=df["offset"]*10**(-7)   
   phones=['a{}'.format(i) for i in range(1, 49)]   
   list_feats=[]
   R=np.empty(1)
   R[0]=frame_rate
   for i in range(len(df)): 
       on=df["onset"].iloc[i]
       off=df["offset"].iloc[i]
       nb_frame=int(np.floor_divide((off-on),R[0]))
       for ff in range(nb_frame): 
           one_hot=np.empty(len(phones))
           for j in range(len(phones)):
               if df["phone"][i]==phones[j]:
                   one_hot[j]=1
               else: 
                   one_hot[j]=0
           list_feats.append(one_hot)
   arr_feats = np.array(list_feats)

   directory=out + "/npy/"
   try:
       os.stat(directory)
   except:
       os.mkdir(directory)

   np.save(directory + "/"+ name.split(".")[0], arr=arr_feats,  allow_pickle=False)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号