v3.5 Sekarang juga mendukung untuk Twitch Streamer
v3.0 Kini tidak hanya mendukung TTS Jepang menggunakan VoiceVox. Tetapi juga mendukung TTS untuk RU (Rusia), EN (Inggris), DE (Jerman), ES (Spanyol), FR (Perancis), TT (Tatar), UA (Ukraina), UZ (Uzbek), XAL (Kalmyk), India (Hindi), menggunakan Seliro TTS. Ubah voicevox_tts
di run.py
menjadi seliro_tts
, untuk informasi detail cara menggunakan Seliro TTS
Proyek ini terinspirasi oleh shioridotdev dan memanfaatkan berbagai teknologi seperti VoiceVox Engine, DeepL, Whisper OpenAI, Seliro TTS dan VtubeStudio untuk membuat YouTuber virtual AI waifu.
pip install -r requirements.txt
api_key = 'yourapikey'
owner_name = "Ardha"
jika Anda ingin menggunakannya untuk streaming langsung, buat daftar pengguna yang ingin Anda daftar hitam di run.py
blacklist = ["Nightbot", "streamelements"]
Ubah pengetahuan atau identitas asisten Anda. Ubah file txt di characterConfigPinaidentity.txt
Jika Anda ingin melakukan streaming di Twitch, Anda perlu mengubah file konfigurasi di utils/twitch_config.py
. Dapatkan token Anda dari Sini. Token Anda akan terlihat seperti oauth:43rip6j6fgio8n5xly1oum1lph8ikl1 (palsu untuk tutorial ini). Setelah Anda mengubah file konfigurasi, Anda dapat memulai program menggunakan Mode - 3
server = 'irc.chat.twitch.tv'
port = 6667
nickname = 'testing' # You don't need to change this
token = 'oauth:43rip6j6fgio8n5xly1oum1lph8ikl1' # get it from https://twitchapps.com/tmi/.
user = 'ardha27' # Your Twitch username
channel = '#aikohound' # The channel you want to retrieve messages from
VoiceVox
atau Silero
. Batalkan komentar dan Komentar untuk beralih di antara keduanya # Choose between the available TTS engines
# Japanese TTS
voicevox_tts(tts)
# Silero TTS, Silero TTS can generate English, Russian, French, Hindi, Spanish, German, etc. Uncomment the line below. Make sure the input is in that language
# silero_tts(tts_en, "en", "v3_en", "en_21")
Jika Anda ingin menggunakan VoiceVox, Anda perlu menjalankan VoiceVox Engine terlebih dahulu. Anda dapat menjalankannya di lokal menggunakan VoiceVox Docker atau di Google Colab menggunakan VoiceVox Colab. Jika Anda menggunakan Colab, ubah voicevox_url
menjadi utilsTTS.py
menggunakan tautan yang Anda dapatkan dari Colab.
voicevox_url = 'http://localhost:50021'
jika Anda ingin melihat daftar suara VoiceVox Anda dapat memeriksa VoiceVox ini dan melihat id speaker di speaker.json
lalu mengubahnya di utils/TTS.py
. Untuk sampel Seliro Voice Anda dapat memeriksa Sampel Seliro ini
VoiceVox
, karena VoiceVox hanya menerima masukan dalam bahasa Jepang. Jawaban bahasa dari OpenAI akan bergantung pada characterConfigPinaidentity.txt
dan bahasa input tts = translate_deeplx(text, f"{detect}", "JA")
tts = translate_google(text, f"{detect}", "JA")
DeepLx
adalah versi gratis dari DeepL
(Tidak Perlu Kunci API). Anda dapat menjalankan Deeplx di buruh pelabuhan, atau jika Anda ingin menggunakan Deepl versi normal, Anda dapat membuat fungsinya di utilstranslate.py
. Saya menggunakan DeepLx
karena saya tidak bisa mendaftar di DeepL
dari negara saya. Hasil terjemahan dari DeepL
lebih akurat dan kasual dibandingkan Google Translate. Namun jika ingin cara yang simpel, gunakan saja Google Translate.
Jika Anda ingin menggunakan keluaran audio dari program sebagai masukan untuk Vtubestudio
Anda. Anda perlu merekam audio desktop menggunakan Virtual Cable
dan menggunakannya sebagai input pada mikrofon VtubeStudio.
Jika Anda berencana menggunakan program ini untuk live streaming Gunakan chat.txt
dan output.txt
sebagai input pada Teks OBS untuk Teks/Subjudul Realtime
def transcribe_audio(file):
global chat_now
try:
audio_file= open(file, "rb")
# Translating the audio to English
# transcript = openai.Audio.translate("whisper-1", audio_file)
# Transcribe the audio to detected language
transcript = openai.Audio.transcribe("whisper-1", audio_file)
chat_now = transcript.text
print ("Question: " + chat_now)
except:
print("Error transcribing audio")
return
result = owner_name + " said " + chat_now
conversation.append({'role': 'user', 'content': result})
openai_answer()
Ubah Baris Kode ini menjadi ini. Ini akan membantu Anda mendapatkan informasi lebih lanjut tentang kesalahan tersebut
def transcribe_audio(file):
global chat_now
audio_file= open(file, "rb")
# Translating the audio to English
# transcript = openai.Audio.translate("whisper-1", audio_file)
# Transcribe the audio to detected language
transcript = openai.Audio.transcribe("whisper-1", audio_file)
chat_now = transcript.text
print ("Question: " + chat_now)
result = owner_name + " said " + chat_now
conversation.append({'role': 'user', 'content': result})
openai_answer()
Opsi lain untuk mengatasi masalah ini, Anda dapat mengupgrade perpustakaan OpenAI ke versi terbaru. Pastikan program menangkap suara/kalimat Anda, coba dengar input.wav
perpustakaan ini agak sulit untuk dipasang. Jika Anda menghadapi masalah ini, Anda cukup menghapus dan tidak menggunakan katakana_converter
di utils/TTS.py
. Fungsi tersebut bersifat opsional, Anda dapat menjalankan program tanpa itu. Hapus dua baris ini di utils/TTS.py
from utils.katakana import *
katakana_text = katakana_converter(tts)
dan teruskan saja tts
ke baris kode berikutnya
params_encoded = urllib.parse.urlencode({'text': tts, 'speaker': 46})
Proyek ini terinspirasi oleh karya shioridotdev. Terima kasih khusus kepada pencipta teknologi yang digunakan dalam proyek ini termasuk VoiceVox Engine, DeepL, Whisper OpenAI, dan VtubeStudio.