الإصدار 3.5 الآن يدعم أيضًا Twitch Streamer
الإصدار 3.0 الآن لا يدعم فقط تحويل النص إلى كلام باللغة اليابانية باستخدام VoiceVox. ولكنه يدعم أيضًا TTS لـ RU (الروسية)، EN (الإنجليزية)، DE (الألمانية)، ES (الإسبانية)، FR (الفرنسية)، TT (التتارية)، UA (الأوكرانية)، UZ (الأوزبكية)، XAL (كالميك)، الهندية (الهندية)، باستخدام Seliro TTS. قم بتغيير voicevox_tts
على run.py
إلى seliro_tts
، للحصول على معلومات مفصلة حول كيفية استخدام Seliro TTS
هذا المشروع مستوحى من shioridotdev ويستخدم تقنيات مختلفة مثل VoiceVox Engine وDeepL وWhisper OpenAI وSeliro TTS وVtubeStudio لإنشاء مستخدم YouTube افتراضي لـ AI waifu.
pip install -r requirements.txt
api_key = 'yourapikey'
owner_name = "Ardha"
إذا كنت تريد استخدامه للبث المباشر، فقم بإنشاء قائمة بالمستخدمين الذين تريد إدراجهم في القائمة السوداء على run.py
blacklist = ["Nightbot", "streamelements"]
قم بتغيير تقاليد أو هوية مساعدك. قم بتغيير ملف txt إلى characterConfigPinaidentity.txt
إذا كنت تريد البث على Twitch، فأنت بحاجة إلى تغيير ملف التكوين على utils/twitch_config.py
. احصل على رمزك المميز من هنا. يجب أن يبدو الرمز المميز الخاص بك مثل oauth:43rip6j6fgio8n5xly1oum1lph8ikl1 (وهمي لهذا البرنامج التعليمي). بعد تغيير ملف التكوين، يمكنك بدء تشغيل البرنامج باستخدام الوضع - 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
أو Silero
. قم بإلغاء التعليق والتعليق للتبديل بينهما # 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")
إذا كنت تريد استخدام VoiceVox، فأنت بحاجة إلى تشغيل VoiceVox Engine أولاً. يمكنك تشغيلها على المستوى المحلي باستخدام VoiceVox Docker أو على Google Colab باستخدام VoiceVox Colab. إذا كنت تستخدم Colab، فقم بتغيير voicevox_url
على utilsTTS.py
باستخدام الرابط الذي تحصل عليه من Colab.
voicevox_url = 'http://localhost:50021'
إذا كنت تريد رؤية القائمة الصوتية لـ VoiceVox، فيمكنك التحقق من VoiceVox ورؤية معرف مكبر الصوت على speaker.json
ثم تغييره على utils/TTS.py
. للحصول على عينة Seliro Voice، يمكنك التحقق من عينات Seliro هذه
VoiceVox
، لأن VoiceVox يقبل الإدخال باللغة اليابانية فقط. ستعتمد الإجابة اللغوية من OpenAI على لغة مساعدك الشخصية characterConfigPinaidentity.txt
ولغة الإدخال tts = translate_deeplx(text, f"{detect}", "JA")
tts = translate_google(text, f"{detect}", "JA")
DeepLx
هو نسخة مجانية من DeepL
(لا يلزم وجود مفتاح API). يمكنك تشغيل Deeplx على عامل الإرساء، أو إذا كنت تريد استخدام الإصدار العادي من Deepl، فيمكنك إنشاء الوظيفة على utilstranslate.py
. أستخدم DeepLx
لأنني لا أستطيع التسجيل في DeepL
من بلدي. تعتبر نتيجة الترجمة من DeepL
أكثر دقة وغير رسمية من ترجمة Google. ولكن إذا كنت تريد الطريقة البسيطة، فما عليك سوى استخدام الترجمة من Google.
إذا كنت تريد استخدام إخراج الصوت من البرنامج كمدخل لبرنامج Vtubestudio
الخاص بك. سوف تحتاج إلى التقاط صوت سطح المكتب الخاص بك باستخدام Virtual Cable
واستخدامه كمدخل على ميكروفون VtubeStudio.
إذا كنت تخطط لاستخدام هذا البرنامج للبث المباشر، استخدم chat.txt
و output.txt
كمدخل على نص OBS للتسميات التوضيحية/الترجمات في الوقت الفعلي
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()
تغيير هذا السطر من التعليمات البرمجية إلى هذا. سيساعدك هذا في الحصول على مزيد من المعلومات حول الخطأ
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()
هناك خيار آخر لحل هذه المشكلة، وهو ترقية مكتبة OpenAI إلى الإصدار الأحدث. تأكد من أن البرنامج يلتقط صوتك/جملتك، وحاول سماع input.wav
wav
هذه المكتبة صعبة بعض الشيء في التثبيت. إذا كنت تواجه هذه المشكلة، يمكنك فقط حذف katakana_converter
وعدم استخدامه على utils/TTS.py
. هذه الوظيفة اختيارية، ويمكنك تشغيل البرنامج بدونها. احذف هذين السطرين من utils/TTS.py
from utils.katakana import *
katakana_text = katakana_converter(tts)
وقم فقط بتمرير tts
إلى السطر التالي من الكود
params_encoded = urllib.parse.urlencode({'text': tts, 'speaker': 46})
هذا المشروع مستوحى من أعمال shioridotdev. شكر خاص لمبدعي التقنيات المستخدمة في هذا المشروع بما في ذلك VoiceVox Engine وDeepL وWhisper OpenAI وVtubeStudio.