في نسخة بيتا من تيليجرام لنظام macOS، تمت إضافة ميزة تصحيح النص المُمْلى بواسطة محرر الذكاء الاصطناعي إلى ميزة الإملاء الصوتي — وهي كتابة الرسائل صوتيًا مباشرة في حقل الإدخال. في البنية رقم 13.1.0.283431 الصادرة في 1 نوفمبر، تتوفر زر "Enhance" مع خيارات "Fix Grammar" و"Enhance Style" و"AI Editor…"، بالإضافة إلى مفتاح تبديل للترقيم التلقائي وإعداد يحدد وظيفة ⌘R في حقل الإدخال: هل هي للإملاء الصوتي أم لتسجيل رسالة صوتية. الإملاء الصوتي نفسه موجود في الكود المفتوح للعميل، ولكنه مفعّل هناك فقط في البنيات المخصصة للتصحيح (debug builds)، بينما تصحيحات الذكاء الاصطناعي غير موجودة إطلاقًا في الكود المفتوح. هذا يخص المستخدمين الذين يكتبون من أجهزة Mac. في الكود المفتوح، يتعرف على الكلام مُتعرّف Apple المدمج، بينما في نسخة البيتا، ظهر مسار احتياطي عبر خوادم تيليجرام — مع حد مجاني، وبعد تجاوزه يتطلب اشتراك Premium.

ما الجديد في نسخة البيتا

تم تصميم الإملاء الصوتي في عميل macOS كامتداد لتسجيل الرسائل الصوتية: بالضغط على زر التسجيل وعدم إفلات الماوس ثم السحب إلى اليسار — تظهر التلميحة في الأسفل هكذا: "← Swipe to dictate". يجب أن يكون السحب إلى اليسار أكبر من السحب إلى الأعلى، وإلا فسيتم تثبيت التسجيل ببساطة. بدلًا من رسالة صوتية، يتحول الكلام إلى نص، ويتم حذف التسجيل نفسه. أثناء التعرف على الكلام، يظهر في الأسفل "Transcribing. Click anywhere to stop."؛ ويُعرض النص الجاهز في الكود المفتوح في لوحة منفصلة، حيث يمكن إرساله فورًا أو إضافته إلى نهاية حقل الإدخال وتعديله. يمكن اختيار اللغة يدويًا أو تركها "Automatic". عن الإملاء الصوتي في بيتا 283318 كُتب في 15 أكتوبر؛ وفي Android، تم عرض نفس ميزة النسخ قبل الإرسال ثم إزالتها.

الجديد في نسخ البيتا منذ 24 أكتوبر (البنية 283377) هو تصحيح النص المُمْلى. هذه هي السلاسل النصية في البنية 283431:

السلسلة النصيةالوصف
«Enhance»زر يظهر مع النص المُمْلى؛ تلميحته هي «Fix punctuation and grammar in the dictated text»
«Fix Grammar»تصحيح علامات الترقيم والقواعد النحوية
«Enhance Style»إعادة صياغة النص بأحد الأنماط
«AI Editor…»فتح محرر الذكاء الاصطناعي الكامل
«Enhancing…»النص قيد المعالجة
«Automatic Punctuation»مفتاح تبديل للترقيم التلقائي
«What ⌘R does in the message field. Automatic dictates when the field has text and records a message when it is empty.»إعداد ⌘R: في وضع «Automatic»، يقوم هذا الاختصار بالإملاء إذا كان الحقل يحتوي على نص، ويسجل رسالة صوتية إذا كان الحقل فارغًا
«The language you speak while dictating. Automatic uses this chat's language and your system languages.»لغة الإملاء: «Automatic» يستخدم لغة الدردشة ولغات نظامك

يقوم العميل بحفظ النمط المختار (kChatDictationEnhanceStyle). بناءً على خيار "AI Editor…"، يبدو أن هذه هي نفس الأنماط المتوفرة في محرر الذكاء الاصطناعي في حقل الإدخال، والذي أطلقه تيليجرام في أبريل: تصحيح القواعد النحوية، الترجمة، وإعادة الصياغة بأنماط "Formal" و"Short" و"Zen" و"Corp" وغيرها. يشير الوصف في المنشور الرسمي إلى أن وظائف الذكاء الاصطناعي تعمل على شبكة Cocoon.

لا يمكن تحديد ما إذا كان الزر مرئيًا حاليًا بناءً على البنية. في الكود المفتوح، يتم تعطيل الإملاء الصوتي في بنيات البيتا والإصدارات النهائية بشرط التجميع ويعمل فقط في بنيات التصحيح؛ ولا يتضح من الملف الثنائي ما إذا كان مفعّلًا في 283431، على الرغم من وجود السلاسل النصية والفئات.

ماذا تفعل

  • أين تبحث. تأتي نسخة البيتا كتحديث تلقائي لنسخة بيتا تيليجرام لنظام macOS؛ قائمة البنيات موجودة في موجز التحديثات. في الإصدار الثابت 13.1.0 (283357) الصادر في 20 أكتوبر، محرك الإملاء الصوتي موجود بالفعل، ولكن لا توجد سلاسل "Enhance" أو "Automatic Punctuation" أو إعدادات ⌘R، وتلميحة التسجيل هي "← Swipe to transcribe".
  • منح الإذن. يتطلب الإملاء الصوتي إذنَيْن من macOS: "System Settings" → "Privacy & Security" → "Microphone" وفي نفس المكان "Speech Recognition". بدون الإذن الثاني، يعرض العميل "Telegram needs Speech Recognition access to turn your voice into text".
  • التحقق من اللغة. إذا لم يكن أي من لغات النظام مدعومًا من قبل مُتعرّف Apple، يرد الإملاء الصوتي بـ "Dictation is not available for your current input language." يمكن اختيار اللغة يدويًا بدلًا من "Automatic".
  • تذكر ⌘R. حاليًا، يبدأ ⌘R في تيليجرام لنظام macOS تسجيل رسالة صوتية أو فيديو؛ في نسخة البيتا، سيظهر خيار لهذا الاختصار، وفي وضع "Automatic" إذا كان الحقل غير فارغ، سيبدأ الإملاء الصوتي بدلًا من التسجيل.

