Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -38,14 +38,11 @@ def upload_audio():
|
|
38 |
if not data or 'audio_data' not in data:
|
39 |
return jsonify({"error": "音声データがありません"}), 400
|
40 |
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
audio_path = os.path.join(audio_dir, "recorded_audio.wav")
|
47 |
-
with open(audio_path, 'wb') as f:
|
48 |
-
f.write(audio_binary)
|
49 |
|
50 |
# 参照音声ファイルのパスを指定(sample.wav を正しい場所に配置すること)
|
51 |
reference_audio = os.path.abspath('/tmp/data/base_audio/recorded_base_audio.wav')
|
@@ -69,33 +66,12 @@ def upload_base_audio():
|
|
69 |
if not data or 'audio_data' not in data or 'name' not in data:
|
70 |
return jsonify({"error": "音声データまたは名前がありません"}), 400
|
71 |
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
os.makedirs(audio_dir, exist_ok=True)
|
79 |
-
|
80 |
-
# 一時ファイルに保存(実際の形式は WebM などと仮定)
|
81 |
-
temp_audio_path = os.path.join(audio_dir, "temp_audio")
|
82 |
-
with open(temp_audio_path, 'wb') as f:
|
83 |
-
f.write(audio_binary)
|
84 |
-
|
85 |
-
# pydub を使って一時ファイルを WAV に変換
|
86 |
-
# ※ここでは WebM 形式と仮定していますが、実際の形式に合わせて format の指定を変更してください
|
87 |
-
try:
|
88 |
-
audio = AudioSegment.from_file(temp_audio_path, format="webm")
|
89 |
-
except Exception as e:
|
90 |
-
# 形式が不明な場合は自動判別させる(ただし変換できない場合もあり)
|
91 |
-
audio = AudioSegment.from_file(temp_audio_path)
|
92 |
-
wav_audio_path = os.path.join(audio_dir, f"{name}.wav")
|
93 |
-
audio.export(wav_audio_path, format="wav")
|
94 |
-
|
95 |
-
# 一時ファイルを削除
|
96 |
-
os.remove(temp_audio_path)
|
97 |
-
|
98 |
-
return jsonify({"state": "Registration Success!"}), 200
|
99 |
except Exception as e:
|
100 |
print("Error in /upload_base_audio:", str(e))
|
101 |
return jsonify({"error": "サーバーエラー", "details": str(e)}), 500
|
|
|
38 |
if not data or 'audio_data' not in data:
|
39 |
return jsonify({"error": "音声データがありません"}), 400
|
40 |
|
41 |
+
audio_path=process.save_audio_from_base64(
|
42 |
+
base64_audio=data['audio_data'], # 音声データ
|
43 |
+
output_dir= "/tmp/data", #保存先
|
44 |
+
output_filename="recorded_audio.wav" # 固定ファイル名(必要に応じて generate_filename() で一意のファイル名に変更可能)
|
45 |
+
)
|
|
|
|
|
|
|
46 |
|
47 |
# 参照音声ファイルのパスを指定(sample.wav を正しい場所に配置すること)
|
48 |
reference_audio = os.path.abspath('/tmp/data/base_audio/recorded_base_audio.wav')
|
|
|
66 |
if not data or 'audio_data' not in data or 'name' not in data:
|
67 |
return jsonify({"error": "音声データまたは名前がありません"}), 400
|
68 |
|
69 |
+
audio_path=process.save_audio_from_base64(
|
70 |
+
base64_audio=data['audio_data'], # 音声データ
|
71 |
+
output_dir= "/tmp/data", #保存先
|
72 |
+
output_filename="recorded_audio.wav" # 固定ファイル名(必要に応じて generate_filename() で一意のファイル名に変更可能)
|
73 |
+
)
|
74 |
+
return jsonify({"state": "Registration Success!", "path": audio_path}), 200
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
except Exception as e:
|
76 |
print("Error in /upload_base_audio:", str(e))
|
77 |
return jsonify({"error": "サーバーエラー", "details": str(e)}), 500
|