Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -3,50 +3,72 @@ import gradio as gr
|
|
| 3 |
def senior_ai(message, history):
|
| 4 |
m = message.lower()
|
| 5 |
|
| 6 |
-
# --- 魔法の命令文:機材知識データベース ---
|
| 7 |
-
# ここに
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
elif "ve-5" in m or "エフェクター" in m:
|
| 31 |
-
return responses["ve-5"]
|
| 32 |
-
elif "mgp32x" in m or "ミキサー" in m:
|
| 33 |
-
return responses["mgp32x"]
|
| 34 |
-
elif any(k in m for k in ["音量", "大きく", "小さい", "上げ"]):
|
| 35 |
-
return responses["音量"]
|
| 36 |
-
elif any(k in m for k in ["すごい", "頼り", "さすが", "ありがとう"]):
|
| 37 |
-
return responses["褒める"]
|
| 38 |
-
elif any(k in m for k in ["教えて", "何", "意味"]):
|
| 39 |
-
return responses["用語"]
|
| 40 |
|
| 41 |
-
#
|
| 42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
|
| 44 |
-
# --- 画面
|
| 45 |
-
# あなたの「魔法の命令文」にあったタイトルと説明を完璧に再現します。
|
| 46 |
demo = gr.ChatInterface(
|
| 47 |
fn=senior_ai,
|
| 48 |
title="🎸 軽音PAサポートAI ライト",
|
| 49 |
-
description=
|
|
|
|
|
|
|
|
|
|
| 50 |
)
|
| 51 |
|
| 52 |
if __name__ == "__main__":
|
|
|
|
| 3 |
def senior_ai(message, history):
|
| 4 |
m = message.lower()
|
| 5 |
|
| 6 |
+
# --- 魔法の命令文:機材知識・人格データベース ---
|
| 7 |
+
# ここにあなたの指示内容をすべてロジックとして組み込みました。
|
| 8 |
+
|
| 9 |
+
# 1. 挨拶・人格
|
| 10 |
+
if any(k in m for k in ["こんにちは", "お疲れ", "おはよ", "ライト"]):
|
| 11 |
+
return "お疲れ様!ライトだよ。部室の機材で困ったことある?何でも聞いてね!私に任せて!"
|
| 12 |
+
|
| 13 |
+
# 2. 音が出ない(MGP32X知識含む)
|
| 14 |
+
if any(k in m for k in ["音", "出ない", "聞こえない", "鳴らない"]):
|
| 15 |
+
return (
|
| 16 |
+
"あちゃー、音が出ないか。この子(ミキサー)たちのご機嫌を見てみよう!\n"
|
| 17 |
+
"1. まずは電源スイッチが入ってるか確認してみて。\n"
|
| 18 |
+
"2. シールドが奥までしっかり刺さってるかな?\n"
|
| 19 |
+
"3. MGP32Xのチャンネルの『ON』ボタンが赤く光ってるか見てみて。ここが消えてると音が出ないんだよ!"
|
| 20 |
+
)
|
| 21 |
+
|
| 22 |
+
# 3. ノイズ(VE-5知識含む)
|
| 23 |
+
if any(k in m for k in ["ノイズ", "雑音", "ジー", "ブー"]):
|
| 24 |
+
return (
|
| 25 |
+
"ノイズは厄介だよね。この子たちを疑ってみよう!\n"
|
| 26 |
+
"1. シールドを1本ずつ替えてみて、どこで鳴ってるか突き止めよう。\n"
|
| 27 |
+
"2. VE-5とかのエフェクターを使ってるなら、ACアダプターが純正か確認して。安いやつだとノイズが乗りやすいんだ。\n"
|
| 28 |
+
"3. パッチケーブルの接触が怪しいこともあるよ!"
|
| 29 |
+
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
|
| 31 |
+
# 4. ハウリング(マイク特性知識含む)
|
| 32 |
+
if any(k in m for k in ["ハウ", "ピー", "キーン"]):
|
| 33 |
+
return (
|
| 34 |
+
"キーンって鳴ると耳が痛いよね!\n"
|
| 35 |
+
"1. マイクをスピーカーに向けないように位置を調整してみて。\n"
|
| 36 |
+
"2. ギターとかベースのコーラスマイクはこの子(機材)の中でも特にハウりやすいから、角度に気をつけてね!\n"
|
| 37 |
+
"3. ミキサーのEQ(つまみ)で高い音を少し削ってみよう。"
|
| 38 |
+
)
|
| 39 |
+
|
| 40 |
+
# 5. 音量設定(ローディへの相談ルール)
|
| 41 |
+
if any(k in m for k in ["音量", "大きく", "小さい", "上げ"]):
|
| 42 |
+
return "もっと大きな音にしたい?アンプの音量を勝手に上げちゃうとPAのバランスが崩れちゃうから、まずは必ず『ローディ』に相談しようね!それが鉄則だよ。"
|
| 43 |
+
|
| 44 |
+
# 6. 機材固有の知識(VE-5, MGP32X, XLS, CPX)
|
| 45 |
+
if "ve-5" in m:
|
| 46 |
+
return "VE-5(ボイスエフェクター)だね!電池切れだと急に止まるから、ライブのときはACアダプターを使うのが安心だよ。"
|
| 47 |
+
if "mgp32x" in m or "ミキサー" in m:
|
| 48 |
+
return "MGP32Xはうちの部室の心臓部!この子でボーカル、ドラム各マイク、PAトークバックを全部調節してるんだよ。フェーダーは優しく触ってあげてね。"
|
| 49 |
+
if "xls" in m or "cpx" in m:
|
| 50 |
+
return "パワーアンプのXLS DriveCore 2とかCPX600だね!この子たちは最後に電源を入れて、最初に切るのが長持ちのコツだよ。"
|
| 51 |
+
|
| 52 |
+
# 7. 褒められた時(性格:照れる)
|
| 53 |
+
if any(k in m for k in ["すごい", "頼り", "さすが", "ありがとう"]):
|
| 54 |
+
return "えっ、頼りになる?……そんなこと言われると照れるよぉ!でも、そう言ってもらえるとこの子たち(機材)も喜んでると思うな。ありがとね!"
|
| 55 |
+
|
| 56 |
+
# 8. その他・不明点(「どこが怪しそう?」と質問するルール)
|
| 57 |
+
return (
|
| 58 |
+
f"『{message}』だね!今の状況、もうちょっと詳しく知りたいな。どこが怪しそうかな?\n"
|
| 59 |
+
"1. 機材のランプの状態\n"
|
| 60 |
+
"2. 接続の順番\n"
|
| 61 |
+
"このあたりを教えてくれたら、もっと力になれるよ!"
|
| 62 |
+
)
|
| 63 |
|
| 64 |
+
# --- 画面構成(あなたの指示を反映) ---
|
|
|
|
| 65 |
demo = gr.ChatInterface(
|
| 66 |
fn=senior_ai,
|
| 67 |
title="🎸 軽音PAサポートAI ライト",
|
| 68 |
+
description=(
|
| 69 |
+
"性格:明るくて頼れるライト先輩が、部室の機材トラブルをタメ口で解決するよ!\n"
|
| 70 |
+
"機材知識:VE-5, MGP32X, XLS DriveCore 2, CPX600対応。"
|
| 71 |
+
),
|
| 72 |
)
|
| 73 |
|
| 74 |
if __name__ == "__main__":
|