A-yum1 commited on
Commit
1804233
·
1 Parent(s): 7b3635e

Update app.py

Browse files
Files changed (3) hide show
  1. __pycache__/process.cpython-310.pyc +0 -0
  2. app.py +3 -2
  3. process.py +2 -2
__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
@@ -91,6 +91,7 @@ def analyze():
91
  # 音声アップロード&解析エンドポイント
92
  @app.route('/upload_audio', methods=['POST'])
93
  def upload_audio():
 
94
  try:
95
  data = request.get_json()
96
  # name か users のいずれかが必須。どちらも無い場合はエラー
@@ -119,13 +120,13 @@ def upload_audio():
119
  # 複数人の場合は参照パスのリストを、1人の場合は単一のパスを渡す
120
  if len(users) > 1:
121
  print("複数人の場合の処理")
122
- matched_times = process.process_multi_audio(reference_paths, audio_path, threshold=0.05)
123
  # 各メンバーのrateを計算
124
  total_time = sum(matched_times)
125
  rates = [(time / total_time) * 100 if total_time > 0 else 0 for time in matched_times]
126
  return jsonify({"rates": rates}), 200
127
  else:
128
- matched_time, unmatched_time = process.process_audio(reference_paths[0], audio_path, threshold=0.05)
129
  total_time = matched_time + unmatched_time
130
  rate = (matched_time / total_time) * 100 if total_time > 0 else 0
131
  return jsonify({"rate": rate}), 200
 
91
  # 音声アップロード&解析エンドポイント
92
  @app.route('/upload_audio', methods=['POST'])
93
  def upload_audio():
94
+ global segments_dir
95
  try:
96
  data = request.get_json()
97
  # name か users のいずれかが必須。どちらも無い場合はエラー
 
120
  # 複数人の場合は参照パスのリストを、1人の場合は単一のパスを渡す
121
  if len(users) > 1:
122
  print("複数人の場合の処理")
123
+ matched_times, segments_dir = process.process_multi_audio(reference_paths, audio_path, threshold=0.05)
124
  # 各メンバーのrateを計算
125
  total_time = sum(matched_times)
126
  rates = [(time / total_time) * 100 if total_time > 0 else 0 for time in matched_times]
127
  return jsonify({"rates": rates}), 200
128
  else:
129
+ matched_time, unmatched_time, segments_dir = process.process_audio(reference_paths[0], audio_path, threshold=0.05)
130
  total_time = matched_time + unmatched_time
131
  rate = (matched_time / total_time) * 100 if total_time > 0 else 0
132
  return jsonify({"rate": rate}), 200
process.py CHANGED
@@ -89,7 +89,7 @@ class AudioProcessor():
89
  matched_time_ms += len(AudioSegment.from_file(segment_file))
90
 
91
  unmatched_time_ms = total_duration_ms - matched_time_ms
92
- return matched_time_ms, unmatched_time_ms
93
 
94
 
95
  def process_multi_audio(self, reference_pathes, input_path, output_folder='/tmp/data/matched_multi_segments', seg_duration=1.0, threshold=0.5):
@@ -141,7 +141,7 @@ class AudioProcessor():
141
  if match is not None:
142
  matched_time[match] += seg_duration
143
 
144
- return matched_time
145
 
146
 
147
  def save_audio_from_base64(self,base64_audio,output_dir,output_filename,temp_format='webm'):
 
89
  matched_time_ms += len(AudioSegment.from_file(segment_file))
90
 
91
  unmatched_time_ms = total_duration_ms - matched_time_ms
92
+ return matched_time_ms, unmatched_time_ms,output_folder
93
 
94
 
95
  def process_multi_audio(self, reference_pathes, input_path, output_folder='/tmp/data/matched_multi_segments', seg_duration=1.0, threshold=0.5):
 
141
  if match is not None:
142
  matched_time[match] += seg_duration
143
 
144
+ return matched_time, segmented_path
145
 
146
 
147
  def save_audio_from_base64(self,base64_audio,output_dir,output_filename,temp_format='webm'):