Nixon
2024-10-09 5dbe6898cac191d12c487772d7336ab2b2a9c350
fix list index out of range error (#2122)

Co-authored-by: nixonjin <nixonjin@tencent.com>
2个文件已修改
5 ■■■■ 已修改文件
funasr/utils/postprocess_utils.py 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
funasr/utils/timestamp_tools.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
funasr/utils/postprocess_utils.py
@@ -126,8 +126,10 @@
                end = time_stamp[ts_nums[num]][1]
                ts_lists.append([begin, end])
        else:
            # length of time_stamp may not equal to length of words because of the (somehow improper) threshold set in timestamp_tools.py line 46, e.g., length of time_stamp can be zero but length of words is not.
            # Moreover, move "word_lists.append(words[num])" into if clause, to keep length of word_lists and length of ts_lists equal.
            if time_stamp is not None and ts_nums[num]<len(time_stamp) and words[num] != " ":
            word_lists.append(words[num])
            if time_stamp is not None and words[num] != " ":
                begin = time_stamp[ts_nums[num]][0]
                end = time_stamp[ts_nums[num]][1]
                ts_lists.append([begin, end])
funasr/utils/timestamp_tools.py
@@ -84,6 +84,7 @@
        timestamp_list.append([_end * TIME_RATE, num_frames * TIME_RATE])
        new_char_list.append("<sil>")
    else:
        if len(timestamp_list)>0:
        timestamp_list[-1][1] = num_frames * TIME_RATE
    if vad_offset:  # add offset time in model with vad
        for i in range(len(timestamp_list)):