Parcourir la source

cancel gtts compare, add difflib

ming il y a 3 ans
Parent
commit
9f4f18c3fd
5 fichiers modifiés avec 69 ajouts et 48 suppressions
  1. BIN
      .DS_Store
  2. 43 34
      subGenerator/ProcessSub.py
  3. 0 0
      subGenerator/gen_tmp.mp3
  4. BIN
      subGenerator/in.mp4
  5. 26 14
      subGenerator/out.txt

BIN
.DS_Store


+ 43 - 34
subGenerator/ProcessSub.py

@@ -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)

+ 0 - 0
subGenerator/gen_tmp.mp3


BIN
subGenerator/in.mp4


+ 26 - 14
subGenerator/out.txt

@@ -1,27 +1,39 @@
 1
-00:00:04,352 --> 00:00:10,240
-玉米燕麥豆是一位居住在英國倫敦的日益女性
+00:00:04,608 --> 00:00:10,240
+Hello Kitty瑜2018年加入YouTube開始活動
 
 2
-00:00:11,008 --> 00:00:17,152
-吃最大特色就是完全用3D動畫CG來合成曲
+00:00:11,008 --> 00:00:13,568
+再次我介紹的影片裡
 
 3
-00:00:17,408 --> 00:00:19,200
-取代現實中的自己
+00:00:14,080 --> 00:00:19,712
+Kitty表示一直憧憬著長在YouTube跟大家見面
 
 4
-00:00:19,968 --> 00:00:26,112
-在半海江42u youtuber這個時代到大眾目光到台北
+00:00:20,480 --> 00:00:26,624
+一開頻道就吸引許多粉絲訂閱付錢有28萬訂閱者
 
 5
-00:00:26,368 --> 00:00:28,160
-Youtuber熱炒
+00:00:27,904 --> 00:00:34,048
+接下來這位花生君瑜2017年加入YouTube開始湖
 
 6
-00:00:28,928 --> 00:00:35,072
-因為是使用CG動畫形式早在2011年開始活度
+00:00:34,304 --> 00:00:34,816
+活動
 
 7
-00:00:36,096 --> 00:00:41,728
-所以在一些報導中有著最古老的youtuber之稱
+00:00:35,584 --> 00:00:41,472
+他的外型太過特別花生桃紅色圍巾魚紙尿布
+
+8
+00:00:42,240 --> 00:00:48,384
+被觀眾評價為第一眼看上很噁心但看著看著還挺
+
+9
+00:00:48,640 --> 00:00:49,408
+秦可愛
+
+10
+00:00:49,920 --> 00:00:52,736
+目前有12萬訂閱者