Spaces:
Running
Running
Update gradio_tabs/single.py
Browse files- gradio_tabs/single.py +19 -29
gradio_tabs/single.py
CHANGED
|
@@ -444,9 +444,7 @@ def process_single_synthesis_webui(
|
|
| 444 |
msg = f"予期せぬエラー: {e}"; log_messages.append(f"❌ [エラー] {msg}"); return False, log_messages, None
|
| 445 |
|
| 446 |
# ▼▼▼ 修正 ▼▼▼
|
| 447 |
-
#
|
| 448 |
-
if ENABLE_LOGGING:
|
| 449 |
-
log_messages.append(f"音声合成成功。")
|
| 450 |
# ▲▲▲ 修正 ▲▲▲
|
| 451 |
return True, log_messages, (sr, audio_data)
|
| 452 |
|
|
@@ -884,10 +882,6 @@ def create_synthesis_app(model_holder: TTSModelHolder) -> gr.Blocks:
|
|
| 884 |
if len(generated_variations) < batch_count:
|
| 885 |
all_logs.append(f"⚠️ [警告] {batch_count}個のユニークなテキストを生成できませんでした。({len(generated_variations)}個のみ生成)")
|
| 886 |
|
| 887 |
-
# ▼▼▼ 修正 ▼▼▼
|
| 888 |
-
successful_gacha2_texts = []
|
| 889 |
-
# ▲▲▲ 修正 ▲▲▲
|
| 890 |
-
|
| 891 |
for i, (final_text, processed_blocks_list) in enumerate(progress.tqdm(generated_variations.items(), desc=f"{len(generated_variations)}件の音声を生成中")):
|
| 892 |
if ENABLE_LOGGING:
|
| 893 |
all_logs.append(f"--- 生成 {i+1}/{len(generated_variations)} ---")
|
|
@@ -896,12 +890,15 @@ def create_synthesis_app(model_holder: TTSModelHolder) -> gr.Blocks:
|
|
| 896 |
|
| 897 |
success, logs, audio_tuple = process_single_synthesis_webui(model_holder, model_name, actual_model_file_to_load, final_text, lang, speaker or None, internal_style_key, style_display_name, style_weight_for_synth, -1, ref_audio or None, length, noise, noise_w, sdp_r, pitch, intonation, use_assist, assist_text or None, assist_w)
|
| 898 |
|
| 899 |
-
|
| 900 |
-
|
|
|
|
|
|
|
| 901 |
|
| 902 |
if success and audio_tuple:
|
| 903 |
# ▼▼▼ 修正 ▼▼▼
|
| 904 |
-
|
|
|
|
| 905 |
# ▲▲▲ 修正 ▲▲▲
|
| 906 |
|
| 907 |
sr, audio_data = audio_tuple
|
|
@@ -917,15 +914,11 @@ def create_synthesis_app(model_holder: TTSModelHolder) -> gr.Blocks:
|
|
| 917 |
final_wav_paths.append(saved_paths[0])
|
| 918 |
final_mp3_paths.append(saved_paths[1])
|
| 919 |
generated_texts.append(text)
|
| 920 |
-
|
| 921 |
# ▼▼▼ 修正 ▼▼▼
|
| 922 |
-
|
| 923 |
-
if
|
| 924 |
-
|
| 925 |
-
log_message += "\n".join([f" - 「{t}」" for t in successful_gacha2_texts])
|
| 926 |
-
all_logs.append(log_message)
|
| 927 |
-
else:
|
| 928 |
-
all_logs.append("ℹ️ 発音ガチャ2: 音声は生成されませんでした。")
|
| 929 |
# ▲▲▲ 修正 ▲▲▲
|
| 930 |
|
| 931 |
else: # 発音ガチャ1 モード
|
|
@@ -939,8 +932,11 @@ def create_synthesis_app(model_holder: TTSModelHolder) -> gr.Blocks:
|
|
| 939 |
all_logs.append(f" ┗ 合成テキスト: \"{text[:50]}{'...' if len(text)>50 else ''}\"")
|
| 940 |
|
| 941 |
success, logs, audio_tuple = process_single_synthesis_webui(model_holder, model_name, actual_model_file_to_load, text, lang, speaker or None, internal_style_key, style_display_name, style_weight_for_synth, current_seed, ref_audio or None, length, noise, noise_w, sdp_r, pitch, intonation, use_assist, assist_text or None, assist_w)
|
| 942 |
-
|
| 943 |
-
|
|
|
|
|
|
|
|
|
|
| 944 |
|
| 945 |
if success and audio_tuple:
|
| 946 |
sr, audio_data = audio_tuple
|
|
@@ -960,25 +956,19 @@ def create_synthesis_app(model_holder: TTSModelHolder) -> gr.Blocks:
|
|
| 960 |
# ▼▼▼ 修正 ▼▼▼
|
| 961 |
num_generated = len(final_wav_paths)
|
| 962 |
if num_generated > 0:
|
| 963 |
-
all_logs.append(f"✅
|
| 964 |
else:
|
| 965 |
-
all_logs.append("ℹ️
|
| 966 |
# ▲▲▲ 修正 ▲▲▲
|
| 967 |
|
| 968 |
-
# ▼▼▼ 修正 ▼▼▼
|
| 969 |
-
# 共通のサマリーログは削除
|
| 970 |
-
# ▲▲▲ 修正 ▲▲▲
|
| 971 |
-
|
| 972 |
final_outputs = []
|
| 973 |
|
| 974 |
-
# ▼▼▼ 修正 ▼▼▼
|
| 975 |
if ENABLE_LOGGING:
|
| 976 |
status_message = "\n".join(all_logs)
|
| 977 |
else:
|
| 978 |
-
# ログレベルに関わらず、主要なメッセージ(プレフィックス付き)は表示
|
| 979 |
essential_logs = [log for log in all_logs if any(prefix in log for prefix in ["✅", "❌", "⚠️", "ℹ️"])]
|
| 980 |
status_message = "\n".join(essential_logs)
|
| 981 |
-
|
| 982 |
final_outputs.append(status_message)
|
| 983 |
|
| 984 |
num_generated = len(final_wav_paths)
|
|
|
|
| 444 |
msg = f"予期せぬエラー: {e}"; log_messages.append(f"❌ [エラー] {msg}"); return False, log_messages, None
|
| 445 |
|
| 446 |
# ▼▼▼ 修正 ▼▼▼
|
| 447 |
+
# 成功ログは呼び出し元で制御するため、この関数からは削除
|
|
|
|
|
|
|
| 448 |
# ▲▲▲ 修正 ▲▲▲
|
| 449 |
return True, log_messages, (sr, audio_data)
|
| 450 |
|
|
|
|
| 882 |
if len(generated_variations) < batch_count:
|
| 883 |
all_logs.append(f"⚠️ [警告] {batch_count}個のユニークなテキストを生成できませんでした。({len(generated_variations)}個のみ生成)")
|
| 884 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 885 |
for i, (final_text, processed_blocks_list) in enumerate(progress.tqdm(generated_variations.items(), desc=f"{len(generated_variations)}件の音声を生成中")):
|
| 886 |
if ENABLE_LOGGING:
|
| 887 |
all_logs.append(f"--- 生成 {i+1}/{len(generated_variations)} ---")
|
|
|
|
| 890 |
|
| 891 |
success, logs, audio_tuple = process_single_synthesis_webui(model_holder, model_name, actual_model_file_to_load, final_text, lang, speaker or None, internal_style_key, style_display_name, style_weight_for_synth, -1, ref_audio or None, length, noise, noise_w, sdp_r, pitch, intonation, use_assist, assist_text or None, assist_w)
|
| 892 |
|
| 893 |
+
# ▼▼▼ 修正 ▼▼▼
|
| 894 |
+
# process_single_synthesis_webuiからのログを常に追加
|
| 895 |
+
all_logs.extend([f" {log}" for log in logs])
|
| 896 |
+
# ▲▲▲ 修正 ▲▲▲
|
| 897 |
|
| 898 |
if success and audio_tuple:
|
| 899 |
# ▼▼▼ 修正 ▼▼▼
|
| 900 |
+
# 成功した場合、個別のログを追加
|
| 901 |
+
all_logs.append(f"✅ 音声合成が完了しました。(変換後テキスト: 「{final_text}」)")
|
| 902 |
# ▲▲▲ 修正 ▲▲▲
|
| 903 |
|
| 904 |
sr, audio_data = audio_tuple
|
|
|
|
| 914 |
final_wav_paths.append(saved_paths[0])
|
| 915 |
final_mp3_paths.append(saved_paths[1])
|
| 916 |
generated_texts.append(text)
|
| 917 |
+
|
| 918 |
# ▼▼▼ 修正 ▼▼▼
|
| 919 |
+
# 1件も生成されなかった場合のみ通知ログを追加
|
| 920 |
+
if len(final_wav_paths) == 0:
|
| 921 |
+
all_logs.append("ℹ️ 音声は生成されませんでした。")
|
|
|
|
|
|
|
|
|
|
|
|
|
| 922 |
# ▲▲▲ 修正 ▲▲▲
|
| 923 |
|
| 924 |
else: # 発音ガチャ1 モード
|
|
|
|
| 932 |
all_logs.append(f" ┗ 合成テキスト: \"{text[:50]}{'...' if len(text)>50 else ''}\"")
|
| 933 |
|
| 934 |
success, logs, audio_tuple = process_single_synthesis_webui(model_holder, model_name, actual_model_file_to_load, text, lang, speaker or None, internal_style_key, style_display_name, style_weight_for_synth, current_seed, ref_audio or None, length, noise, noise_w, sdp_r, pitch, intonation, use_assist, assist_text or None, assist_w)
|
| 935 |
+
|
| 936 |
+
# ▼▼▼ 修正 ▼▼▼
|
| 937 |
+
# process_single_synthesis_webuiからのログを常に追加
|
| 938 |
+
all_logs.extend([f" {log}" for log in logs])
|
| 939 |
+
# ▲▲▲ 修正 ▲▲▲
|
| 940 |
|
| 941 |
if success and audio_tuple:
|
| 942 |
sr, audio_data = audio_tuple
|
|
|
|
| 956 |
# ▼▼▼ 修正 ▼▼▼
|
| 957 |
num_generated = len(final_wav_paths)
|
| 958 |
if num_generated > 0:
|
| 959 |
+
all_logs.append(f"✅ {num_generated}件の音声合成が完了しました。")
|
| 960 |
else:
|
| 961 |
+
all_logs.append("ℹ️ 音声は生成されませんでした。")
|
| 962 |
# ▲▲▲ 修正 ▲▲▲
|
| 963 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 964 |
final_outputs = []
|
| 965 |
|
|
|
|
| 966 |
if ENABLE_LOGGING:
|
| 967 |
status_message = "\n".join(all_logs)
|
| 968 |
else:
|
|
|
|
| 969 |
essential_logs = [log for log in all_logs if any(prefix in log for prefix in ["✅", "❌", "⚠️", "ℹ️"])]
|
| 970 |
status_message = "\n".join(essential_logs)
|
| 971 |
+
|
| 972 |
final_outputs.append(status_message)
|
| 973 |
|
| 974 |
num_generated = len(final_wav_paths)
|