استخدام قواميس النطق مع ElevenLabs SDK

قواميس النطق هي أدوات أساسية لإدارة كيفية نطق كلمات معينة في تطبيقات تحويل النص إلى كلام. سيرشدك هذا الدليل خلال استخدام ElevenLabs Python SDK لإنشاء وتعديل واستخدام قواميس النطق بفعالية.
المتطلبات
قبل البدء، تأكد من توفر ما يلي:
- حساب ElevenLabs مع مفتاح API.
- Python مثبت على جهازك.
- FFMPEG لتشغيل الصوت.
الإعداد
تثبيت SDK
للبدء، ثبّت SDKs والمكتبات اللازمة. ستحتاج إلى ElevenLabs SDK لتحديث قواميس النطق واستخدام تحويل النص إلى كلام. ثبّته باستخدام pip:
pip install elevenlabsبالإضافة إلى ذلك، ثبّت python-dotenv لإدارة متغيرات البيئة الخاصة بك:
pip install python-dotenvأنشئ ملف .env في مجلد مشروعك واملأه ببيانات الاعتماد الخاصة بك:
ELEVENLABS_API_KEY=your_elevenlabs_api_key_here
تهيئة Client SDK
هيّئ client SDK بالكود التالي:
import os
from elevenlabs.client import ElevenLabs
ELEVENLABS_API_KEY = os.getenv("ELEVENLABS_API_KEY")
client = ElevenLabs(
api_key=ELEVENLABS_API_KEY,
)إنشاء قاموس نطق
لإنشاء قاموس نطق من ملف، تحتاج إلى إنشاء ملف .pls لقواعدك. سيستخدم هذا الملف أبجدية "IPA" لتحديث النطق. احفظه باسم dictionary.pls.
<?xml version="1.0" encoding="UTF-8"?>
<lexicon version="1.0"
xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon
http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd"
alphabet="ipa" xml:lang="en-US">
<lexeme>
<grapheme>tomato</grapheme>
<phoneme>/tə'meɪtoʊ/</phoneme>
</lexeme>
<lexeme>
<grapheme>Tomato</grapheme>
<phoneme>/tə'meɪtoʊ/</phoneme>
</lexeme>
</lexicon>أضف القواعد من الملف وأنشئ صوت تحويل النص إلى كلام لمقارنة النتائج:
import requests
from elevenlabs import play, PronunciationDictionaryVersionLocator
with open("dictionary.pls", "rb") as f:
pronunciation_dictionary = client.pronunciation_dictionary.add_from_file(
file=f.read(), name="example"
)
audio_1 = client.generate(
text="Without the dictionary: tomato",
voice="Rachel",
model="eleven_turbo_v2",
)
audio_2 = client.generate(
text="With the dictionary: tomato",
voice="Rachel",
model="eleven_turbo_v2",
pronunciation_dictionary_locators=[
PronunciationDictionaryVersionLocator(
pronunciation_dictionary_id=pronunciation_dictionary.id,
version_id=pronunciation_dictionary.version_id,
)
],
)
play(audio_1)
play(audio_2)تعديل قواميس النطق
إزالة القواعد
لإزالة القواعد، استخدم طريقة remove_rules_from_the_pronunciation_dictionary:
pronunciation_dictionary_rules_removed = (
client.pronunciation_dictionary.remove_rules_from_the_pronunciation_dictionary(
pronunciation_dictionary_id=pronunciation_dictionary.id,
rule_strings=["tomato", "Tomato"],
)
)
audio_3 = client.generate(
text="With the rule removed: tomato",
voice="Rachel",
model="eleven_turbo_v2",
pronunciation_dictionary_locators=[
PronunciationDictionaryVersionLocator(
pronunciation_dictionary_id=pronunciation_dictionary_rules_removed.id,
version_id=pronunciation_dictionary_rules_removed.version_id,
)
],
)
play(audio_3)إضافة القواعد
أضف القواعد مباشرة باستخدام فئة PronunciationDictionaryRule_Phoneme:
from elevenlabs import PronunciationDictionaryRule_Phoneme
pronunciation_dictionary_rules_added = client.pronunciation_dictionary.add_rules_to_the_pronunciation_dictionary(
pronunciation_dictionary_id=pronunciation_dictionary_rules_removed.id,
rules=[
PronunciationDictionaryRule_Phoneme(
type="phoneme",
alphabet="ipa",
string_to_replace="tomato",
phoneme="/tə'meɪtoʊ/",
),
PronunciationDictionaryRule_Phoneme(
type="phoneme",
alphabet="ipa",
string_to_replace="Tomato",
phoneme="/tə'meɪtoʊ/",
),
],
)
audio_4 = client.generate(
text="With the rule added again: tomato",
voice="Rachel",
model="eleven_turbo_v2",
pronunciation_dictionary_locators=[
PronunciationDictionaryVersionLocator(
pronunciation_dictionary_id=pronunciation_dictionary_rules_added.id,
version_id=pronunciation_dictionary_rules_added.version_id,
)
],
)
play(audio_4)الخلاصة
باتباع هذا الدليل، يمكنك إدارة قواميس النطق بفعالية لتحسين تطبيقات تحويل النص إلى كلام. لمزيد من التفاصيل، راجع ملفات المشروع الكاملة.
المرجع: هذه المقالة مبنية على معلومات من ElevenLabs. لمزيد من التفاصيل، قم بزيارة ElevenLabs. المؤلف: فريق ElevenLabs.
ناقش مشروعك معنا
نحن هنا للمساعدة في احتياجات تطوير الويب الخاصة بك. حدد موعدًا لمناقشة مشروعك وكيف يمكننا مساعدتك.
دعنا نجد أفضل الحلول لاحتياجاتك.
مقالات ذات صلة

البدء مع ALLaM-7B-Instruct-preview
تعلم كيفية استخدام نموذج ALLaM-7B-Instruct-preview مع Python، وكيفية التفاعل معه من JavaScript عبر واجهة برمجة مستضافة (مثل Hugging Face Spaces).

بناء تطبيق ذكاء اصطناعي محادثي مع Next.js
تعلم كيفية بناء تطبيق ويب يتيح محادثات صوتية في الوقت الفعلي مع وكلاء الذكاء الاصطناعي باستخدام Next.js وElevenLabs.

بناء مفسر أكواد مخصص لوكلاء نماذج اللغة الكبيرة
تعلم كيفية إنشاء مفسر أكواد مخصص لوكلاء نماذج اللغة الكبيرة (LLM)، مما يتيح استدعاء الأدوات الديناميكي وتنفيذ الأكواد المعزول لتعزيز المرونة والأمان.