|
@@ -1,17 +1,12 @@
|
|
|
from difflib import SequenceMatcher
|
|
|
-'''
|
|
|
-1. two array, 1.Ground truth 2.from pytrancriber
|
|
|
-2. get 1st index from both, if Ground Truth one is too short, get 2 or 3 even more
|
|
|
-3.
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-compare by mp3 len????
|
|
|
-'''
|
|
|
+import os
|
|
|
+from gtts import gTTS
|
|
|
+from mutagen.mp3 import MP3
|
|
|
+max_len = 3
|
|
|
def similar(a, b):
|
|
|
return SequenceMatcher(None, a, b).ratio()
|
|
|
|
|
|
-def gen_mp3_from_text(gt,gen):
|
|
|
+def audio_compare_from_text(gt,gen):
|
|
|
tts=gTTS(text=gen, lang='zh')
|
|
|
tts.save("gen_tmp.mp3")
|
|
|
tts=gTTS(text=gt, lang='zh')
|
|
@@ -21,32 +16,46 @@ def gen_mp3_from_text(gt,gen):
|
|
|
gen_len = audio.info.length
|
|
|
audio = MP3("gt_tmp.mp3")
|
|
|
gt_len = audio.info.length
|
|
|
- return gt_len, gen_len
|
|
|
-
|
|
|
-
|
|
|
-def adjustSub(gt_array, generated_array):
|
|
|
- for gen_idx in
|
|
|
|
|
|
+ os.remove('gen_tmp.mp3')
|
|
|
+ os.remove('gt_tmp.mp3')
|
|
|
+ return gt_len, gen_len
|
|
|
|
|
|
+#break in nested loop only break 1 layer
|
|
|
+def adjustSub_by_gt_array(gt_array, generated_array):
|
|
|
+ for gen_idx in range(len(generated_array)):
|
|
|
+ #print('------------------------------------------------------------------------')
|
|
|
+ for gt_idx in range(len(gt_array)-max_len):
|
|
|
+ for l in range(max_len):
|
|
|
+ gt_text = gt_array[gt_idx]
|
|
|
+ gen_text = generated_array[gen_idx]
|
|
|
+ for idx_num in range(l):
|
|
|
+ gt_text += gt_array[gt_idx+idx_num+1]
|
|
|
+ gt_len, gen_len = audio_compare_from_text(gt_text,gen_text)
|
|
|
+ #print(gt_text+'|'+str(gt_len)+'|'+gen_text+'|'+str(gen_len)+'|'+'SIMILARITY:'+str(similar(gt_text,gen_text)))
|
|
|
+
|
|
|
+ if abs(gen_len - gt_len) < 0.3 and similar(gt_text,gen_text) > 0.5:
|
|
|
+ generated_array[gen_idx] = gt_text
|
|
|
+ break
|
|
|
+ return generated_array
|
|
|
+'''
|
|
|
+gts = 'Hello Kitty 於2018年,加入YouTube開始活動,在自我介紹的影片裡,Kitty表示一直憧憬著,想在YouTube跟大家見面,一開頻道就吸引許多粉絲訂閱,目前有28萬訂閱者,接下來這位花生君,於2017年加入YouTube開始活動,他的外型太過特別,花生頭、紅色圍巾與紙尿布,被觀眾評價為,第一眼看上很噁心,但看著看著還挺可愛,目前有12萬訂閱者'.split(',')
|
|
|
+gens = ['Hello Kitty瑜2018年加入YouTube開始活動','再次我介紹的影片裡','Kitty表示一直憧憬著長在YouTube跟大家見面','一開頻道就吸引許多粉絲訂閱付錢有28萬訂閱者','接下來這位花生君瑜2017年加入YouTube開始湖','活動','他的外型太過特別花生桃紅色圍巾魚紙尿布','被觀眾評價為第一眼看上很噁心但看著看著還挺','秦可愛','目前有12萬訂閱者']
|
|
|
+adjs = adjustSub_by_gt_array(gts,gens)
|
|
|
+for s in adjs:
|
|
|
+ print(s)
|
|
|
+'''
|
|
|
|
|
|
+import difflib
|
|
|
+gts = 'Hello Kitty 於2018年,加入YouTube開始活動,在自我介紹的影片裡,Kitty表示一直憧憬著,想在YouTube跟大家見面,一開頻道就吸引許多粉絲訂閱,目前有28萬訂閱者,接下來這位花生君,於2017年加入YouTube開始活動,他的外型太過特別,花生頭、紅色圍巾與紙尿布,被觀眾評價為,第一眼看上很噁心,但看著看著還挺可愛,目前有12萬訂閱者'.split(',')
|
|
|
+gens = ['Hello Kitty瑜2018年加入YouTube開始活動','再次我介紹的影片裡','Kitty表示一直憧憬著長在YouTube跟大家見面','一開頻道就吸引許多粉絲訂閱付錢有28萬訂閱者','接下來這位花生君瑜2017年加入YouTube開始湖','活動','他的外型太過特別花生桃紅色圍巾魚紙尿布','被觀眾評價為第一眼看上很噁心但看著看著還挺','秦可愛','目前有12萬訂閱者']
|
|
|
|
|
|
- return adjusted_array
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-from gtts import gTTS
|
|
|
-tts=gTTS(text='玉米燕麥豆是一位居住在英國倫敦的日益女性', lang='zh')
|
|
|
-tts.save("1.mp3")
|
|
|
-
|
|
|
-tts=gTTS(text='yumi yamato是一位居住在英國倫敦的日益女性', lang='zh')
|
|
|
-tts.save("2.mp3")
|
|
|
+two = [' '.join([i,j]) for i,j in zip(gts, gts[1:])]
|
|
|
+three = [' '.join([i,j,k]) for i,j,k in zip(gts, gts[1:], gts[2:])]
|
|
|
|
|
|
-from mutagen.mp3 import MP3
|
|
|
-audio = MP3("1.mp3")
|
|
|
-print(audio.info.length)
|
|
|
-audio = MP3("2.mp3")
|
|
|
-print(audio.info.length)
|
|
|
+alls = gts+two+three
|
|
|
+for g in gens:
|
|
|
+ if len(difflib.get_close_matches(g, alls, cutoff=0.1))!=0:
|
|
|
+ print(g+' = '+difflib.get_close_matches(g, alls, cutoff=0.1)[0])
|
|
|
+ else:
|
|
|
+ print(g)
|