3DAItuber / app.py
buchi-stdesign's picture
Upload app.py
5902431 verified
raw
history blame contribute delete
993 Bytes
import streamlit as st
import numpy as np
import soundfile as sf
import io
from AIvtuber import chat_session, tts_to_wav
st.title("AI VTuber チャット(SBV2+Gemini)")
# チャット履歴の初期化
if "messages" not in st.session_state:
st.session_state.messages = []
# チャット入力
user_input = st.text_input("メッセージを入力してください:")
if user_input:
# GeminiでAI応答
resp = chat_session.send_message(user_input)
st.session_state.messages.append({"role": "user", "content": user_input})
st.session_state.messages.append({"role": "bot", "content": resp.text})
# 音声合成
sr, wav = tts_to_wav(resp.text)
buffer = io.BytesIO()
sf.write(buffer, wav, sr, format='WAV')
buffer.seek(0)
st.audio(buffer, format="audio/wav")
# チャット履歴の表示
for message in st.session_state.messages:
with st.chat_message(message["role"]):
st.write(message["content"])