sunxy 1 éve
szülő
commit
1192c539da
3 módosított fájl, 6 hozzáadás és 6 törlés
  1. 2 3
      audio_process.py
  2. 3 2
      config.py
  3. 1 1
      whisper_asr.py

+ 2 - 3
audio_process.py

@@ -6,8 +6,8 @@ config_ = set_config()
 
 def get_wav(video_path):
     """提取音频"""
-    # 音频采样率设置为:8K
-    video = VideoFileClip(video_path, audio_fps=8000)
+    # 音频采样率设置为:2K
+    video = VideoFileClip(video_path, audio_fps=2000)
     # Extract the audio from the video
     audio = video.audio
     # Save the extracted audio to a file
@@ -21,4 +21,3 @@ def get_audio_duration(audio_file_path):
     audio_clip = AudioFileClip(audio_file_path)
     audio_length = audio_clip.duration
     return int(audio_length * 1000)
-

+ 3 - 2
config.py

@@ -64,6 +64,7 @@ class BaseConfig(object):
                 '美食', '综艺', '搞笑', '民俗文化', '安全', '休闲娱乐', '艺术', '情感']
     # GPT prompt
     format_json_array = '[{},{},{}]'
+    json_format = """[{"category": "<类别1>", "confidence": "<confidence1>"}, {"category": "<类别2>", "confidence": "<confidence2>"}, {"category": "<类别3>", "confidence": "<confidence3>"}]"""
     GPT_PROMPT = {
         'tags': {
             'prompt1': f"""
@@ -90,7 +91,7 @@ class BaseConfig(object):
 -----------------------------
 """,
             'prompt5': f"""请对如下文本进行分类。类别为其中的一个:【{' '.join(TAGS_NEW)}】。
-以json array格式返回,{format_json_array},key为category与confidence,分别代表类别与分类置信度。给出top 3的分类结果。
+以json array格式返回,{json_format},key为category与confidence,分别代表类别与分类置信度。给出top 3的分类结果。
 -----------------------------
     """,
             'prompt6': f"""
@@ -101,7 +102,7 @@ class BaseConfig(object):
 -----------------------------
 """,
             'prompt7': f"""请根据以下的视频信息对其进行分类。类别为其中的一个:【{' '.join(TAGS_NEW)}】。
-仅以json array格式返回,{format_json_array},key为category与confidence,分别代表类别与分类置信度。给出top 3的分类结果。
+仅以json array格式返回,{json_format},key为category与confidence,分别代表类别与分类置信度。给出top 3的分类结果。
 -----------------------------
 """,
         },

+ 1 - 1
whisper_asr.py

@@ -2,7 +2,7 @@ import whisper
 from zhconv import convert
 
 
-def get_whisper_asr(audio, model='medium'):
+def get_whisper_asr(audio, model='base'):
     try:
         model = whisper.load_model(model, device='cuda')
         result = model.transcribe(audio, language='Chinese')