







اداء بسيط وخفيف لتعديل او تشويه اللغه العربيه من رموز او علامات لاي ملف تعريب منتدى
ارفع اي ملف نفس
vbulletin-language.xml
الاداء باسم fix_vbulletin.py
يخرج لك نفس الحجم ويعدل لك الاخطاء
ويخرج لك باسم
vbulletin-language-fixed.xml
انسخ الكود وارفعه في : fix_vbulletin.py
https://www.hayef5.com/m101/html-mp3/maililf-101/
from pathlib import Path
INPUT_FILE = Path("vbulletin-language.xml")
OUTPUT_FILE = Path("vbulletin-language-fixed.xml")
print("=" * 60)
print(" vBulletin 3.8.12 - Arabic Language Repair HaYeF5 KuwaiT")
print("=" * 60)
if not INPUT_FILE.exists():
print("\nلم يتم العثور على الملف:")
print(INPUT_FILE.resolve())
input("\nاضغط Enter للخروج...")
raise SystemExit
try:
raw = INPUT_FILE.read_bytes()
print(f"\nحجم الملف الأصلي: {len(raw):,} bytes")
print("جاري إصلاح الترميز...")
# الملف الحالي يحتوي على عربي مشوه من نوع:
# ÇáÏÎæá ãÍÙæÑ
#
# هذه العملية تعكس التحويل الخاطئ:
# Windows-1256 -> Windows-1252/Latin
#
# ثم تعيد النص إلى Windows-1256 الصحيح.
wrong_text = raw.decode("cp1252")
fixed_text = wrong_text.encode("cp1252").decode("cp1256")
# تعريف XML
if fixed_text.startswith("<?xml"):
end = fixed_text.find("?>")
if end != -1:
fixed_text = (
'<?xml version="1.0" encoding="windows-1256"?>'
+ fixed_text[end + 2:]
)
# التأكد من إعداد vBulletin
fixed_text = fixed_text.replace(
"<charset><![CDATA[utf-8]]></charset>",
"<charset><![CDATA[windows-1256]]></charset>"
)
# حفظ الملف فعليًا Windows-1256
output_data = fixed_text.encode("cp1256")
OUTPUT_FILE.write_bytes(output_data)
print("\nتم الإصلاح بنجاح!")
print("-" * 60)
print(f"حجم الملف الجديد: {len(output_data):,} bytes")
print(f"الملف الجديد: {OUTPUT_FILE.resolve()}")
print("-" * 60)
# فحص سريع
if "الدخول محظور" in fixed_text:
print("\n✓ تم العثور على النص العربي بشكل صحيح.")
else:
print("\n⚠ لم يتم العثور على المثال المتوقع.")
print("لكن تم إنشاء الملف.")
except Exception as e:
print("\n" + "=" * 60)
print("حدث خطأ:")
print(type(e).__name__)
print(str(e))
print("=" * 60)
input("\nاضغط Enter للخروج...")
وسلامتكم
ارفع لك الكود فقط وانت حطه بملف بصيغه xml
وسمه مثلا product-Add-friend
صوره المنتج
الكود :
<?xml version="1.0" encoding="ISO-8859-1"?>
<product productid="addme_postbit" active="1">
<title>هاك اضفني كصديق</title>
<description>اضفني كصديق تظهر في المواضيع والمشاركات</description>
<version>1.0</version>
<url>hayef5.yoo7.com</url>
<versioncheckurl>https://hayef5.yoo7.com/portal</versioncheckurl>
<dependencies>
</dependencies>
<codes>
<code version="*">
<installcode><![CDATA[define('DISABLE_PRODUCT_REDIRECT', true);
define('CP_REDIRECT', 'index.php?loc=' . urlencode('options.php?do=options&dogroup=addme_postbit'));]]></installcode>
<uninstallcode />
</code>
</codes>
<templates>
<template name="addme_postbit" templatetype="template" date="1328608250" username="admin" version="1.0"><![CDATA[<style type="text/css">
.wall_last_post {
background: none repeat scroll 0 0 #F6F6F6;
border-color: #CCCCCC #000000;
border-left: 3px solid #000000;
border-radius: 0 20px 20px 0;
border-right: 3px solid #000000;
border-style: dotted solid;
border-width: 3px;
float: left;
height: 63px;
margin-bottom: 10px;
margin-right: 10px;
padding-bottom: 5px;
width: 190px;
}
.wall_last_post_auhor {
background: url("https://gulf-missil.ucoz.com/_ph/20/2/781723650.gif") no-repeat scroll left center transparent;
color: #606060;
font-family: Tahoma;
font-size: 12px;
font-weight: normal;
margin-left: 10px;
padding-right: 11px;
padding-top: 7px;
text-shadow: 1px 0 1px #88CED8;
}
.wall_last_post .wall_last_post_auhor a {
color: #CC0000;
font-size: 12px;
font-weight: bold;
}
.wall_last_post p {
color: #606060;
font-family: Tahoma;
font-size: 11px;
font-weight: normal;
line-height: 15px;
margin: 0;
min-height: 27px;
padding: 3px;
}
.wall_last_post_footer {
color: #CC0000;
font-family: Tahoma;
font-size: 11px;
font-weight: normal;
}
.add_as_friend {
background: url("https://gulf-missil.ucoz.com/_ph/20/2/315962949.png") no-repeat scroll left center transparent;
height: 34px;
margin: auto;
padding-left: 40px;
width: 100px;
}
.add_as_friend span {
background: none repeat scroll 0 0 #FFE5CD;
border: 1px solid #F4C182;
border-radius: 3px 3px 3px 3px;
color: #E96D10;
display: block;
font-family: Tahoma;
font-size: 11px;
height: 20px;
line-height: 23px;
margin-top: 9px;
padding-bottom: 5px;
padding-left: 5px;
padding-right: 5px;
text-align: center;
}
</style>
<if condition="$vboptions[addme_postbit_place]==0">
<if condition="$post[postcount] == 1">
<div class="wall_last_post">
<div class="wall_last_post_auhor">
<font color="#000000">انا : </font>
<a href="member.php?$session[sessionurl]u=$post[userid]">
$post[username]</a></div>
<div class="add_as_friend">
<span><a rel="nofollow" href="profile.php?$session[sessionurl]do=addlist&userlist=friend&u=$post[userid]">
<phrase 1="$prepared[username]">اضفني كصديق</phrase></a></span></div>
<div class="wall_last_post_footer"></div></div></if>
<else />
<div class="wall_last_post">
<div class="wall_last_post_auhor">
<font color="#000000">انا : </font>
<a href="member.php?$session[sessionurl]u=$post[userid]">
$post[username]</a></div>
<div class="add_as_friend">
<span><a rel="nofollow" href="profile.php?$session[sessionurl]do=addlist&userlist=friend&u=$post[userid]">
<phrase 1="$prepared[username]">اضفني كصديق</phrase></a></span></div>
<div class="wall_last_post_footer"></div></div></if>]]></template>
</templates>
<plugins>
<plugin active="1" executionorder="5">
<title>Cashe templates</title>
<hookname>cache_templates</hookname>
<phpcode><![CDATA[$globaltemplates[] = 'addme_postbit';]]></phpcode>
</plugin>
<plugin active="1" executionorder="5">
<title>addme_postbit</title>
<hookname>postbit_display_start</hookname>
<phpcode><![CDATA[global $db ,$vbulletin;
if ($vbulletin->options['addme_postbit_onoff'])
{
eval('$addme_postbit = "' . fetch_template('addme_postbit') . '";');
}]]></phpcode>
</plugin>
<plugin active="1" executionorder="5">
<title>Showthread</title>
<hookname>showthread_start</hookname>
<phpcode><![CDATA[global $db ,$vbulletin;
if ($vbulletin->options['addme_postbit_onoff'])
{
$vbulletin->templatecache['postbit_legacy'] = str_replace('$post[message]','$addme_postbit<br /><br /> $post[message]',$vbulletin->templatecache['postbit_legacy']);
$vbulletin->templatecache['postbit'] = str_replace('$post[message]','$addme_postbit<br /><br /> $post[message]',$vbulletin->templatecache['postbit']);
$vbulletin->templatecache['helm_legacy'] = str_replace ('$post[message]','$addme_postbit<br /><br /> $post[message]',$vbulletin->templatecache['helm_legacy']);
$vbulletin->templatecache['helm_postbit'] = str_replace ('$post[message]','$addme_postbit<br /><br /> $post[message]',$vbulletin->templatecache['helm_postbit']);
}]]></phpcode>
</plugin>
</plugins>
<phrases>
<phrasetype name="vBulletin Settings" fieldname="vbsettings">
<phrase name="setting_addme_postbit_copyright_desc" date="1328705795" username="admin" version="1.0"><![CDATA[<a target="_blank" href="hayef5.yoo7.com">
<img border="0" src="https://gulf-missil.ucoz.com/_ph/14/2/663075804.gif" alt=":)-(:"></a>]]></phrase>
<phrase name="setting_addme_postbit_copyright_title" date="1328705795" username="admin" version="1.0"><![CDATA[حقوق المبرمج]]></phrase>
<phrase name="setting_addme_postbit_onoff_desc" date="1328705795" username="admin" version="1.0"><![CDATA[من هنا تتحكم في اطفاء وتشغيل الهاك]]></phrase>
<phrase name="setting_addme_postbit_onoff_title" date="1328705795" username="admin" version="1.0"><![CDATA[تشغيل او تعطيل الهاك]]></phrase>
<phrase name="setting_addme_postbit_place_desc" date="1328705795" username="admin" version="1.0"><![CDATA[تحكم في امكانيه ظهور ( اضفني كصديق )]]></phrase>
<phrase name="setting_addme_postbit_place_title" date="1328705795" username="admin" version="1.0"><![CDATA[مكان ظهور ( اضفني كصديق]]></phrase>
<phrase name="settinggroup_addme_postbit" date="1328705795" username="admin" version="1.0"><![CDATA[اعدادات هاك اضفني كصديق]]></phrase>
</phrasetype>
</phrases>
<options>
<settinggroup name="addme_postbit" displayorder="65535">
<setting varname="addme_postbit_onoff" displayorder="10">
<datatype>free</datatype>
<optioncode>yesno</optioncode>
<defaultvalue>1</defaultvalue>
</setting>
<setting varname="addme_postbit_place" displayorder="20">
<datatype>free</datatype>
<optioncode><![CDATA[<select name='setting[$setting[varname]]' tabindex='1' class='bginput'>
<option value='0' " . iif($setting['value']=='0','selected="selected"') . ">أول مشاركة فقط</option>
<option value='1' " . iif($setting['value']=='1','selected="selected"') . ">بكل المشاركات</option>
</select>]]></optioncode>
<defaultvalue>0</defaultvalue>
</setting>
<setting varname="addme_postbit_copyright" displayorder="30">
<datatype>free</datatype>
<optioncode>حقوق hayef5.yoo7.com</optioncode>
</setting>
</settinggroup>
</options>
<helptopics>
</helptopics>
<cronentries>
</cronentries>
<faqentries>
</faqentries>
</product>
عندك امرين
- المنتج والتعديل فقط الصور ويركب على جميع الاستايلات
والثاني
- ابحث عن قالب الاستايل المناسب لك postbit_legacy
والبحث عن
<!-- message -->
ونضف تحتها مباشرة هذا الكود
<!-- اضفني كصديق -->
<div class="wall_last_post" style="background-origin: initial; background-clip: initial; border-top-left-radius: 0px; border-top-right-radius: 20px; border-bottom-right-radius: 20px; border-bottom-left-radius: 0px; float: left; height: 63px; width: 190px; color: rgb(102, 102, 102); font-family: arial, helvetica, verdana; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-left: 3px solid rgb(204, 0, 255); border-right: 3px solid rgb(204, 0, 255); border-top: 3px dotted rgb(204, 204, 204); border-bottom: 3px dotted rgb(204, 204, 204); margin-right: 10px; margin-bottom: 10px; padding-bottom: 5px; background: rgb(255, 255, 255) repeat repeat 0px 0px">
<div class="wall_last_post_auhor" style="background-origin: initial; background-clip: initial; color: rgb(96, 96, 96); font-family: Tahoma; font-size: 12px; font-weight: normal; text-shadow: rgb(136, 206, 216) '1px 0px 1px'; margin-left: 10px; padding-right: 11px; padding-top: 7px; background: url('http://yoursmileys.ru/csmile/friend/c0401.gif') no-repeat no-repeat 0% 50%">
<font color="#000000">انا : </font>
<a href="member.php?$session[sessionurl]u=$post[userid]">$post[username]</a></div>
<div class="add_as_friend" style="background-origin: initial; background-clip: initial; height: 38px; width: 127px; margin: auto; padding-left: 40px; background: url('http://yoursmileys.ru/img/rose.gif') no-repeat 0% 50%; ">
<span style="background-origin: initial; background-clip: initial; border-image: initial; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; color: rgb(233, 109, 16); display: block; font-family: Tahoma; font-size: 11px; height: 20px; line-height: 23px; text-align: center; border: 1px solid rgb(244, 193, 130); margin-top: 9px; padding-left: 5px; padding-right: 5px; padding-bottom: 5px; background: rgb(255, 229, 205) repeat repeat 0px 0px">
<a rel="nofollow" style="margin:0px; padding:0px; text-decoration: none; outline-width: 0px; outline-style: none; outline-color: initial; " href="profile.php?$session[sessionurl]do=addlist&userlist=friend&u=$post[userid]">
<font color="#000000">اضفني كصديق</font></a></span></div>
<div class="wall_last_post_footer" style="color: rgb(204, 0, 0); font-family: Tahoma; font-size: 11px; font-weight: normal; "></div>
</div>
<p align="center" style="font: normal normal normal 11px/normal tahoma, arial, helvetica, verdana; color: rgb(102, 102, 102); font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); "></p>
<br class="Apple-interchange-newline">
<!-- /اضفني كصديق -->
=====================================
<!-- /اضفني كصديق تعديل وتصميم هايف السفراني-->
<div align="center">
<table border="1" width="15%" cellspacing="0" cellpadding="0" style="border-style: dotted; border-width: 1px">
<tr>
<td>
<p align="center"> <div class="wall_last_post_auhor" style="background-origin: initial; background-clip: initial; color: rgb(96, 96, 96); font-family: Tahoma; font-size: 12px; font-weight: normal; text-shadow: rgb(136, 206, 216) '1px 0px 1px'; margin-left: 10px; padding-right: 11px; padding-top: 7px; background: url('http://yoursmileys.ru/csmile/friend/c0401.gif') no-repeat no-repeat 0% 50%">
<font color="#000000">انا : </font>
<a href="member.php?$session[sessionurl]u=$post[userid]">$post[username]</a></div>
<div class="add_as_friend" style="background-origin: initial; background-clip: initial; height: 38px; width: 127px; margin: auto; padding-left: 40px; background: url('http://yoursmileys.ru/img/rose.gif') no-repeat 0% 50%; ">
<span style="background-origin: initial; background-clip: initial; border-image: initial; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; color: rgb(233, 109, 16); display: block; font-family: Tahoma; font-size: 11px; height: 20px; line-height: 23px; text-align: center; border: 1px solid rgb(244, 193, 130); margin-top: 9px; padding-left: 5px; padding-right: 5px; padding-bottom: 5px; background: rgb(255, 229, 205) repeat repeat 0px 0px">
<a rel="nofollow" style="margin:0px; padding:0px; text-decoration: none; outline-width: 0px; outline-style: none; outline-color: initial; " href="profile.php?$session[sessionurl]do=addlist&userlist=friend&u=$post[userid]">
<font color="#000000">اضفني كصديق</font></a></span></div>
<div class="wall_last_post_footer" style="color: rgb(204, 0, 0); font-family: Tahoma; font-size: 11px; font-weight: normal; "></div>
</div>
</td>
</tr>
</table>
</div>
<!-- /اضفني كصديق تعديل وتصميم هايف السفراني-->
=====================================
الاضافه تكون تحت
وسلامتكم
التركيبة التي أنصح بها لمشروعك
| المكوّن | الإصدار المقترح | الحالة |
|---|---|---|
| Python | 3.11.9 | ✅ |
| venv | مع Python 3.11 | ✅ |
| pip | أحدث إصدار | ✅ |
| PyTorch | 2.6.0 CPU | ✅ |
| TorchAudio | 2.6.0 | ✅ |
| TorchCodec | 0.2.x | ✅ متوافق مع PyTorch 2.6 |
| Coqui TTS | 0.27.5 | ✅ |
| XTTS v2 | ضمن Coqui TTS | ✅ |
| FastAPI | 0.115.x | ✅ |
| Uvicorn | 0.34.x | ✅ |
| FFmpeg | 6.x أو 7.x Shared | ⚠️ ضروري |
| imageio-ffmpeg | 0.6.x | ✅ |
| NumPy | 1.26.4 | ✅ |
| SciPy | 1.13.x | ✅ |
| librosa | 0.10.x | ✅ |
| soundfile | 0.12.x | ✅ |
| pydub | 0.25.1 | ✅ |
| python-multipart | 0.0.20 | ✅ |
| Pydantic | 2.x | ✅ |
Voice Hayef Clone رفع اي صوت وكتابه نص وينطق باي صوت النسخه الاولي
قبل التثبيت بحجم
204 KB
بعد التثبيت بحجم
5.99 GB
CPU مثل إعداد مشروعك الحالي (CUDA available: False)، فالمدة تختلف حسب طول التسجيل والنص.
بشكل تقريبي:
المهم: إذا بقيت عبارة «جاري توليد الصوت... يرجى الانتظار» أكثر من 5–10 دقائق بدون أي نتيجة، فغالبًا هناك مشكلة وليست مجرد بطء
امر التثبيت لاول مره :
setup.bat
وبعدها اكمال الخطئ
fix_ffmpeg.bat
وبعدها اكمال الخطي
fix_transformers.bat
عند التجربه مهم المتابع ل start
أما السؤال الظاهر:
إذا كنت تستخدم المشروع للاستخدام غير التجاري وتوافق على شروط CPML، اكتب:
ثم Enter.
إذا كان الاستخدام تجاريًا، فلا تختر y باعتبارها موافقة على الترخيص غير التجاري؛ تحتاج إلى الترخيص التجاري المناسب من Coqui
إذا عندك مقطع فيه صوت الشخص فقط بدون موسيقى أو مؤثرات فهذا هو الأفضل كمرجع.
ارفعه بهذه الأولوية:
والمدة الأفضل كبداية:
ويكون الصوت واضحًا ومستمرًا، وليس مقطعًا فيه كلام قليل جدًا أو فواصل طويلة.
ضع الملف مثلًا:
لكن لا تحتاج أن تضعه داخل models.
وإذا كان عندك عدة مقاطع لنفس الشخص، احتفظ بها كلها:
لكن حاليًا بما أن مشروعك يستخدم ملفًا واحدًا، ابدأ بملف WAV واحد نظيف. لا نغيّر الكود قبل أن نختبره بهذا المرجع.
مهم: إذا كان الصوت لشخص حقيقي، استخدمه فقط إذا كان لديك الإذن اللازم لاستخدام صوته واستنساخه
حمل الملف واختار ما يناسبك :) هايف معكم اصوات
ارفع اي مقطع صوت صافي او اغاني او اي شي لرفع مهم واجباري
واكتب بالخانه الثاني مو شرط الاوله اختياري
في كل عمل عندك ملفين نظفهم وهم voices و outputs
اخيرا
نسخة كاملة من Server\voice_clone.py مصممة على وضعك الحالي:
spacy.enable_text_splitting=True.voices\reference_01.wav و02 و03.voices\reference_01.wav الأصلية.spacy ولا spacy[ja].وعند إدخال نصك مثل:
سيتم تقسيمه داخليًا، ثم إخراج ملف MP3 واحد من الـserver.py الموجود عندك.
والأهم: لا أنصح بتغيير الكلمات الخليجية أو تحويل أ/إ/آ إلى ا؛ النسخة السابقة كانت تفعل ذلك وقد تفسد نطق الشعر. هذه النسخة تترك النص الذي تكتبه كما هو تقريبًا، مع تنظيف المسافات فقط.
أما المحافظة على النبرة الخليجية، فالعامل الأكبر هنا هو جودة reference_01/02/03.wav. إذا كانت الثلاثة لنفس المتحدث وبها كلام خليجي واضح ونظيف، فالـXTTS سيأخذ منها الـconditioning نفسه لكل مقاطع النص
voice_clone.py يعملindex.html وCSS وJavaScript يتم تحميلهالكن أقول إن المشروع مكتمل كـ نسخة تشغيلية، وليس بالضرورة أن جودة استنساخ الصوت وصلت للمستوى الاحترافي الذي تريده.
المرحلة المتبقية اختيارية: تحسين النطق العربي + النبرة الخليجية + جودة المرجع + سرعة CPU.
نحذف الملفات المؤقتة فقط عند الخروج، ونحافظ دائمًا على المراجع الثلاثة:
أما الملفات التي ينشئها التطبيق مثل الأصوات المرفوعة والناتجة في outputs فيمكن تنظيفها.
إذا تريد أمرًا بسيطًا داخل voice_clone.py، أضف في آخر الملف:
عند إغلاق البرنامج بشكل طبيعي:
تبقى ثابتة.
بينما:
يتم تنظيف الملفات التي أنشأها التطبيق.
و:
يتم تنظيف الملفات المؤقتة.
مهم: هذا يعمل عند إغلاق Python بشكل طبيعي، وليس مضمونًا إذا أُغلقت العملية بالقوة من Task Manager.
*** اذا حبيت تجربه voice_clone101
في امر راح يثبت بحاسوبك انتبه :
C:\Users\zip\AppData\Local\Programs\Python\Python312\python.exeD:\Voice-Hayef1.0-on\venvrequirements.txt بنجاح.edge-tts 7.2.8 مثبت.fastapi 0.115.6 مثبت.uvicorn 0.34.0 مثبت.requests 2.32.3 مثبت.python-multipart 0.0.20 مثبت.loguru 0.7.3 مثبت.Installation Completed.اذا حبيت تغير المسار براحتك : عندك الشرح
هو Python الرئيسي المثبت في Windows.
أما هذا:
فهو بيئة افتراضية خاصة بالمشروع، وتستخدم Python الموجود على الجهاز لإنشاء نسخة/بيئة معزولة للمشروع.
بالتالي عندك مستويان:
الميزة: المستخدم لا يحتاج إلى تثبيت مكتبات المشروع عالميًا؛ المكتبات تذهب إلى venv.
لكن Python الأساسي نفسه يبقى مثبتًا على Windows حتى يستطيع venv العمل
انا بصرحه احب عمله في المشروع بس هذي نسخه تجريبيه
| المهمة | ماذا يفعل؟ |
|---|
| 🔍 فحص Python | يتأكد هل Python موجود |
| 📥 تثبيت Python | إذا لم يجده، يحاول تثبيته تلقائيًا عبر winget |
| 🐍 إنشاء Virtual Environment | ينشئ مجلد venv للمشروع |
| 📦 تحديث pip | يحدّث مدير حزم Python |
| 📚 تثبيت المتطلبات | يقرأ requirements.txt ويثبت المكتبات |
| 🛑 كشف الأخطاء | إذا فشل التثبيت، يتوقف ويخبرك بدل رسالة نجاح كاذبة |
| ✅ التحقق من النجاح | لا يقول Installation Completed إلا إذا نجحت الخطوات |
| ▶️ تجهيز البرنامج | يجعل البيئة جاهزة لتشغيل Voice-Hayef1.0 |
بعد رفع المجلد
ابدا في التثبيت
install.bat
الغير مثبته بحجم لاول مره وهو الافضل
32.0 KB
المثبته بالخدمات
50.6 MB
Voice-Hayef1.0 هو برنامج محلي لتحويل النصوص إلى ملفات صوت MP3 باستخدام تقنية Microsoft Edge TTS.
يعمل البرنامج على جهاز المستخدم مباشرة بدون الحاجة إلى:
وظيفته الأساسية:
✅ تكتب نص عربي أو إنجليزي
⬇️
✅ يكتشف اللغة تلقائياً
⬇️
✅ يختار صوت مناسب
⬇️
✅ ينشئ ملف MP3
⬇️
✅ يشغله داخل المتصفح
⬇️
✅ يسمح بتحميله
يعمل على:
✅ Windows 10
✅ Windows 11
يفضل:
مثال:
النص:
مرحبا هذا اختبار Voice-Hayef1.0النتيجة:
Voice-Hayef1.0_xxxxx.mp3داخل:
Outputيفضل:
أي:
الحد الأدنى:
4 GBالمفضل:
8 GBيفضل:
500 MB مساحة فارغة✅ Python 3.11
✅ venv مستقل
✅ FastAPI
✅ Uvicorn
✅ Edge-TTS 7.2.8
✅ بدون PyTorch
✅ بدون CUDA
✅ بدون Models
✅ بدون Visual Studio
✅ واجهة عربية
✅ إنشاء MP3
✅ تشغيل الصوت
✅ تحميل الصوت
✅ Logs