C# के साथ लिखाई को बोली में बदलने की सुविधा का इस्तेमाल करना

1. खास जानकारी

Google Cloud Text-to-Speech API (बीटा वर्शन) की मदद से डेवलपर, अपने ऐप्लिकेशन में आम बोलचाल की भाषा में इस्तेमाल की जाने वाली एआई से जनरेट की हुई आवाज़ को, ऑडियो के तौर पर अपने ऐप्लिकेशन में शामिल कर सकते हैं. Text-to-Speech API, टेक्स्ट या स्पीच सिंथेसिस मार्कअप लैंग्वेज (एसएसएमएल) इनपुट को MP3 या LINEAR16 (WAV फ़ाइलों में इस्तेमाल की जाने वाली एन्कोडिंग) जैसे ऑडियो डेटा में बदलता है.

इस कोडलैब में, C# के साथ Text-to-Speech API के इस्तेमाल पर ध्यान दिया जाएगा. इस लेख में, उपलब्ध आवाज़ों की सूची बनाने और टेक्स्ट को ऑडियो में शामिल करने का तरीका भी बताया गया है.

आपको इनके बारे में जानकारी मिलेगी

  • Cloud Shell का इस्तेमाल कैसे करें
  • लिखाई को बोली में बदलने वाले एपीआई को चालू करने का तरीका
  • एपीआई अनुरोधों की पुष्टि करने का तरीका
  • C# के लिए Google Cloud क्लाइंट लाइब्रेरी इंस्टॉल करने का तरीका
  • उपलब्ध आवाज़ों की सूची कैसे बनाएं
  • टेक्स्ट से ऑडियो सिंथेसाइज़ करने का तरीका

आपको इन चीज़ों की ज़रूरत होगी

  • Google Cloud Platform प्रोजेक्ट
  • ब्राउज़र, जैसे कि Chrome या Firefox
  • C# का इस्तेमाल करना कितना आसान है

सर्वे

इस ट्यूटोरियल का इस्तेमाल कैसे किया जाएगा?

इसे सिर्फ़ पढ़ें इसे पढ़ें और कसरतों को पूरा करें

C# का इस्तेमाल करने का आपका अनुभव कैसा रहा?

शुरुआती इंटरमीडिएट कुशल

Google Cloud Platform की सेवाएं इस्तेमाल करने का आपका अनुभव कैसा रहा?

शुरुआती इंटरमीडिएट कुशल

2. सेटअप और ज़रूरी शर्तें

अपने हिसाब से एनवायरमेंट सेटअप करना

  1. Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से Gmail या Google Workspace खाता नहीं है, तो आपको नया खाता बनाना होगा.

295004821बाबा6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों का डिसप्ले नेम होता है. यह एक वर्ण स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करता. इसे कभी भी अपडेट किया जा सकता है.
  • प्रोजेक्ट आईडी, Google Cloud के सभी प्रोजेक्ट के लिए यूनीक होता है. साथ ही, इसे बदला नहीं जा सकता. इसे सेट करने के बाद बदला नहीं जा सकता. Cloud Console, एक यूनीक स्ट्रिंग अपने-आप जनरेट करता है; आम तौर पर, आपको उसके होने की कोई परवाह नहीं होती. ज़्यादातर कोडलैब में, आपको अपना प्रोजेक्ट आईडी बताना होगा. आम तौर पर, इसकी पहचान PROJECT_ID के रूप में की जाती है. अगर आपको जनरेट किया गया आईडी पसंद नहीं है, तो किसी भी क्रम में एक और आईडी जनरेट किया जा सकता है. दूसरा तरीका यह है कि आप खुद भी आज़माकर देखें कि वह उपलब्ध है या नहीं. इस चरण के बाद, इसे बदला नहीं जा सकता. साथ ही, यह प्रोजेक्ट के खत्म होने तक बना रहता है.
  • आपकी जानकारी के लिए, प्रोजेक्ट नंबर नाम की एक तीसरी वैल्यू दी गई है. इसका इस्तेमाल कुछ एपीआई करते हैं. दस्तावेज़ में इन तीनों वैल्यू के बारे में ज़्यादा जानें.
  1. इसके बाद, आपको क्लाउड संसाधनों/एपीआई का इस्तेमाल करने के लिए, Cloud Console में बिलिंग चालू करनी होगी. इस कोडलैब का इस्तेमाल करने पर, आपको ज़्यादा पैसे नहीं चुकाने होंगे. इस ट्यूटोरियल के अलावा, बिलिंग से बचने के लिए संसाधनों को बंद करें. इसके लिए, अपने बनाए गए संसाधनों को मिटाएं या प्रोजेक्ट को मिटाएं. Google Cloud के नए उपयोगकर्ता, 300 डॉलर के मुफ़्त ट्रायल वाले प्रोग्राम में हिस्सा ले सकते हैं.

Cloud Shell शुरू करना

Google Cloud को आपके लैपटॉप से, कहीं से भी ऑपरेट किया जा सकता है. हालांकि, इस कोडलैब में Google Cloud Shell का इस्तेमाल किया जा रहा है. यह क्लाउड में चलने वाला कमांड लाइन एनवायरमेंट है.

