Spaces:
Runtime error
Runtime error
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
|