A-yum1 commited on
Commit
64a73ca
·
1 Parent(s): d8bbfec

Update app.py

Browse files
Files changed (3) hide show
  1. __pycache__/process.cpython-310.pyc +0 -0
  2. app.py +1 -1
  3. process.py +10 -3
__pycache__/process.cpython-310.pyc CHANGED
Binary files a/__pycache__/process.cpython-310.pyc and b/__pycache__/process.cpython-310.pyc differ
 
app.py CHANGED
@@ -335,7 +335,7 @@ def upload_audio():
335
  user_rates = {users[i]: rates[i] for i in range(len(users))}
336
  return jsonify({"rates": rates, "user_rates": user_rates}), 200
337
  else:
338
- matched_time, unmatched_time, merged_segments = process.process_audio(reference_paths[0], audio_path, threshold=0.05)
339
  total_audio = transcripter.save_marged_segments(merged_segments)
340
  print("単一ユーザーの処理")
341
  total_time = matched_time + unmatched_time
 
335
  user_rates = {users[i]: rates[i] for i in range(len(users))}
336
  return jsonify({"rates": rates, "user_rates": user_rates}), 200
337
  else:
338
+ matched_time, unmatched_time, merged_segments = process.process_audio(reference_paths[0], audio_path, users[0], threshold=0.05)
339
  total_audio = transcripter.save_marged_segments(merged_segments)
340
  print("単一ユーザーの処理")
341
  total_time = matched_time + unmatched_time
process.py CHANGED
@@ -245,7 +245,7 @@ class AudioProcessor():
245
  print(f"類似度計算でエラーが発生しました: {e}")
246
  return None
247
 
248
- def process_audio(self, reference_path, input_path, output_folder='/tmp/data/matched_segments', seg_duration=1.0, threshold=0.5):
249
  """
250
  入力音声からリファレンス音声に類似したセグメントを抽出する
251
 
@@ -259,6 +259,7 @@ class AudioProcessor():
259
  output_folder (str): 類似セグメントを保存するディレクトリ
260
  seg_duration (float): セグメントの長さ(秒)
261
  threshold (float): 類似度の閾値
 
262
 
263
  Returns:
264
  tuple: (マッチした時間(ミリ秒), マッチしなかった時間(ミリ秒), 分類済みのセグメント)
@@ -311,7 +312,10 @@ class AudioProcessor():
311
  # 話者が変わった場合、保存
312
  if wasSpeaking != isSpeaking:
313
  if current_segment:
314
- merged_segments.append((wasSpeaking, current_segment))
 
 
 
315
  wasSpeaking = isSpeaking
316
  current_segment = [segment_file]
317
  # 変わらなかった場合、結合
@@ -322,7 +326,10 @@ class AudioProcessor():
322
  print(f"セグメント {file} の類似度計算でエラーが発生しました: {e}")
323
  # 余りを保存
324
  if current_segment:
325
- merged_segments.append((wasSpeaking, current_segment))
 
 
 
326
 
327
  unmatched_time_ms = total_duration_ms - matched_time_ms
328
  return matched_time_ms, unmatched_time_ms, merged_segments
 
245
  print(f"類似度計算でエラーが発生しました: {e}")
246
  return None
247
 
248
+ def process_audio(self, reference_path, input_path, user,output_folder='/tmp/data/matched_segments', seg_duration=1.0, threshold=0.5):
249
  """
250
  入力音声からリファレンス音声に類似したセグメントを抽出する
251
 
 
259
  output_folder (str): 類似セグメントを保存するディレクトリ
260
  seg_duration (float): セグメントの長さ(秒)
261
  threshold (float): 類似度の閾値
262
+ user(str): ユーザー名
263
 
264
  Returns:
265
  tuple: (マッチした時間(ミリ秒), マッチしなかった時間(ミリ秒), 分類済みのセグメント)
 
312
  # 話者が変わった場合、保存
313
  if wasSpeaking != isSpeaking:
314
  if current_segment:
315
+ if wasSpeaking:
316
+ merged_segments.append((user, current_segment))
317
+ else:
318
+ merged_segments.append(("other",current_segment))
319
  wasSpeaking = isSpeaking
320
  current_segment = [segment_file]
321
  # 変わらなかった場合、結合
 
326
  print(f"セグメント {file} の類似度計算でエラーが発生しました: {e}")
327
  # 余りを保存
328
  if current_segment:
329
+ if wasSpeaking:
330
+ merged_segments.append((user, current_segment))
331
+ else:
332
+ merged_segments.append(("other",current_segment))
333
 
334
  unmatched_time_ms = total_duration_ms - matched_time_ms
335
  return matched_time_ms, unmatched_time_ms, merged_segments