Merge pull request #274 from dingbig/fix-punc

fixed token_int  is zero bug and add more puncs to sentence
This commit is contained in:
Xian Shi 2023-03-21 17:52:18 +08:00 committed by GitHub
commit 92248eb07b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 15 deletions

View File

@ -292,6 +292,8 @@ class Speech2Text:
# remove blank symbol id, which is assumed to be 0
token_int = list(filter(lambda x: x != 0 and x != 2, token_int))
if len(token_int) == 0:
continue
# Change integer-ids to tokens
token = self.converter.ids2tokens(token_int)

View File

@ -1,3 +1,5 @@
from itertools import zip_longest
import torch
import copy
import codecs
@ -87,6 +89,7 @@ def time_stamp_sentence(punc_id_list, time_stamp_postprocessed, text_postprocess
return res
if len(text_postprocessed) == 0:
return res
if punc_id_list is None or len(punc_id_list) == 0:
res.append({
'text': text_postprocessed.split(),
@ -95,36 +98,45 @@ def time_stamp_sentence(punc_id_list, time_stamp_postprocessed, text_postprocess
})
return res
if len(punc_id_list) != len(time_stamp_postprocessed):
res.append({
'text': text_postprocessed.split(),
"start": time_stamp_postprocessed[0][0],
"end": time_stamp_postprocessed[-1][1]
})
return res
print(" warning length mistach!!!!!!")
sentence_text = ''
sentence_start = time_stamp_postprocessed[0][0]
sentence_end = time_stamp_postprocessed[0][1]
texts = text_postprocessed.split()
for i in range(len(punc_id_list)):
sentence_text += texts[i]
if punc_id_list[i] == 2:
punc_stamp_text_list = list(zip_longest(punc_id_list, time_stamp_postprocessed, texts, fillvalue=None))
for punc_stamp_text in punc_stamp_text_list:
punc_id, time_stamp, text = punc_stamp_text
sentence_text += text if text is not None else ''
punc_id = int(punc_id) if punc_id is not None else 1
sentence_end = time_stamp[1] if time_stamp is not None else sentence_end
if punc_id == 2:
sentence_text += ','
res.append({
'text': sentence_text,
"start": sentence_start,
"end": time_stamp_postprocessed[i][1]
"end": sentence_end
})
sentence_text = ''
sentence_start = time_stamp_postprocessed[i][1]
elif punc_id_list[i] == 3:
sentence_start = sentence_end
elif punc_id == 3:
sentence_text += '.'
res.append({
'text': sentence_text,
"start": sentence_start,
"end": time_stamp_postprocessed[i][1]
"end": sentence_end
})
sentence_text = ''
sentence_start = time_stamp_postprocessed[i][1]
sentence_start = sentence_end
elif punc_id == 4:
sentence_text += '?'
res.append({
'text': sentence_text,
"start": sentence_start,
"end": sentence_end
})
sentence_text = ''
sentence_start = sentence_end
return res