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

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

Google Cloud की Text-to-Speech API (बीटा वर्शन) की मदद से डेवलपर, अपने ऐप्लिकेशन में आम बोलचाल वाली भाषा में बोली गई सिंथेटिक आवाज़ को ऑडियो के तौर पर शामिल कर सकते हैं. Text-to-Speech API, टेक्स्ट या Speech Synthesis Markup Language (SSML) इनपुट को ऑडियो डेटा में बदलता है. जैसे, 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 खाता नहीं है, तो आपको एक खाता बनाना होगा.

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

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

Cloud Shell शुरू करें

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

Cloud Shell चालू करें

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

cb81e7c8e34bc8d.png

अगर आपने Cloud Shell को पहली बार शुरू किया है, तो आपको एक इंटरमीडिएट स्क्रीन दिखेगी. इसमें Cloud Shell के बारे में जानकारी दी गई होगी. अगर आपको इंटरमीडिएट स्क्रीन दिखती है, तो जारी रखें पर क्लिक करें.

d95252b003979716.png

Cloud Shell से कनेक्ट होने में कुछ ही सेकंड लगेंगे.

7833d5e1c5d18f54.png

इस वर्चुअल मशीन में, डेवलपमेंट के लिए ज़रूरी सभी टूल पहले से मौजूद हैं. यह 5 जीबी की होम डायरेक्ट्री उपलब्ध कराता है, जो हमेशा बनी रहती है. साथ ही, यह 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. यह पुष्टि करने के लिए कि gcloud कमांड को आपके प्रोजेक्ट के बारे में पता है, Cloud Shell में यह कमांड चलाएं:
gcloud config list project

कमांड आउटपुट

[core]
project = <PROJECT_ID>

अगर ऐसा नहीं है, तो इस कमांड का इस्तेमाल करके इसे सेट किया जा सकता है:

gcloud config set project <PROJECT_ID>

कमांड आउटपुट

Updated property [core/project].

3. Text-to-Speech API चालू करना

Text-to-Speech API का इस्तेमाल शुरू करने से पहले, आपको इसे चालू करना होगा. 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'.

अब, आपके पास Text-to-Speech API का इस्तेमाल करने का विकल्प है!

5. उपलब्ध आवाज़ों की सूची बनाना

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

सबसे पहले, Cloud Shell में सबसे ऊपर दाईं ओर मौजूद कोड एडिटर खोलें:

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

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

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

a4b9578505422dad.png

खास जानकारी

इस चरण में, आपने Text-to-Speech API का इस्तेमाल करके, किसी स्ट्रिंग को ऑडियो mp3 फ़ाइल में बदला. आवाज़ वाली ऑडियो फ़ाइलें बनाने के बारे में ज़्यादा जानें.

7. बधाई हो!

आपने C# का इस्तेमाल करके, Text-to-Speech API को इस्तेमाल करने का तरीका सीखा. इससे ऑडियो फ़ाइलों को अलग-अलग तरह से ट्रांसक्राइब किया जा सकता है!

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

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

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

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

लाइसेंस

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