1. نظرة عامة
تسمح واجهة Google Cloud Text-to-Speech API (التجريبية) للمطوّرين بتضمين الكلام الاصطناعي الطبيعي في تطبيقاتهم. تعمل واجهة برمجة تطبيقات "تحويل النص إلى كلام" على تحويل إدخال النص أو لغة ترميز تركيب الكلام (SSML) إلى بيانات صوتية مثل MP3 أو LINEAR16 (الترميز المستخدم في ملفات WAV).
في هذا الدرس التطبيقي حول الترميز، ستركز على استخدام واجهة برمجة تطبيقات تحويل النص إلى كلام مع C#. ستتعلم كيفية إدراج الأصوات المتاحة وكذلك تجميع الصوت من النص.
المعلومات التي ستطّلع عليها
- كيفية استخدام Cloud Shell
- كيفية تفعيل واجهة برمجة تطبيقات "تحويل النص إلى كلام"
- طريقة مصادقة طلبات البيانات من واجهة برمجة التطبيقات
- كيفية تثبيت مكتبة برامج Google Cloud لـ C#
- كيفية إدراج الأصوات المتاحة
- كيفية دمج الصوت من النص
المتطلبات
استطلاع
كيف ستستخدم هذا البرنامج التعليمي؟
كيف تقيّم تجربتك مع C# ؟
ما هو تقييمك لتجربتك في استخدام خدمات Google Cloud Platform؟
2. الإعداد والمتطلبات
إعداد بيئة ذاتية
- سجِّل الدخول إلى Google Cloud Console وأنشئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. إذا لم يكن لديك حساب على Gmail أو Google Workspace، عليك إنشاء حساب.
- اسم المشروع هو الاسم المعروض للمشاركين في هذا المشروع. وهي سلسلة أحرف لا تستخدمها Google APIs. ويمكنك تعديلها في أي وقت.
- يكون رقم تعريف المشروع فريدًا في جميع مشاريع Google Cloud وغير قابل للتغيير (لا يمكن تغييره بعد تحديده). تنشئ Cloud Console سلسلة فريدة تلقائيًا. فعادةً لا تهتم بما هو. في معظم الدروس التطبيقية حول الترميز، يجب الإشارة إلى رقم تعريف المشروع (الذي يتم تحديده عادةً على أنّه
PROJECT_ID
). وإذا لم يعجبك رقم التعريف الذي تم إنشاؤه، يمكنك إنشاء رقم تعريف عشوائي آخر. ويمكنك بدلاً من ذلك تجربة طلبك الخاص ومعرفة ما إذا كان متاحًا. ولا يمكن تغييره بعد هذه الخطوة ويبقى طوال مدة المشروع. - لمعلوماتك، هناك قيمة ثالثة، وهي رقم المشروع، الذي تستخدمه بعض واجهات برمجة التطبيقات. اطّلِع على مزيد من المعلومات حول هذه القيم الثلاث في المستندات.
- بعد ذلك، عليك تفعيل الفوترة في Cloud Console لاستخدام الموارد/واجهات برمجة التطبيقات في Cloud. لن يؤدي إكمال هذا الدرس التطبيقي حول الترميز إلى فرض أي تكاليف، إن وُجدت. لإيقاف تشغيل الموارد لتجنب تحمُّل الفواتير إلى ما هو أبعد من هذا البرنامج التعليمي، يمكنك حذف الموارد التي أنشأتها أو حذف المشروع. يكون مستخدمو Google Cloud الجدد مؤهَّلون للانضمام إلى برنامج فترة تجريبية مجانية بقيمة 300 دولار أمريكي.
بدء Cloud Shell
مع أنّه يمكن إدارة Google Cloud عن بُعد من الكمبيوتر المحمول، ستستخدم في هذا الدرس التطبيقي Google Cloud Shell، وهي بيئة سطر أوامر يتم تشغيلها في السحابة الإلكترونية.
تفعيل Cloud Shell
- من Cloud Console، انقر على تفعيل Cloud Shell .
إذا كانت هذه هي المرة الأولى التي تبدأ فيها Cloud Shell، ستظهر لك شاشة وسيطة تصف ماهيتها. إذا ظهرت لك شاشة وسيطة، انقر على متابعة.
من المفترَض أن تستغرق عملية إدارة الحسابات والاتصال بخدمة Cloud Shell بضع دقائق فقط.
يتم تحميل هذا الجهاز الافتراضي مع جميع أدوات التطوير اللازمة. وتوفّر هذه الشبكة دليلاً رئيسيًا دائمًا بسعة 5 غيغابايت ويتم تشغيله في Google Cloud، ما يحسّن بشكل كبير من أداء الشبكة والمصادقة. يمكنك تنفيذ معظم عملك، إن لم يكن كلّه، في هذا الدرس التطبيقي حول الترميز باستخدام متصفّح.
بعد الربط بخدمة Cloud Shell، من المفترض أن تتأكّد من أنّه تمّت مصادقتك وأنّ المشروع مضبوط على رقم تعريف مشروعك.
- شغِّل الأمر التالي في Cloud Shell لتأكيد مصادقتك:
gcloud auth list
مخرجات الأمر
Credentialed Accounts ACTIVE ACCOUNT * <my_account>@<my_domain.com> To set the active account, run: $ gcloud config set account `ACCOUNT`
- شغّل الأمر التالي في Cloud Shell للتأكد من معرفة الأمر gcloud بمشروعك:
gcloud config list project
مخرجات الأمر
[core] project = <PROJECT_ID>
إذا لم يكن كذلك، يمكنك تعيينه من خلال هذا الأمر:
gcloud config set project <PROJECT_ID>
مخرجات الأمر
Updated property [core/project].
3- تفعيل واجهة برمجة تطبيقات "تحويل النص إلى كلام"
يجب تفعيل واجهة برمجة التطبيقات أولاً لتتمكّن من بدء استخدام ميزة "تحويل النص إلى كلام". يمكنك تفعيل واجهة برمجة التطبيقات باستخدام الأمر التالي في Cloud Shell:
gcloud services enable texttospeech.googleapis.com
4. تثبيت مكتبة برامج Google Cloud Text-to-Speech API لـ C#
أولاً، أنشئ تطبيق وحدة تحكم C# بسيط ستستخدمه لتشغيل نماذج واجهة برمجة التطبيقات الخاصة بتحويل النص إلى كلام:
dotnet new console -n TextToSpeechApiDemo
من المفترض أن يظهر لك التطبيق الذي تم إنشاؤه وتم حل التبعيات:
The template "Console Application" was created successfully.
Processing post-creation actions...
...
Restore succeeded.
بعد ذلك، انتقِل إلى مجلد واحد (TextToSpeechApiDemo
):
cd TextToSpeechApiDemo/
وإضافة حزمة NuGet Google.Cloud.TextToSpeech.V1
إلى المشروع:
dotnet add package Google.Cloud.TextToSpeech.V1
info : Adding PackageReference for package 'Google.Cloud.TextToSpeech.V1' into project '/home/atameldev/TextToSpeechDemo/TextToSpeechDemo.csproj'.
log : Restoring packages for /home/atameldev/TextToSpeechDemo/TextToSpeechDemo.csproj...
...
info : PackageReference for package 'Google.Cloud.TextToSpeech.V1' version '1.0.0-beta01' added to file '/home/atameldev/TextToSpeechDemo/TextToSpeechDemo.csproj'.
والآن، أنت جاهز لاستخدام واجهة برمجة تطبيقات تحويل النص إلى كلام.
5- إدراج الأصوات المتاحة
في هذا القسم، ستسرد أولاً جميع الأصوات المتاحة باللغة الإنجليزية لتركيب الصوت.
أولاً، افتح محرِّر الرموز من أعلى يسار Cloud Shell:
انتقِل إلى ملف Program.cs
داخل مجلد "TextToSpeechApiDemo
" واستبدِل الرمز بما يلي:
using Google.Cloud.TextToSpeech.V1;
using System;
namespace TextToSpeechApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = TextToSpeechClient.Create();
var response = client.ListVoices("en");
foreach (var voice in response.Voices)
{
Console.WriteLine($"{voice.Name} ({voice.SsmlGender}); Language codes: {string.Join(", ", voice.LanguageCodes)}");
}
}
}
}
خصِّص دقيقة أو دقيقتَين لدراسة الرمز البرمجي*.* مرة أخرى في Cloud Shell، شغِّل التطبيق:
dotnet run
من المفترض أن يظهر لك الناتج التالي:
en-US-Wavenet-D (Male); Language codes: en-US
en-AU-Wavenet-A (Female); Language codes: en-AU
en-AU-Wavenet-B (Male); Language codes: en-AU
en-AU-Wavenet-C (Female); Language codes: en-AU
en-AU-Wavenet-D (Male); Language codes: en-AU
en-GB-Wavenet-A (Female); Language codes: en-GB
en-GB-Wavenet-B (Male); Language codes: en-GB
en-GB-Wavenet-C (Female); Language codes: en-GB
...
en-GB-Standard-A (Female); Language codes: en-GB
en-GB-Standard-B (Male); Language codes: en-GB
en-AU-Standard-D (Male); Language codes: en-AU
ملخّص
في هذه الخطوة، تمكنت من إدراج جميع الأصوات المتاحة باللغة الإنجليزية لتركيب الصوت. يمكنك أيضًا العثور على القائمة الكاملة للأصوات المتوفّرة في صفحة الأصوات المتوافقة.
6- إنشاء صوت من النص
يمكنك استخدام واجهة برمجة تطبيقات "تحويل النص إلى كلام" لتحويل سلسلة إلى بيانات صوتية. يمكنك ضبط نتائج تجميع الكلام بعدة طرق، بما في ذلك اختيار صوت فريد أو تعديل المخرجات في درجة الصوت ومستوى الصوت وسرعة الكلام ومعدّل العيّنة.
لتجميع ملف صوتي من نص، انتقِل إلى ملف Program.cs
داخل مجلد TextToSpeechApiDemo
واستبدِل الرمز بما يلي:
using Google.Cloud.TextToSpeech.V1;
using System;
using System.IO;
namespace TextToSpeechApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = TextToSpeechClient.Create();
// The input to be synthesized, can be provided as text or SSML.
var input = new SynthesisInput
{
Text = "This is a demonstration of the Google Cloud Text-to-Speech API"
};
// Build the voice request.
var voiceSelection = new VoiceSelectionParams
{
LanguageCode = "en-US",
SsmlGender = SsmlVoiceGender.Female
};
// Specify the type of audio file.
var audioConfig = new AudioConfig
{
AudioEncoding = AudioEncoding.Mp3
};
// Perform the text-to-speech request.
var response = client.SynthesizeSpeech(input, voiceSelection, audioConfig);
// Write the response to the output file.
using (var output = File.Create("output.mp3"))
{
response.AudioContent.WriteTo(output);
}
Console.WriteLine("Audio content written to file \"output.mp3\"");
}
}
}
خصِّص دقيقة أو دقيقتَين لدراسة الرمز البرمجي والتعرّف على كيفية استخدامه لإنشاء ملف صوتي من نص*.*
مرة أخرى في Cloud Shell، شغِّل التطبيق:
dotnet run
من المفترض أن يظهر لك الناتج التالي:
Audio content written to file "output.mp3"
داخل أداة تعديل الرموز، يمكنك تنزيل ملف mp3 وتشغيله على جهازك.
ملخّص
في هذه الخطوة، تمكنت من استخدام واجهة برمجة تطبيقات "تحويل النص إلى كلام" لتحويل سلسلة إلى ملف صوت بتنسيق mp3. يمكنك قراءة المزيد عن إنشاء ملفات صوتية صوتية.
7. تهانينا
لقد تعلمت كيفية استخدام واجهة برمجة تطبيقات "تحويل النص إلى كلام" باستخدام C# لإجراء أنواع مختلفة من تحويل الصوت إلى نص في الملفات الصوتية!
تَنظيم
لتجنُّب تحمُّل الرسوم المفروضة على حسابك على Google Cloud Platform مقابل الموارد المستخدَمة في عملية البدء السريع هذه:
- انتقِل إلى وحدة تحكُّم Cloud Platform.
- اختَر المشروع الذي تريد إيقافه، ثم انقر على "حذف". في الجزء العلوي: يؤدي هذا إلى تحديد موعد المشروع للحذف.
مزيد من المعلومات
- واجهة برمجة تطبيقات تحويل النص إلى كلام في Google Cloud: https://cloud.google.com/text-to-speech/docs
- C#/.NET على Google Cloud Platform: https://cloud.google.com/dotnet/
- برنامج Google Cloud .NET: https://googlecloudplatform.github.io/google-cloud-dotnet/
الترخيص
هذا العمل مرخّص بموجب رخصة المشاع الإبداعي 2.0 مع نسب العمل إلى مؤلف عام.