Mulai cepat: Mengenali dan menerjemahkan ucapan ke teks
Paket dokumentasi | referensi (NuGet) | Sampel tambahan di GitHub
Di mulai cepat ini, Anda menjalankan aplikasi untuk menerjemahkan ucapan dari satu bahasa ke teks dalam bahasa lain.
Prasyarat
- Langganan Azure. Anda dapat membuatnya secara gratis.
- Buat sumber daya Ucapan di portal Azure.
- Dapatkan kunci dan wilayah sumber daya Ucapan. Setelah sumber daya Azure Cognitive Service untuk Ucapan Anda disebarkan, pilih Buka sumber daya untuk melihat dan mengelola kunci.
Menyiapkan lingkungan
Speech SDK tersedia sebagai paket NuGet dan menerapkan .NET Standar 2.0. Anda menginstal Speech SDK nanti dalam panduan ini, tetapi pertama-tama periksa panduan penginstalan SDK untuk persyaratan lainnya.
Atur variabel lingkungan
Anda perlu mengautentikasi aplikasi Anda untuk mengakses layanan Azure AI. Artikel ini memperlihatkan kepada Anda cara menggunakan variabel lingkungan untuk menyimpan kredensial Anda. Anda kemudian dapat mengakses variabel lingkungan dari kode Anda untuk mengautentikasi aplikasi Anda. Untuk produksi, gunakan cara yang lebih aman untuk menyimpan dan mengakses kredensial Anda.
Penting
Kami merekomendasikan autentikasi ID Microsoft Entra dengan identitas terkelola untuk sumber daya Azure untuk menghindari penyimpanan kredensial dengan aplikasi Anda yang berjalan di cloud.
Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.
Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.
Untuk mengatur variabel lingkungan untuk kunci dan wilayah sumber daya Ucapan Anda, buka jendela konsol, dan ikuti instruksi untuk sistem operasi dan lingkungan pengembangan Anda.
- Untuk mengatur
SPEECH_KEY
variabel lingkungan, ganti kunci Anda dengan salah satu kunci untuk sumber daya Anda. - Untuk mengatur
SPEECH_REGION
variabel lingkungan, ganti wilayah Anda dengan salah satu wilayah untuk sumber daya Anda.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Catatan
Jika Anda hanya perlu mengakses variabel lingkungan di konsol saat ini, Anda dapat mengatur variabel lingkungan dengan set
alih-alih setx
.
Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program apa pun yang perlu membaca variabel lingkungan, termasuk jendela konsol. Misalnya, jika Anda menggunakan Visual Studio sebagai editor, mulai ulang Visual Studio sebelum Menjalankan contoh.
Menerjemahkan ucapan dari mikrofon
Ikuti langkah-langkah ini untuk membuat aplikasi konsol baru dan memasang Speech SDK.
Buka perintah di mana Anda menginginkan proyek baru, dan buat aplikasi konsol dengan .NET CLI. File
Program.cs
harus dibuat di direktori proyek.dotnet new console
Pasang Speech SDK di proyek baru Anda dengan .NET CLI.
dotnet add package Microsoft.CognitiveServices.Speech
Ganti isi
Program.cs
dengan kode berikut.using System; using System.IO; using System.Threading.Tasks; using Microsoft.CognitiveServices.Speech; using Microsoft.CognitiveServices.Speech.Audio; using Microsoft.CognitiveServices.Speech.Translation; class Program { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY"); static string speechRegion = Environment.GetEnvironmentVariable("SPEECH_REGION"); static void OutputSpeechRecognitionResult(TranslationRecognitionResult translationRecognitionResult) { switch (translationRecognitionResult.Reason) { case ResultReason.TranslatedSpeech: Console.WriteLine($"RECOGNIZED: Text={translationRecognitionResult.Text}"); foreach (var element in translationRecognitionResult.Translations) { Console.WriteLine($"TRANSLATED into '{element.Key}': {element.Value}"); } break; case ResultReason.NoMatch: Console.WriteLine($"NOMATCH: Speech could not be recognized."); break; case ResultReason.Canceled: var cancellation = CancellationDetails.FromResult(translationRecognitionResult); Console.WriteLine($"CANCELED: Reason={cancellation.Reason}"); if (cancellation.Reason == CancellationReason.Error) { Console.WriteLine($"CANCELED: ErrorCode={cancellation.ErrorCode}"); Console.WriteLine($"CANCELED: ErrorDetails={cancellation.ErrorDetails}"); Console.WriteLine($"CANCELED: Did you set the speech resource key and region values?"); } break; } } async static Task Main(string[] args) { var speechTranslationConfig = SpeechTranslationConfig.FromSubscription(speechKey, speechRegion); speechTranslationConfig.SpeechRecognitionLanguage = "en-US"; speechTranslationConfig.AddTargetLanguage("it"); using var audioConfig = AudioConfig.FromDefaultMicrophoneInput(); using var translationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig); Console.WriteLine("Speak into your microphone."); var translationRecognitionResult = await translationRecognizer.RecognizeOnceAsync(); OutputSpeechRecognitionResult(translationRecognitionResult); } }
Untuk mengubah bahasa pengenalan ucapan, ganti
en-US
dengan bahasa lain yang didukung. Tentukan lokal lengkap dengan pemisah tanda hubung (-
). Misalnya,es-ES
untuk Spanyol (Spanyol). Bahasa default adalahen-US
jika Anda tidak menentukan bahasa. Untuk detail tentang cara mengidentifikasi salah satu dari beberapa bahasa yang mungkin diucapkan, lihat identifikasi bahasa.Untuk mengubah bahasa target penerjemahan, ganti
it
dengan bahasa lain yang didukung. Dengan beberapa pengecualian, Anda hanya menentukan kode bahasa yang mendahului pemisah tanda hubung (-
) lokal. Misalnya, gunakanes
untuk Bahasa Spanyol (Spanyol) alih-alihes-ES
. Bahasa default adalahen
jika Anda tidak menentukan bahasa.
Jalankan aplikasi konsol baru Anda untuk memulai pengenalan ucapan dari mikrofon:
dotnet run
Bicaralah ke mikrofon Saat diminta. Apa yang Anda utarakan harus ditampilkan sebagai teks yang telah diterjemahkan dalam bahasa target:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
TRANSLATED into 'it': Sono entusiasta di provare la traduzione vocale.
Keterangan
Sekarang setelah Anda menyelesaikan mulai cepat, berikut beberapa pertimbangan tambahan:
- Contoh ini menggunakan operasi
RecognizeOnceAsync
untuk mentranskripsikan ucapan hingga 30 detik, atau sampai keheningan terdeteksi. Untuk informasi tentang pengenalan berkelanjutan untuk audio yang lebih panjang, termasuk percakapan multibahasa, lihat Cara menerjemahkan ucapan. - Untuk mengenali ucapan dari file audio, gunakan
FromWavFileInput
alih-alihFromDefaultMicrophoneInput
:using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
- Untuk file audio terkompresi seperti MP4, instal GStreamer dan gunakan
PullAudioInputStream
atauPushAudioInputStream
. Untuk informasi selengkapnya, lihat Cara menggunakan audio input yang terkompresi.
Membersihkan sumber daya
Anda dapat menggunakan portal Azure atau Azure Command Line Interface (CLI) untuk menghapus sumber daya Ucapan yang Anda buat.
Paket dokumentasi | referensi (NuGet) | Sampel tambahan di GitHub
Di mulai cepat ini, Anda menjalankan aplikasi untuk menerjemahkan ucapan dari satu bahasa ke teks dalam bahasa lain.
Prasyarat
- Langganan Azure. Anda dapat membuatnya secara gratis.
- Buat sumber daya Ucapan di portal Azure.
- Dapatkan kunci dan wilayah sumber daya Ucapan. Setelah sumber daya Azure Cognitive Service untuk Ucapan Anda disebarkan, pilih Buka sumber daya untuk melihat dan mengelola kunci.
Menyiapkan lingkungan
Speech SDK tersedia sebagai paket NuGet dan menerapkan .NET Standar 2.0. Anda menginstal Speech SDK nanti dalam panduan ini, tetapi pertama-tama periksa panduan penginstalan SDK untuk persyaratan lainnya
Atur variabel lingkungan
Anda perlu mengautentikasi aplikasi Anda untuk mengakses layanan Azure AI. Artikel ini memperlihatkan kepada Anda cara menggunakan variabel lingkungan untuk menyimpan kredensial Anda. Anda kemudian dapat mengakses variabel lingkungan dari kode Anda untuk mengautentikasi aplikasi Anda. Untuk produksi, gunakan cara yang lebih aman untuk menyimpan dan mengakses kredensial Anda.
Penting
Kami merekomendasikan autentikasi ID Microsoft Entra dengan identitas terkelola untuk sumber daya Azure untuk menghindari penyimpanan kredensial dengan aplikasi Anda yang berjalan di cloud.
Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.
Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.
Untuk mengatur variabel lingkungan untuk kunci dan wilayah sumber daya Ucapan Anda, buka jendela konsol, dan ikuti instruksi untuk sistem operasi dan lingkungan pengembangan Anda.
- Untuk mengatur
SPEECH_KEY
variabel lingkungan, ganti kunci Anda dengan salah satu kunci untuk sumber daya Anda. - Untuk mengatur
SPEECH_REGION
variabel lingkungan, ganti wilayah Anda dengan salah satu wilayah untuk sumber daya Anda.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Catatan
Jika Anda hanya perlu mengakses variabel lingkungan di konsol saat ini, Anda dapat mengatur variabel lingkungan dengan set
alih-alih setx
.
Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program apa pun yang perlu membaca variabel lingkungan, termasuk jendela konsol. Misalnya, jika Anda menggunakan Visual Studio sebagai editor, mulai ulang Visual Studio sebelum Menjalankan contoh.
Menerjemahkan ucapan dari mikrofon
Ikuti langkah-langkah ini untuk membuat aplikasi konsol baru dan memasang Speech SDK.
Buat proyek konsol C++ baru di Visual Studio Community 2022 bernama
SpeechTranslation
.Pasang Speech SDK di proyek baru Anda dengan manajer paket NuGet.
Install-Package Microsoft.CognitiveServices.Speech
Ganti isi
SpeechTranslation.cpp
dengan kode berikut:#include <iostream> #include <stdlib.h> #include <speechapi_cxx.h> using namespace Microsoft::CognitiveServices::Speech; using namespace Microsoft::CognitiveServices::Speech::Audio; using namespace Microsoft::CognitiveServices::Speech::Translation; std::string GetEnvironmentVariable(const char* name); int main() { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" auto speechKey = GetEnvironmentVariable("SPEECH_KEY"); auto speechRegion = GetEnvironmentVariable("SPEECH_REGION"); auto speechTranslationConfig = SpeechTranslationConfig::FromSubscription(speechKey, speechRegion); speechTranslationConfig->SetSpeechRecognitionLanguage("en-US"); speechTranslationConfig->AddTargetLanguage("it"); auto audioConfig = AudioConfig::FromDefaultMicrophoneInput(); auto translationRecognizer = TranslationRecognizer::FromConfig(speechTranslationConfig, audioConfig); std::cout << "Speak into your microphone.\n"; auto result = translationRecognizer->RecognizeOnceAsync().get(); if (result->Reason == ResultReason::TranslatedSpeech) { std::cout << "RECOGNIZED: Text=" << result->Text << std::endl; for (auto pair : result->Translations) { auto language = pair.first; auto translation = pair.second; std::cout << "Translated into '" << language << "': " << translation << std::endl; } } else if (result->Reason == ResultReason::NoMatch) { std::cout << "NOMATCH: Speech could not be recognized." << std::endl; } else if (result->Reason == ResultReason::Canceled) { auto cancellation = CancellationDetails::FromResult(result); std::cout << "CANCELED: Reason=" << (int)cancellation->Reason << std::endl; if (cancellation->Reason == CancellationReason::Error) { std::cout << "CANCELED: ErrorCode=" << (int)cancellation->ErrorCode << std::endl; std::cout << "CANCELED: ErrorDetails=" << cancellation->ErrorDetails << std::endl; std::cout << "CANCELED: Did you set the speech resource key and region values?" << std::endl; } } } std::string GetEnvironmentVariable(const char* name) { #if defined(_MSC_VER) size_t requiredSize = 0; (void)getenv_s(&requiredSize, nullptr, 0, name); if (requiredSize == 0) { return ""; } auto buffer = std::make_unique<char[]>(requiredSize); (void)getenv_s(&requiredSize, buffer.get(), requiredSize, name); return buffer.get(); #else auto value = getenv(name); return value ? value : ""; #endif }
Untuk mengubah bahasa pengenalan ucapan, ganti
en-US
dengan bahasa lain yang didukung. Tentukan lokal lengkap dengan pemisah tanda hubung (-
). Misalnya,es-ES
untuk Spanyol (Spanyol). Bahasa default adalahen-US
jika Anda tidak menentukan bahasa. Untuk detail tentang cara mengidentifikasi salah satu dari beberapa bahasa yang mungkin diucapkan, lihat identifikasi bahasa.Untuk mengubah bahasa target penerjemahan, ganti
it
dengan bahasa lain yang didukung. Dengan beberapa pengecualian, Anda hanya menentukan kode bahasa yang mendahului pemisah tanda hubung (-
) lokal. Misalnya, gunakanes
untuk Bahasa Spanyol (Spanyol) alih-alihes-ES
. Bahasa default adalahen
jika Anda tidak menentukan bahasa.
Bangun dan jalankan aplikasi konsol baru Anda untuk memulai pengenalan ucapan dari mikrofon.
Bicaralah ke mikrofon Saat diminta. Apa yang Anda utarakan harus ditampilkan sebagai teks yang telah diterjemahkan dalam bahasa target:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Keterangan
Sekarang setelah Anda menyelesaikan mulai cepat, berikut beberapa pertimbangan tambahan:
- Contoh ini menggunakan operasi
RecognizeOnceAsync
untuk mentranskripsikan ucapan hingga 30 detik, atau sampai keheningan terdeteksi. Untuk informasi tentang pengenalan berkelanjutan untuk audio yang lebih panjang, termasuk percakapan multibahasa, lihat Cara menerjemahkan ucapan. - Untuk mengenali ucapan dari file audio, gunakan
FromWavFileInput
alih-alihFromDefaultMicrophoneInput
:auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav");
- Untuk file audio terkompresi seperti MP4, instal GStreamer dan gunakan
PullAudioInputStream
atauPushAudioInputStream
. Untuk informasi selengkapnya, lihat Cara menggunakan audio input yang terkompresi.
Membersihkan sumber daya
Anda dapat menggunakan portal Azure atau Azure Command Line Interface (CLI) untuk menghapus sumber daya Ucapan yang Anda buat.
Dokumentasi | referensi Paket (Go) | Sampel tambahan di GitHub
Speech SDK for Go tidak mendukung terjemahan ucapan. Silakan pilih bahasa pemrograman lain atau referensi Go dan sampel yang ditautkan dari awal artikel ini.
Dokumentasi | referensi Sampel tambahan di GitHub
Di mulai cepat ini, Anda menjalankan aplikasi untuk menerjemahkan ucapan dari satu bahasa ke teks dalam bahasa lain.
Prasyarat
- Langganan Azure. Anda dapat membuatnya secara gratis.
- Buat sumber daya Ucapan di portal Azure.
- Dapatkan kunci dan wilayah sumber daya Ucapan. Setelah sumber daya Azure Cognitive Service untuk Ucapan Anda disebarkan, pilih Buka sumber daya untuk melihat dan mengelola kunci.
Menyiapkan lingkungan
Sebelum Anda dapat melakukan tindakan apa pun, Anda harus menginstal Speech SDK. Contoh dalam mulai cepat ini berfungsi dengan Runtime Java.
- Menginstal Apache Maven. Kemudian jalankan
mvn -v
untuk mengonfirmasi keberhasilan penginstalan. - Buat file baru
pom.xml
di akar proyek Anda, dan salin yang berikut ini ke dalamnya:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.microsoft.cognitiveservices.speech.samples</groupId> <artifactId>quickstart-eclipse</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.microsoft.cognitiveservices.speech</groupId> <artifactId>client-sdk</artifactId> <version>1.40.0</version> </dependency> </dependencies> </project>
- Instal SDK Ucapan dan dependensi.
mvn clean dependency:copy-dependencies
Atur variabel lingkungan
Anda perlu mengautentikasi aplikasi Anda untuk mengakses layanan Azure AI. Artikel ini memperlihatkan kepada Anda cara menggunakan variabel lingkungan untuk menyimpan kredensial Anda. Anda kemudian dapat mengakses variabel lingkungan dari kode Anda untuk mengautentikasi aplikasi Anda. Untuk produksi, gunakan cara yang lebih aman untuk menyimpan dan mengakses kredensial Anda.
Penting
Kami merekomendasikan autentikasi ID Microsoft Entra dengan identitas terkelola untuk sumber daya Azure untuk menghindari penyimpanan kredensial dengan aplikasi Anda yang berjalan di cloud.
Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.
Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.
Untuk mengatur variabel lingkungan untuk kunci dan wilayah sumber daya Ucapan Anda, buka jendela konsol, dan ikuti instruksi untuk sistem operasi dan lingkungan pengembangan Anda.
- Untuk mengatur
SPEECH_KEY
variabel lingkungan, ganti kunci Anda dengan salah satu kunci untuk sumber daya Anda. - Untuk mengatur
SPEECH_REGION
variabel lingkungan, ganti wilayah Anda dengan salah satu wilayah untuk sumber daya Anda.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Catatan
Jika Anda hanya perlu mengakses variabel lingkungan di konsol saat ini, Anda dapat mengatur variabel lingkungan dengan set
alih-alih setx
.
Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program apa pun yang perlu membaca variabel lingkungan, termasuk jendela konsol. Misalnya, jika Anda menggunakan Visual Studio sebagai editor, mulai ulang Visual Studio sebelum Menjalankan contoh.
Menerjemahkan ucapan dari mikrofon
Ikuti langkah-langkah ini untuk membuat aplikasi konsol baru untuk pengenalan ucapan.
Buat file baru bernama
SpeechTranslation.java
dalam direktori akar proyek yang sama.Salin kode berikut ke dalam
SpeechTranslation.java
:import com.microsoft.cognitiveservices.speech.*; import com.microsoft.cognitiveservices.speech.audio.AudioConfig; import com.microsoft.cognitiveservices.speech.translation.*; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.Map; public class SpeechTranslation { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" private static String speechKey = System.getenv("SPEECH_KEY"); private static String speechRegion = System.getenv("SPEECH_REGION"); public static void main(String[] args) throws InterruptedException, ExecutionException { SpeechTranslationConfig speechTranslationConfig = SpeechTranslationConfig.fromSubscription(speechKey, speechRegion); speechTranslationConfig.setSpeechRecognitionLanguage("en-US"); String[] toLanguages = { "it" }; for (String language : toLanguages) { speechTranslationConfig.addTargetLanguage(language); } recognizeFromMicrophone(speechTranslationConfig); } public static void recognizeFromMicrophone(SpeechTranslationConfig speechTranslationConfig) throws InterruptedException, ExecutionException { AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput(); TranslationRecognizer translationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig); System.out.println("Speak into your microphone."); Future<TranslationRecognitionResult> task = translationRecognizer.recognizeOnceAsync(); TranslationRecognitionResult translationRecognitionResult = task.get(); if (translationRecognitionResult.getReason() == ResultReason.TranslatedSpeech) { System.out.println("RECOGNIZED: Text=" + translationRecognitionResult.getText()); for (Map.Entry<String, String> pair : translationRecognitionResult.getTranslations().entrySet()) { System.out.printf("Translated into '%s': %s\n", pair.getKey(), pair.getValue()); } } else if (translationRecognitionResult.getReason() == ResultReason.NoMatch) { System.out.println("NOMATCH: Speech could not be recognized."); } else if (translationRecognitionResult.getReason() == ResultReason.Canceled) { CancellationDetails cancellation = CancellationDetails.fromResult(translationRecognitionResult); System.out.println("CANCELED: Reason=" + cancellation.getReason()); if (cancellation.getReason() == CancellationReason.Error) { System.out.println("CANCELED: ErrorCode=" + cancellation.getErrorCode()); System.out.println("CANCELED: ErrorDetails=" + cancellation.getErrorDetails()); System.out.println("CANCELED: Did you set the speech resource key and region values?"); } } System.exit(0); } }
Untuk mengubah bahasa pengenalan ucapan, ganti
en-US
dengan bahasa lain yang didukung. Tentukan lokal lengkap dengan pemisah tanda hubung (-
). Misalnya,es-ES
untuk Spanyol (Spanyol). Bahasa default adalahen-US
jika Anda tidak menentukan bahasa. Untuk detail tentang cara mengidentifikasi salah satu dari beberapa bahasa yang mungkin diucapkan, lihat identifikasi bahasa.Untuk mengubah bahasa target penerjemahan, ganti
it
dengan bahasa lain yang didukung. Dengan beberapa pengecualian, Anda hanya menentukan kode bahasa yang mendahului pemisah tanda hubung (-
) lokal. Misalnya, gunakanes
untuk Bahasa Spanyol (Spanyol) alih-alihes-ES
. Bahasa default adalahen
jika Anda tidak menentukan bahasa.
Jalankan aplikasi konsol baru Anda untuk memulai pengenalan ucapan dari mikrofon:
javac SpeechTranslation.java -cp ".;target\dependency\*"
java -cp ".;target\dependency\*" SpeechTranslation
Bicaralah ke mikrofon Saat diminta. Apa yang Anda utarakan harus ditampilkan sebagai teks yang telah diterjemahkan dalam bahasa target:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Keterangan
Sekarang setelah Anda menyelesaikan mulai cepat, berikut beberapa pertimbangan tambahan:
- Contoh ini menggunakan operasi
RecognizeOnceAsync
untuk mentranskripsikan ucapan hingga 30 detik, atau sampai keheningan terdeteksi. Untuk informasi tentang pengenalan berkelanjutan untuk audio yang lebih panjang, termasuk percakapan multibahasa, lihat Cara menerjemahkan ucapan. - Untuk mengenali ucapan dari file audio, gunakan
fromWavFileInput
alih-alihfromDefaultMicrophoneInput
:AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
- Untuk file audio terkompresi seperti MP4, instal GStreamer dan gunakan
PullAudioInputStream
atauPushAudioInputStream
. Untuk informasi selengkapnya, lihat Cara menggunakan audio input yang terkompresi.
Membersihkan sumber daya
Anda dapat menggunakan portal Azure atau Azure Command Line Interface (CLI) untuk menghapus sumber daya Ucapan yang Anda buat.
Paket dokumentasi | referensi (npm) | Sampel tambahan pada kode sumber Pustaka GitHub |
Di mulai cepat ini, Anda menjalankan aplikasi untuk menerjemahkan ucapan dari satu bahasa ke teks dalam bahasa lain.
Prasyarat
- Langganan Azure. Anda dapat membuatnya secara gratis.
- Buat sumber daya Ucapan di portal Azure.
- Dapatkan kunci dan wilayah sumber daya Ucapan. Setelah sumber daya Azure Cognitive Service untuk Ucapan Anda disebarkan, pilih Buka sumber daya untuk melihat dan mengelola kunci.
Menyiapkan lingkungan
Sebelum Anda dapat melakukan tindakan apa pun, Anda harus menginstal Speech SDK for JavaScript. Jika Anda hanya ingin menginstal nama paket, jalankan npm install microsoft-cognitiveservices-speech-sdk
. Untuk petunjuk penginstalan terpandu, lihat panduan penginstalan SDK.
Atur variabel lingkungan
Anda perlu mengautentikasi aplikasi Anda untuk mengakses layanan Azure AI. Artikel ini memperlihatkan kepada Anda cara menggunakan variabel lingkungan untuk menyimpan kredensial Anda. Anda kemudian dapat mengakses variabel lingkungan dari kode Anda untuk mengautentikasi aplikasi Anda. Untuk produksi, gunakan cara yang lebih aman untuk menyimpan dan mengakses kredensial Anda.
Penting
Kami merekomendasikan autentikasi ID Microsoft Entra dengan identitas terkelola untuk sumber daya Azure untuk menghindari penyimpanan kredensial dengan aplikasi Anda yang berjalan di cloud.
Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.
Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.
Untuk mengatur variabel lingkungan untuk kunci dan wilayah sumber daya Ucapan Anda, buka jendela konsol, dan ikuti instruksi untuk sistem operasi dan lingkungan pengembangan Anda.
- Untuk mengatur
SPEECH_KEY
variabel lingkungan, ganti kunci Anda dengan salah satu kunci untuk sumber daya Anda. - Untuk mengatur
SPEECH_REGION
variabel lingkungan, ganti wilayah Anda dengan salah satu wilayah untuk sumber daya Anda.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Catatan
Jika Anda hanya perlu mengakses variabel lingkungan di konsol saat ini, Anda dapat mengatur variabel lingkungan dengan set
alih-alih setx
.
Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program apa pun yang perlu membaca variabel lingkungan, termasuk jendela konsol. Misalnya, jika Anda menggunakan Visual Studio sebagai editor, mulai ulang Visual Studio sebelum Menjalankan contoh.
Menerjemahkan ucapan dari file
Ikuti langkah-langkah ini untuk membuat aplikasi konsol Node.js untuk pengenalan ucapan.
Buka perintah di mana Anda menginginkan proyek baru, dan buat file baru bernama
SpeechTranslation.js
.Instal SDK Ucapan untuk JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
Salin kode berikut ke dalam
SpeechTranslation.js
:const fs = require("fs"); const sdk = require("microsoft-cognitiveservices-speech-sdk"); // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" const speechTranslationConfig = sdk.SpeechTranslationConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION); speechTranslationConfig.speechRecognitionLanguage = "en-US"; var language = "it"; speechTranslationConfig.addTargetLanguage(language); function fromFile() { let audioConfig = sdk.AudioConfig.fromWavFileInput(fs.readFileSync("YourAudioFile.wav")); let translationRecognizer = new sdk.TranslationRecognizer(speechTranslationConfig, audioConfig); translationRecognizer.recognizeOnceAsync(result => { switch (result.reason) { case sdk.ResultReason.TranslatedSpeech: console.log(`RECOGNIZED: Text=${result.text}`); console.log("Translated into [" + language + "]: " + result.translations.get(language)); break; case sdk.ResultReason.NoMatch: console.log("NOMATCH: Speech could not be recognized."); break; case sdk.ResultReason.Canceled: const cancellation = sdk.CancellationDetails.fromResult(result); console.log(`CANCELED: Reason=${cancellation.reason}`); if (cancellation.reason == sdk.CancellationReason.Error) { console.log(`CANCELED: ErrorCode=${cancellation.ErrorCode}`); console.log(`CANCELED: ErrorDetails=${cancellation.errorDetails}`); console.log("CANCELED: Did you set the speech resource key and region values?"); } break; } translationRecognizer.close(); }); } fromFile();
Di
SpeechTranslation.js
, gantiYourAudioFile.wav
dengan file WAV Anda sendiri. Contoh ini hanya mengenali ucapan dari file WAV. Untuk informasi tentang format audio lainnya, lihat Cara menggunakan audio input terkompresi. Contoh ini mendukung audio hingga 30 detik.Untuk mengubah bahasa pengenalan ucapan, ganti
en-US
dengan bahasa lain yang didukung. Tentukan lokal lengkap dengan pemisah tanda hubung (-
). Misalnya,es-ES
untuk Spanyol (Spanyol). Bahasa default adalahen-US
jika Anda tidak menentukan bahasa. Untuk detail tentang cara mengidentifikasi salah satu dari beberapa bahasa yang mungkin diucapkan, lihat identifikasi bahasa.Untuk mengubah bahasa target penerjemahan, ganti
it
dengan bahasa lain yang didukung. Dengan beberapa pengecualian, Anda hanya menentukan kode bahasa yang mendahului pemisah tanda hubung (-
) lokal. Misalnya, gunakanes
untuk Bahasa Spanyol (Spanyol) alih-alihes-ES
. Bahasa default adalahen
jika Anda tidak menentukan bahasa.
Jalankan aplikasi konsol baru Anda untuk memulai pengenalan ucapan dari file:
node.exe SpeechTranslation.js
Ucapan dari file audio harus ditampilkan sebagai teks yang telah diterjemahkan dalam bahasa target:
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into [it]: Sono entusiasta di provare la traduzione vocale.
Keterangan
Sekarang setelah Anda menyelesaikan mulai cepat, berikut beberapa pertimbangan tambahan:
Contoh ini menggunakan operasi recognizeOnceAsync
untuk mentranskripsikan ucapan hingga 30 detik, atau sampai keheningan terdeteksi. Untuk informasi tentang pengenalan berkelanjutan untuk audio yang lebih panjang, termasuk percakapan multibahasa, lihat Cara menerjemahkan ucapan.
Catatan
Mengenali ucapan dari mikrofon tidak didukung di Node.js. Ini hanya didukung di lingkungan JavaScript berbasis browser.
Membersihkan sumber daya
Anda dapat menggunakan portal Azure atau Azure Command Line Interface (CLI) untuk menghapus sumber daya Ucapan yang Anda buat.
Paket dokumentasi | referensi (unduh) | Sampel tambahan di GitHub
Speech SDK untuk Objective-C memang mendukung terjemahan ucapan, tetapi kami belum menyertakan panduan di sini. Silakan pilih bahasa pemrograman lain untuk memulai dan belajar tentang konsep, atau lihat referensi Objective-C dan sampel yang ditautkan dari awal artikel ini.
Paket dokumentasi | referensi (unduh) | Sampel tambahan di GitHub
Speech SDK untuk Swift memang mendukung terjemahan ucapan, tetapi kami belum menyertakan panduan di sini. Silakan pilih bahasa pemrograman lain untuk memulai dan mempelajari tentang konsep, atau lihat referensi Swift dan sampel yang ditautkan dari awal artikel ini.
Paket dokumentasi | referensi (PyPi) | Sampel tambahan di GitHub
Di mulai cepat ini, Anda menjalankan aplikasi untuk menerjemahkan ucapan dari satu bahasa ke teks dalam bahasa lain.
Prasyarat
- Langganan Azure. Anda dapat membuatnya secara gratis.
- Buat sumber daya Ucapan di portal Azure.
- Dapatkan kunci dan wilayah sumber daya Ucapan. Setelah sumber daya Azure Cognitive Service untuk Ucapan Anda disebarkan, pilih Buka sumber daya untuk melihat dan mengelola kunci.
Menyiapkan lingkungan
Speech SDK untuk Python tersedia sebagai modul Indeks Paket Python (PyPI). Speech SDK untuk Python kompatibel dengan Windows, Linux, dan macOS.
- Anda harus menginstal Microsoft Visual C++ Redistributable untuk Visual Studio 2015, 2017, 2019, dan 2022 untuk platform Anda. Memasang paket ini untuk pertama kalinya mungkin memerlukan menghidupkan ulang.
- Di Linux, Anda harus menggunakan arsitektur target x64.
Instal versi Python dari 3.7 atau yang lebih baru. Periksa terlebih dahulu panduan penginstalan SDK untuk persyaratan lainnya
Atur variabel lingkungan
Anda perlu mengautentikasi aplikasi Anda untuk mengakses layanan Azure AI. Artikel ini memperlihatkan kepada Anda cara menggunakan variabel lingkungan untuk menyimpan kredensial Anda. Anda kemudian dapat mengakses variabel lingkungan dari kode Anda untuk mengautentikasi aplikasi Anda. Untuk produksi, gunakan cara yang lebih aman untuk menyimpan dan mengakses kredensial Anda.
Penting
Kami merekomendasikan autentikasi ID Microsoft Entra dengan identitas terkelola untuk sumber daya Azure untuk menghindari penyimpanan kredensial dengan aplikasi Anda yang berjalan di cloud.
Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.
Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.
Untuk mengatur variabel lingkungan untuk kunci dan wilayah sumber daya Ucapan Anda, buka jendela konsol, dan ikuti instruksi untuk sistem operasi dan lingkungan pengembangan Anda.
- Untuk mengatur
SPEECH_KEY
variabel lingkungan, ganti kunci Anda dengan salah satu kunci untuk sumber daya Anda. - Untuk mengatur
SPEECH_REGION
variabel lingkungan, ganti wilayah Anda dengan salah satu wilayah untuk sumber daya Anda.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Catatan
Jika Anda hanya perlu mengakses variabel lingkungan di konsol saat ini, Anda dapat mengatur variabel lingkungan dengan set
alih-alih setx
.
Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program apa pun yang perlu membaca variabel lingkungan, termasuk jendela konsol. Misalnya, jika Anda menggunakan Visual Studio sebagai editor, mulai ulang Visual Studio sebelum Menjalankan contoh.
Menerjemahkan ucapan dari mikrofon
Ikuti langkah-langkah ini untuk membuat aplikasi konsol baru.
Buka perintah di mana Anda menginginkan proyek baru, dan buat file baru bernama
speech_translation.py
.Jalankan perintah ini untuk menginstal SDK Ucapan:
pip install azure-cognitiveservices-speech
Salin kode berikut ke dalam
speech_translation.py
:import os import azure.cognitiveservices.speech as speechsdk def recognize_from_microphone(): # This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" speech_translation_config = speechsdk.translation.SpeechTranslationConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION')) speech_translation_config.speech_recognition_language="en-US" to_language ="it" speech_translation_config.add_target_language(to_language) audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True) translation_recognizer = speechsdk.translation.TranslationRecognizer(translation_config=speech_translation_config, audio_config=audio_config) print("Speak into your microphone.") translation_recognition_result = translation_recognizer.recognize_once_async().get() if translation_recognition_result.reason == speechsdk.ResultReason.TranslatedSpeech: print("Recognized: {}".format(translation_recognition_result.text)) print("""Translated into '{}': {}""".format( to_language, translation_recognition_result.translations[to_language])) elif translation_recognition_result.reason == speechsdk.ResultReason.NoMatch: print("No speech could be recognized: {}".format(translation_recognition_result.no_match_details)) elif translation_recognition_result.reason == speechsdk.ResultReason.Canceled: cancellation_details = translation_recognition_result.cancellation_details print("Speech Recognition canceled: {}".format(cancellation_details.reason)) if cancellation_details.reason == speechsdk.CancellationReason.Error: print("Error details: {}".format(cancellation_details.error_details)) print("Did you set the speech resource key and region values?") recognize_from_microphone()
Untuk mengubah bahasa pengenalan ucapan, ganti
en-US
dengan bahasa lain yang didukung. Tentukan lokal lengkap dengan pemisah tanda hubung (-
). Misalnya,es-ES
untuk Spanyol (Spanyol). Bahasa default adalahen-US
jika Anda tidak menentukan bahasa. Untuk detail tentang cara mengidentifikasi salah satu dari beberapa bahasa yang mungkin diucapkan, lihat identifikasi bahasa.Untuk mengubah bahasa target penerjemahan, ganti
it
dengan bahasa lain yang didukung. Dengan beberapa pengecualian, Anda hanya menentukan kode bahasa yang mendahului pemisah tanda hubung (-
) lokal. Misalnya, gunakanes
untuk Bahasa Spanyol (Spanyol) alih-alihes-ES
. Bahasa default adalahen
jika Anda tidak menentukan bahasa.
Jalankan aplikasi konsol baru Anda untuk memulai pengenalan ucapan dari mikrofon:
python speech_translation.py
Bicaralah ke mikrofon Saat diminta. Apa yang Anda utarakan harus ditampilkan sebagai teks yang telah diterjemahkan dalam bahasa target:
Speak into your microphone.
Recognized: I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Keterangan
Sekarang setelah Anda menyelesaikan mulai cepat, berikut beberapa pertimbangan tambahan:
- Contoh ini menggunakan operasi
recognize_once_async
untuk mentranskripsikan ucapan hingga 30 detik, atau sampai keheningan terdeteksi. Untuk informasi tentang pengenalan berkelanjutan untuk audio yang lebih panjang, termasuk percakapan multibahasa, lihat Cara menerjemahkan ucapan. - Untuk mengenali ucapan dari file audio, gunakan
filename
alih-alihuse_default_microphone
:audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
- Untuk file audio terkompresi seperti MP4, instal GStreamer dan gunakan
PullAudioInputStream
atauPushAudioInputStream
. Untuk informasi selengkapnya, lihat Cara menggunakan audio input yang terkompresi.
Membersihkan sumber daya
Anda dapat menggunakan portal Azure atau Azure Command Line Interface (CLI) untuk menghapus sumber daya Ucapan yang Anda buat.
Rest API ucapan ke teks mereferensikan Ucapan ke teks REST API untuk referensi | audio singkat Sampel tambahan di GitHub |
REST API tidak mendukung terjemahan ucapan. Silakan pilih bahasa atau alat pemrograman lain dari bagian atas halaman ini.
Di mulai cepat ini, Anda menjalankan aplikasi untuk menerjemahkan ucapan dari satu bahasa ke teks dalam bahasa lain.
Prasyarat
- Langganan Azure. Anda dapat membuatnya secara gratis.
- Buat sumber daya Ucapan di portal Azure.
- Dapatkan kunci dan wilayah sumber daya Ucapan. Setelah sumber daya Azure Cognitive Service untuk Ucapan Anda disebarkan, pilih Buka sumber daya untuk melihat dan mengelola kunci.
Menyiapkan lingkungan
Ikuti langkah-langkah ini dan lihat mulai cepat Speech CLI untuk persyaratan lain untuk platform Anda.
Jalankan perintah .NET CLI berikut untuk menginstal Speech CLI:
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
Jalankan perintah berikut untuk mengonfigurasi kunci dan wilayah sumber daya Ucapan Anda. Ganti
SUBSCRIPTION-KEY
dengan kunci sumber daya Ucapan Anda dan gantiREGION
dengan wilayah sumber daya Ucapan Anda.spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
Menerjemahkan ucapan dari mikrofon
Jalankan perintah berikut untuk menerjemahkan ucapan dari mikrofon dari Bahasa Inggris ke Bahasa Italia:
spx translate --source en-US --target it --microphone
Bicaralah ke mikrofon, dan Anda melihat transkripsi ucapan anda yang diterjemahkan secara real time. CLI Ucapan akan berhenti setelah periode keheningan, setelah 30 detik, atau saat Anda menekan Ctrl+C.
Connection CONNECTED...
TRANSLATING into 'it': Sono (from 'I'm')
TRANSLATING into 'it': Sono entusiasta (from 'I'm excited to')
TRANSLATING into 'it': Sono entusiasta di provare la parola (from 'I'm excited to try speech')
TRANSLATED into 'it': Sono entusiasta di provare la traduzione vocale. (from 'I'm excited to try speech translation.')
Keterangan
Sekarang setelah Anda menyelesaikan mulai cepat, berikut beberapa pertimbangan tambahan:
- Untuk mendapatkan ucapan dari file audio, gunakan
--file
alih-alih--microphone
. Untuk file audio terkompresi seperti MP4, instal GStreamer dan gunakan--format
. Untuk informasi selengkapnya, lihat Cara menggunakan audio input yang terkompresi.spx translate --source en-US --target it --file YourAudioFile.wav spx translate --source en-US --target it --file YourAudioFile.mp4 --format any
- Untuk meningkatkan akurasi pengenalan kata atau ucapan tertentu, gunakan daftar frase. Anda menyertakan daftar frase secara in-line atau dengan file teks:
spx translate --source en-US --target it --microphone --phrases "Contoso;Jessie;Rehaan;" spx translate --source en-US --target it --microphone --phrases @phrases.txt
- Untuk mengubah bahasa pengenalan ucapan, ganti
en-US
dengan bahasa lain yang didukung. Tentukan lokal lengkap dengan pemisah tanda hubung (-
). Misalnya,es-ES
untuk Spanyol (Spanyol). Bahasa default adalahen-US
jika Anda tidak menentukan bahasa.spx translate --microphone --source es-ES
- Untuk mengubah bahasa target penerjemahan, ganti
it
dengan bahasa lain yang didukung. Dengan beberapa pengecualian, Anda hanya menentukan kode bahasa yang mendahului pemisah tanda hubung (-
) lokal. Misalnya, gunakanes
untuk Bahasa Spanyol (Spanyol) alih-alihes-ES
. Bahasa default adalahen
jika Anda tidak menentukan bahasa.spx translate --microphone --target es
- Untuk pengenalan audio berkelanjutan lebih dari 30 detik, tambahkan
--continuous
:spx translate --source en-US --target it --microphone --continuous
Jalankan perintah ini untuk informasi tentang opsi penerjemahan ucapan tambahan seperti input dan output file:
spx help translate
Membersihkan sumber daya
Anda dapat menggunakan portal Azure atau Azure Command Line Interface (CLI) untuk menghapus sumber daya Ucapan yang Anda buat.