كيف يتم التعرف على الكلام

التعرف على الكلام في الكود المفتوح يتم بالكامل على جانب Apple. على نظام macOS 26، يستخدم العميل محرك SpeechAnalyzer الجديد إذا كان نموذج اللغة مثبتًا بالفعل؛ وإذا لم يكن كذلك، يبدأ تحميله في الخلفية، ويُحيل هذا الإملاء إلى SFSpeechRecognizer السابق. على الأنظمة الأقدم، يعمل SFSpeechRecognizer فقط. يُصنّف الطلب كإملاء صوتي، وإذا كان هناك نموذج للغة على الجهاز، يطلب العميل التعرف على الكلام على Mac فقط؛ وعلى نظام macOS 13 والإصدارات الأحدث، يقوم المُتعرّف نفسه بوضع علامات الترقيم.

في وضع "Automatic"، لا يتم تخمين اللغة مسبقًا: يختار العميل ما يصل إلى لغتين من لغات النظام يعرفهما مُتعرّف Apple، ويشغلهما معًا على نفس الصوت؛ اللغة الثانية تُشغل فقط إذا كان نموذجها يعمل بدون اتصال بالشبكة. تُحسب لكل مرشح درجة — نصف استقرار النص بين التحديثات، ونصف ثقة المُتعرّف، بالإضافة إلى أفضلية صغيرة للغة الأولى. بعد 1.5 ثانية من الكلمات الأولى التي تم التعرف عليها، يفوز المرشح الذي يتفوق على الثاني بـ 0.12، وبعد 3 ثوانٍ — يفوز المتصدر في أي حال؛ يتوقف الخاسر، ويستمر الصوت للمرشح الفائز. في نسخة البيتا، تمت إضافة لغة الدردشة نفسها إلى هذه القائمة.

في الدردشات السرية، يشغل الكود المفتوح فقط المُتعرّفات التي تعمل على الجهاز. إذا لم يكن هناك نموذج كهذا للغة، فلن يبدأ الإملاء الصوتي في الدردشة السرية. في الدردشة العادية، يمكن التعرف على اللغة الأولى حتى بدون نموذج محلي — في هذه الحالة، يذهب التسجيل إلى خوادم Apple، كما هو الحال مع الإملاء الصوتي للنظام في macOS.

المسار الاحتياطي عبر خوادم تيليجرام

في نسخة البيتا، تمت إضافة النسخ من خوادم تيليجرام نفسها إلى هذا. في سجل العميل، توجد سلاسل "server fallback selected" و"nativeAvailable"، وفي الملف الثنائي — توجد طريقة messages.transcribeAudioFile: تقبل ملفًا صوتيًا تم تحميله، وليس رسالة، وتُرجع النص كاستجابة نسخ عادية أو لاحقًا، كتحديث updateTranscribedAudioFile. الطريقة السابقة messages.transcribeAudio تقوم بنسخ الرسائل الصوتية الموجودة بالفعل في الدردشة فقط — بينما التسجيل غير المرسل لا يحتوي على رقم رسالة. الطريقة الجديدة والتحديث موجودان في مخطط API، الذي تم استخراجه من نسخ بيتا macOS، ولكنه غير موجود في الوثائق المنشورة.

تظهر القيود من نصوص الأخطاء في نسخة البيتا: لا يتم نسخ التسجيلات التي تزيد مدتها عن 30 دقيقة أو حجمها عن 1 ميجابايت، وبعد استخدام النسخ المجانية يظهر "Your free transcriptions have been used. Telegram Premium is required to transcribe more audio." في الإصدار الثابت 13.1.0، لا توجد هذه الطريقة ولا هذه السلاسل النصية. لا يتضح من البنية كيف تختار نسخة البيتا بين Apple وخادم تيليجرام وماذا تفعل في الدردشات السرية.

كيف تم التحقق

  • الكود المفتوح للعميل: محرك الإملاء الصوتي (اختيار اللغات، التقييم، عتبات 1.5 و 3 ثوانٍ، requiresOnDeviceRecognition) ووحدة التحكم، حيث تُرجع دالة isSupported "نعم" فقط في بنيات التصحيح وتتطلب التعرف على الجهاز في الدردشات السرية. كلا الملفين وصلا إلى الكود المفتوح بدمج فرع الإصدار 13.1 في 23 أكتوبر.
  • الملفات الثنائية من موجزات التحديثات: بيتا 283431 والإصدار الثابت 283357. فئات ChatDictationEnhancer وChatDictationEnhanceView، ومفاتيح kChatDictationAutomaticPunctuation وkChatDictationShortcut، والسلاسل النصية من الجدول موجودة فقط في نسخة البيتا؛ في الإصدار الثابت، يوجد المحرك (ChatDictationSession، ChatDictationAnalyzerRecognizer) وثماني سلاسل نصية للإملاء الصوتي، ولكن لا يوجد تصحيح. في ملف سلاسل الكود المفتوح، لا توجد أيضًا خيارات "Enhance".
  • الجزء الخادم — سلاسل الملف الثنائي 283431: AudioFileTranscription، "upload complete, calling transcribeAudioFile"، updateTranscribedAudioFile ونصوص الأخطاء؛ لا توجد في 283357.
  • أول ظهور لـ ChatDictationEnhancer — فرق الملف الثنائي لبيتا 283377، في 24 أكتوبر.