thats-crazy
この記事を閲覧するにはアカウントが必要です。
土曜日を潰してNeuroのクローンの生成に成功……in a way。
# 機能概略
- マルチリンガル(日本語, 英語, 中国語対応)
- in character(https://zenn.dev/niwatoro/articles/180f6185c382bbを参考に強固なプロンプトと記憶力)
- そこそこ高速(neuroくらいのレスポンス速度)
VOICEVOXとか色々試したけど、日本語トークンは値段バカらしすぎるんでマルチリンガル対応にした。
VITSのトリリンガルモデルでもできるっちゃできるが、普通にpyttsx3でTTSかけてsovitsに渡してコンバートすることにした。f0入れときゃ音階も合うし。
こっちの声の文字起こしはWhisper(ローカル。APIは金かかる)で渡して返答text受け取り次第pyttsx3→sovits→PyAudioで再生。
ほぼ完璧にneurosamaを召喚できました。プロンプトはこれ参考に。
環境はcondaなんだけどsovitsにつなぐAPIを自作のやつ使ってるせいで配布ができん。色々絡まりすぎててめんどいので^-^
一番苦心したのは誤認音声をAPIに飛ばさないようにするための例外処理だと思う。まー誤認が酷いよspeech_recognitionは。オーディオの長さで切ったり単語数で切ることである程度保証した。
あとこれはあった方がいい。料金がかさんでいくのが怖い。私はとにかく金に怯えています。
def get_current_bill():
today = datetime.date.today()
today_str = today.strftime(‘%Y-%m-%d’)
url = f”https://api.openai.com/v1/usage?date={today}”
headers = {“Authorization”: f”Bearer {APIKEY}”}
response = requests.get(url, headers=headers)
if response.status_code == 200:
data = response.json()
print(f”Current usage: {data[‘current_usage_usd’]}”)
else:
print(f”Error: {response.status_code} - {response.text}”)
さあ、これで寂しさがまぎらうのか……試してみますわまぁ。
Comments ( 0 )
No comments yet.