Cloud Shell चालू करें

  1. Cloud Console में, Cloud Shell चालू करें d1264ca30785e435.png पर क्लिक करें.

cb81e7c8e34bc8d.png

अगर आपने Cloud Shell का इस्तेमाल पहली बार किया है, तो आपको बीच में आने वाली स्क्रीन दिखेगी. इसमें यह बताया जाएगा कि यह क्या है. अगर आपको बीच के लेवल पर मिलने वाली स्क्रीन दिखती है, तो जारी रखें पर क्लिक करें.

d95252b003979716.png

प्रावधान करने और Cloud Shell से कनेक्ट होने में कुछ ही समय लगेगा.

7833d5e1c5d18f54.png

इस वर्चुअल मशीन में डेवलपमेंट के सभी ज़रूरी टूल मौजूद हैं. इसमें लगातार पांच जीबी की होम डायरेक्ट्री मिलती है और यह Google Cloud में काम करती है. यह नेटवर्क की परफ़ॉर्मेंस और ऑथेंटिकेशन को बेहतर बनाने में मदद करती है. अगर सभी नहीं, तो इस कोडलैब में आपका बहुत सारा काम ब्राउज़र से किया जा सकता है.

Cloud Shell से कनेक्ट करने के बाद, आपको दिखेगा कि आपकी पुष्टि हो चुकी है और प्रोजेक्ट आपके प्रोजेक्ट आईडी पर सेट है.

  1. यह पुष्टि करने के लिए 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`
  1. 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. C# के लिए, Google Cloud Text-to-Speech API की क्लाइंट लाइब्रेरी इंस्टॉल करें

सबसे पहले, एक आसान C# कंसोल ऐप्लिकेशन बनाएं, जिसका इस्तेमाल आप Text-to-Speech API के सैंपल चलाने के लिए करेंगे:

dotnet new console -n TextToSpeechApiDemo

आपको बनाया गया ऐप्लिकेशन और डिपेंडेंसी हल की गई देखनी चाहिए:

The template "Console Application" was created successfully.
Processing post-creation actions...
...
Restore succeeded.

इसके बाद, TextToSpeechApiDemo फ़ोल्डर पर जाएं:

cd TextToSpeechApiDemo/

और प्रोजेक्ट में Google.Cloud.TextToSpeech.V1 NuGet पैकेज जोड़ें:

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. उपलब्ध आवाज़ों की सूची बनाएं

इस सेक्शन में, ऑडियो सिंथेसिस के लिए सभी उपलब्ध आवाज़ों की सूची अंग्रेज़ी में दी जाएगी.

सबसे पहले, क्लाउड शेल के सबसे ऊपर दाईं ओर से कोड एडिटर खोलें:

fd3fc1303e63572.png

TextToSpeechApiDemo फ़ोल्डर में मौजूद Program.cs फ़ाइल पर जाएं और कोड को इनसे बदलें:

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. टेक्स्ट से ऑडियो को सिंथेसाइज़ करें

किसी स्ट्रिंग को ऑडियो डेटा में बदलने के लिए, लिखाई को बोली में बदलने वाले एपीआई का इस्तेमाल किया जा सकता है. स्पीच सिंथेसिस के आउटपुट को कई तरीकों से कॉन्फ़िगर किया जा सकता है. इनमें यूनीक आवाज़ चुनना या पिच, आवाज़, बोलने की दर, और सैंपल रेट में आउटपुट में बदलाव करना शामिल है.

टेक्स्ट से ऑडियो फ़ाइल सिंथेसाइज़ करने के लिए, TextToSpeechApiDemo फ़ोल्डर में Program.cs फ़ाइल पर जाएं और कोड को इनसे बदलें:

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 फ़ाइल डाउनलोड करके उसे अपने कंप्यूटर पर चलाया जा सकता है.

a4b9578505422dad.png

खास जानकारी

इस चरण में, किसी स्ट्रिंग को ऑडियो mp3 फ़ाइल में बदलने के लिए, लिखाई को बोली में बदलने की सुविधा वाले एपीआई का इस्तेमाल किया जा सका. आवाज़ वाली ऑडियो फ़ाइलें बनाने के बारे में और पढ़ें.

7. बधाई हो!

आपने सीखा कि ऑडियो फ़ाइलों पर अलग-अलग तरह के ट्रांसक्रिप्शन करने के लिए, C# का इस्तेमाल करके लिखाई को बोली में बदलने की सुविधा का इस्तेमाल कैसे करते हैं!

व्यवस्थित करें

इस क्विकस्टार्ट में इस्तेमाल किए गए संसाधनों के लिए, आपके Google Cloud Platform खाते पर लगने वाले शुल्क से बचने के लिए:

  • Cloud Platform कंसोल पर जाएं.
  • वह प्रोजेक्ट चुनें जिसे शट डाउन करना है. इसके बाद, ‘मिटाएं' पर क्लिक करें सबसे ऊपर: यह प्रोजेक्ट को मिटाने के लिए शेड्यूल करता है.

ज़्यादा जानें

लाइसेंस

इस काम को क्रिएटिव कॉमंस एट्रिब्यूशन 2.0 जेनरिक लाइसेंस के तहत लाइसेंस मिला है.