Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Ucapan Tersemat dirancang untuk skenario pada perangkat di mana konversi ucapan ke teks dan teks ke ucapan dilakukan, ketika konektivitas cloud terputus-putus atau tidak tersedia. Misalnya, Anda dapat menggunakan ucapan yang disematkan dalam peralatan industri, unit AC dengan dukungan suara, atau mobil yang mungkin bepergian di luar jangkauan. Anda juga dapat mengembangkan solusi cloud dan offline hibrid. Untuk skenario di mana perangkat Anda harus berada di lingkungan yang aman seperti bank atau entitas pemerintah, Anda harus terlebih dahulu mempertimbangkan kontainer yang terputus.
Penting
Microsoft membatasi akses ke pengenalan suara tersemat. Anda dapat mengajukan permohonan akses melalui tinjauan akses terbatas ucapan yang disematkan Azure AI Speech. Untuk informasi selengkapnya, lihat Akses terbatas untuk ucapan yang tertanam.
Persyaratan platform
Fitur pengenalan suara tertanam disertakan dengan Speech SDK (versi 1.24.1 ke atas) untuk C#, C++, dan Java. Lihat persyaratan penginstalan Speech SDK umum untuk bahasa pemrograman dan detail spesifik platform target.
Pilih lingkungan target Anda
Memerlukan perangkat keras Android 8.0 (API level 26) atau yang lebih tinggi di Arm64 (arm64-v8a
) atau Arm32 (armeabi-v7a
).
Batasan
Fitur ucapan tersemat hanya tersedia dengan C#, C++, dan Java SDK. Speech SDK, Speech CLI, dan REST API lainnya tidak mendukung ucapan yang disematkan.
Pengenalan ucapan yang disematkan hanya mendukung format audio WAV yang dikodekan mono 16 bit, 8 kHz, atau 16 kHz PCM.
Suara saraf tersemat mendukung 24 kHz RIFF/RAW, dengan persyaratan RAM 100 MB.
Paket SDK Pengenalan Suara Tertanam
Untuk aplikasi C# yang disematkan, instal Speech SDK berikut untuk paket C#:
Paket | Deskripsi |
---|---|
Microsoft.CognitiveServices.Speech | Diperlukan untuk menggunakan Speech SDK |
Microsoft.CognitiveServices.Speech.Extension.Embedded.SR | Diperlukan untuk pengenalan suara tertanam |
Microsoft.CognitiveServices.Speech.Extension.Embedded.TTS | Diperlukan untuk sintesis ucapan tertanam |
Microsoft.CognitiveServices.Speech.Extension.ONNX.Runtime | Diperlukan untuk pengenalan dan sintesis ucapan yang disematkan |
Microsoft.CognitiveServices.Speech.Extension.Telemetry | Diperlukan untuk pengenalan dan sintesis ucapan yang disematkan |
Untuk aplikasi C++ yang disematkan, instal Speech SDK berikut untuk paket C++:
Paket | Deskripsi |
---|---|
Microsoft.CognitiveServices.Speech | Diperlukan untuk menggunakan Speech SDK |
Microsoft.CognitiveServices.Speech.Extension.Embedded.SR | Diperlukan untuk pengenalan suara tertanam |
Microsoft.CognitiveServices.Speech.Extension.Embedded.TTS | Diperlukan untuk sintesis ucapan tertanam |
Microsoft.CognitiveServices.Speech.Extension.ONNX.Runtime | Diperlukan untuk pengenalan dan sintesis ucapan yang disematkan |
Microsoft.CognitiveServices.Speech.Extension.Telemetry | Diperlukan untuk pengenalan dan sintesis ucapan yang disematkan |
Pilih lingkungan target Anda
Untuk aplikasi yang disematkan Java, tambahkan client-sdk-embedded (.jar
) sebagai dependensi. Paket ini mendukung suara cloud, tersemat, dan hibrid.
Penting
Jangan tambahkan client-sdk dalam proyek yang sama, karena hanya mendukung layanan ucapan cloud.
Ikuti langkah-langkah berikut untuk menginstal Speech SDK untuk Java menggunakan Apache Maven:
- Menginstal Apache Maven.
- Buka jendela perintah di lokasi di mana Anda menginginkan proyek baru, dan buat file
pom.xml
baru. - Salin konten XML berikut ke dalam
pom.xml
:<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-embedded</artifactId> <version>1.43.0</version> </dependency> </dependencies> </project>
- Jalankan perintah Maven berikut untuk menginstal Speech SDK dan dependensi.
mvn clean dependency:copy-dependencies
Model dan suara
Untuk ucapan yang disematkan, Anda perlu mengunduh model pengenalan ucapan untuk ucapan ke teks dan suara untuk teks ke ucapan. Instruksi diberikan setelah berhasil menyelesaikan proses tinjauan akses terbatas.
Model ucapan ke teks berikut tersedia: da-DK, de-DE, en-AU, en-CA, en-GB, en-IE, en-IN, en-NZ, en-US, es-ES, es-MX, fr-CA, fr-FR, it-IT, ja-JP, ko-KR, pt-BR, pt-PT, zh-CN, zh-HK, dan zh-TW.
Semua lokal teks ke ucapan di sini (kecuali fa-IR, Persia (Iran)) tersedia di luar kotak dengan 1 suara perempuan dan/atau 1 laki-laki yang dipilih. Kami menyambut masukan Anda untuk membantu kami mengukur permintaan untuk lebih banyak bahasa dan suara.
Konfigurasi ucapan tersisip
Untuk aplikasi yang terhubung ke cloud, seperti yang ditunjukkan di sebagian besar sampel Speech SDK, Anda menggunakan SpeechConfig
objek dengan kunci API dan titik akhir. Untuk ucapan yang tertanam, Anda tidak menggunakan sumber daya AI Foundry untuk pemrosesan suara. Alih-alih sumber daya cloud, Anda menggunakan model dan suara yang Anda unduh ke perangkat lokal Anda.
EmbeddedSpeechConfig
Gunakan objek untuk mengatur lokasi model atau suara. Jika aplikasi Anda digunakan untuk ucapan ke teks dan teks ke ucapan, Anda dapat menggunakan objek yang sama EmbeddedSpeechConfig
untuk mengatur lokasi model dan suara.
// Provide the location of the models and voices.
List<string> paths = new List<string>();
paths.Add("C:\\dev\\embedded-speech\\stt-models");
paths.Add("C:\\dev\\embedded-speech\\tts-voices");
var embeddedSpeechConfig = EmbeddedSpeechConfig.FromPaths(paths.ToArray());
// For speech to text
embeddedSpeechConfig.SetSpeechRecognitionModel(
"Microsoft Speech Recognizer en-US FP Model V8",
Environment.GetEnvironmentVariable("EMBEDDED_SPEECH_MODEL_LICENSE"));
// For text to speech
embeddedSpeechConfig.SetSpeechSynthesisVoice(
"Microsoft Server Speech Text to Speech Voice (en-US, JennyNeural)",
Environment.GetEnvironmentVariable("EMBEDDED_SPEECH_MODEL_LICENSE"));
embeddedSpeechConfig.SetSpeechSynthesisOutputFormat(SpeechSynthesisOutputFormat.Riff24Khz16BitMonoPcm);
Petunjuk / Saran
Fungsi GetEnvironmentVariable
ini didefinisikan dalam panduan awal ucapan ke teks dan panduan awal teks ke ucapan.
// Provide the location of the models and voices.
vector<string> paths;
paths.push_back("C:\\dev\\embedded-speech\\stt-models");
paths.push_back("C:\\dev\\embedded-speech\\tts-voices");
auto embeddedSpeechConfig = EmbeddedSpeechConfig::FromPaths(paths);
// For speech to text
embeddedSpeechConfig->SetSpeechRecognitionModel((
"Microsoft Speech Recognizer en-US FP Model V8",
GetEnvironmentVariable("EMBEDDED_SPEECH_MODEL_LICENSE"));
// For text to speech
embeddedSpeechConfig->SetSpeechSynthesisVoice(
"Microsoft Server Speech Text to Speech Voice (en-US, JennyNeural)",
GetEnvironmentVariable("EMBEDDED_SPEECH_MODEL_LICENSE"));
embeddedSpeechConfig->SetSpeechSynthesisOutputFormat(SpeechSynthesisOutputFormat::Riff24Khz16BitMonoPcm);
// Provide the location of the models and voices.
List<String> paths = new ArrayList<>();
paths.add("C:\\dev\\embedded-speech\\stt-models");
paths.add("C:\\dev\\embedded-speech\\tts-voices");
var embeddedSpeechConfig = EmbeddedSpeechConfig.fromPaths(paths);
// For speech to text
embeddedSpeechConfig.setSpeechRecognitionModel(
"Microsoft Speech Recognizer en-US FP Model V8",
System.getenv("EMBEDDED_SPEECH_MODEL_LICENSE"));
// For text to speech
embeddedSpeechConfig.setSpeechSynthesisVoice(
"Microsoft Server Speech Text to Speech Voice (en-US, JennyNeural)",
System.getenv("EMBEDDED_SPEECH_MODEL_LICENSE"));
embeddedSpeechConfig.setSpeechSynthesisOutputFormat(SpeechSynthesisOutputFormat.Riff24Khz16BitMonoPcm);
Sampel kode ucapan yang disematkan
Anda dapat menemukan sampel ucapan yang siap digunakan dan disematkan di GitHub. Untuk keterangan tentang proyek dari awal, lihat contoh dokumentasi tertentu:
Anda dapat menemukan sampel ucapan yang siap digunakan dan disematkan di GitHub. Untuk keterangan tentang proyek dari awal, lihat contoh dokumentasi tertentu:
Anda dapat menemukan sampel ucapan yang siap digunakan dan disematkan di GitHub. Untuk keterangan tentang proyek dari awal, lihat contoh dokumentasi tertentu:
Pembicaraan hibrida
Ucapan hibrida dengan objek HybridSpeechConfig
menggunakan layanan ucapan cloud secara default dan ucapan tersemat sebagai cadangan jika koneksi cloud terbatas atau lambat.
Dengan konfigurasi ucapan hibrid untuk ucapan ke teks (model pengenalan), ucapan yang disematkan digunakan saat koneksi ke layanan cloud gagal setelah upaya berulang. Pengenalan mungkin terus menggunakan layanan awan lagi jika koneksi kemudian dilanjutkan.
Dengan konfigurasi ucapan hibrid untuk teks ke ucapan (suara), sintesis tersemat dan cloud dijalankan secara paralel dan hasil akhir dipilih berdasarkan kecepatan respons. Hasil terbaik dievaluasi lagi pada setiap permintaan sintesis baru.
Ucapan berbasis cloud
Untuk ucapan cloud, Anda menggunakan objek SpeechConfig
, seperti yang ditunjukkan dalam mulai cepat ucapan ke teks dan mulai cepat teks ke ucapan. Untuk menjalankan mulai cepat untuk ucapan yang disematkan, Anda dapat mengganti SpeechConfig
dengan EmbeddedSpeechConfig
atau HybridSpeechConfig
. Sebagian besar pengenalan ucapan dan kode sintesis lainnya sama, baik menggunakan konfigurasi cloud, tersemat, atau hibrid.
Kemampuan suara yang disematkan
Untuk suara yang disematkan, penting untuk dicatat bahwa tag bahasa markup sintesis ucapan (SSML) tertentu mungkin saat ini tidak didukung karena perbedaan dalam struktur model. Untuk informasi terperinci mengenai tag SSML yang tidak didukung, lihat tabel berikut.
Tingkat 1 | Tingkat 2 | Sub-nilai | Dukungan pada NTTS yang disematkan |
---|---|---|---|
Suara | Src | Tidak | |
marka buku | Ya | ||
istirahat | kekuatan | Ya | |
waktu | Ya | ||
Keheningan | jenis | Leading, Tailing, Comma-exact, dll. | Tidak |
nilai | Tidak | ||
Penekanan | level | Tidak | |
Lang | Tidak | ||
leksikon | URI | Ya | |
Matematika | Tidak | ||
msttsaudioduration | nilai | Tidak | |
Audio Latar Belakang MSTTS | Src | Tidak | |
volume suara | Tidak | ||
muncul perlahan | Tidak | ||
pudar | Tidak | ||
msttsexpress-as | gaya | Ya1 | |
styledegree | Tidak | ||
peran | Tidak | ||
msttssilence | Tidak | ||
msttsviseme | jenis | redlips_front, EkspresiWajah | Tidak |
p | Ya | ||
fonem | abjad | ipa, sapi, ups, dll. | Ya |
pH | Ya | ||
prosodis | Kontur | Dukungan tingkat kalimat, tingkat kata hanya en-US dan zh-CN | Ya |
lemparan | Ya | ||
rentang | Ya | ||
tarif | Ya | ||
volume suara | Ya | ||
s | Ya | ||
katakan-sebagai | diterjemahkan sebagai | karakter, ejaan, angka, tanggal, dan lain-lain. | Ya |
bentuk | Ya | ||
perincian | Ya | ||
Subkategori | alias | Ya | |
berbicara | Ya | ||
Suara | Tidak |
1 Gaya msttsexpress-as
hanya didukung untuk en-US-JennyNeural
suara.