Краткое руководство по преобразованию текста в речь
Справочные примеры пакета документации | (NuGet) | Дополнительные примеры на GitHub
С помощью службы "Речь искусственного интеллекта Azure" можно запустить приложение, которое синтезирует человеческую голосовую связь для чтения текста. Вы можете изменить голос, ввести текст и прослушивать выходные данные на динамике компьютера.
Совет
Вы можете попробовать текст для речи в коллекции голосовой связи Speech Studio без регистрации или написания кода.
Совет
Попробуйте использовать набор средств службы "Речь Azure AI", чтобы легко создавать и запускать примеры в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Пакет SDK службы "Речь" доступен в виде пакета NuGet, реализующего .NET Standard 2.0. Установите пакет SDK службы "Речь" далее в этом руководстве с помощью консоли. Подробные инструкции по установке см. в разделе "Установка пакета SDK службы "Речь".
Настройка переменных среды
Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать
SPEECH_KEY
переменную среды, замените ключ одним из ключей ресурса. - Чтобы задать
SPEECH_REGION
переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set
среды вместо setx
.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Создание приложения
Выполните следующие действия, чтобы создать консольное приложение и установить пакет SDK службы "Речь".
Откройте окно командной строки в папке, в которой требуется создать проект. Выполните эту команду, чтобы создать консольное приложение с помощью .NET CLI.
dotnet new console
Команда создает файл Program.cs в каталоге проекта.
Установите пакет SDK для службы "Речь" в новом проекте с помощью CLI .NET.
dotnet add package Microsoft.CognitiveServices.Speech
Замените содержимое Program.cs приведенным ниже кодом.
using System; using System.IO; using System.Threading.Tasks; using Microsoft.CognitiveServices.Speech; using Microsoft.CognitiveServices.Speech.Audio; 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 OutputSpeechSynthesisResult(SpeechSynthesisResult speechSynthesisResult, string text) { switch (speechSynthesisResult.Reason) { case ResultReason.SynthesizingAudioCompleted: Console.WriteLine($"Speech synthesized for text: [{text}]"); break; case ResultReason.Canceled: var cancellation = SpeechSynthesisCancellationDetails.FromResult(speechSynthesisResult); 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; default: break; } } async static Task Main(string[] args) { var speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion); // The neural multilingual voice can speak different languages based on the input text. speechConfig.SpeechSynthesisVoiceName = "en-US-AvaMultilingualNeural"; using (var speechSynthesizer = new SpeechSynthesizer(speechConfig)) { // Get text from the console and synthesize to the default speaker. Console.WriteLine("Enter some text that you want to speak >"); string text = Console.ReadLine(); var speechSynthesisResult = await speechSynthesizer.SpeakTextAsync(text); OutputSpeechSynthesisResult(speechSynthesisResult, text); } Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } }
Чтобы изменить язык синтеза речи, замените
en-US-AvaMultilingualNeural
на другой поддерживаемый голос.Все нейронные голосовые модели поддерживают несколько языков и свободно говорят на родном и английском языках. Например, если входной текст на английском языке я рад попробовать текст для речи, и вы задаете
es-ES-ElviraNeural
язык, текст говорится на английском языке с испанским акцентом. Если голос не говорит на языке входного текста, служба "Речь" не выводит синтезированный звук.Запустите новое консольное приложение, чтобы начать синтез речи на динамик по умолчанию.
dotnet run
Внимание
Убедитесь, что заданы
SPEECH_KEY
переменные среды иSPEECH_REGION
среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.Введите текст, который требуется произнести. Например, введите , что я рад попробовать текст для речи. Выберите клавишу ВВОД, чтобы услышать синтезированную речь.
Enter some text that you want to speak > I'm excited to try text to speech
Замечания
Дополнительные варианты синтеза речи
В этом кратком руководстве для синтеза короткого блока введенного вами текста используется операция SpeakTextAsync
. Вы также можете использовать длинный текст из файла и получить более точное управление стилями голоса, просодией и другими параметрами.
- Узнайте, как синтезировать речь и язык разметки синтеза речи (SSML) для получения сведений о синтезе речи из файла и более точном управлении стилями голоса, просодией и другими параметрами.
- См . API пакетного синтеза для преобразования текста в речь , чтобы получить сведения о синтезе длинного текста в речь.
Текст OpenAI для голоса речи в службе "Речь ИИ Azure"
Кроме того, поддерживаются текст OpenAI для голоса речи. См . текст OpenAI для голосовой речи в службе "Речь ИИ Azure" и многоязычные голоса. Вы можете заменить en-US-AvaMultilingualNeural
поддерживаемое голосовое имя OpenAI, например en-US-FableMultilingualNeural
.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочные примеры пакета документации | (NuGet) | Дополнительные примеры на GitHub
С помощью службы "Речь искусственного интеллекта Azure" можно запустить приложение, которое синтезирует человеческую голосовую связь для чтения текста. Вы можете изменить голос, ввести текст и прослушивать выходные данные на динамике компьютера.
Совет
Вы можете попробовать текст для речи в коллекции голосовой связи Speech Studio без регистрации или написания кода.
Совет
Попробуйте использовать набор средств службы "Речь Azure AI", чтобы легко создавать и запускать примеры в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Пакет SDK службы "Речь" доступен в виде пакета NuGet, реализующего .NET Standard 2.0. Установите пакет SDK службы "Речь" далее в этом руководстве. Подробные инструкции по установке см. в разделе "Установка пакета SDK службы "Речь".
Настройка переменных среды
Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать
SPEECH_KEY
переменную среды, замените ключ одним из ключей ресурса. - Чтобы задать
SPEECH_REGION
переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set
среды вместо setx
.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Создание приложения
Выполните следующие действия, чтобы создать консольное приложение и установить пакет SDK службы "Речь".
Создайте консольный проект C++ в Visual Studio Community с именем
SpeechSynthesis
.Замените содержимое SpeechSynthesis.cpp следующим кодом:
#include <iostream> #include <stdlib.h> #include <speechapi_cxx.h> using namespace Microsoft::CognitiveServices::Speech; using namespace Microsoft::CognitiveServices::Speech::Audio; 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"); if ((size(speechKey) == 0) || (size(speechRegion) == 0)) { std::cout << "Please set both SPEECH_KEY and SPEECH_REGION environment variables." << std::endl; return -1; } auto speechConfig = SpeechConfig::FromSubscription(speechKey, speechRegion); // The neural multilingual voice can speak different languages based on the input text. speechConfig->SetSpeechSynthesisVoiceName("en-US-AvaMultilingualNeural"); auto speechSynthesizer = SpeechSynthesizer::FromConfig(speechConfig); // Get text from the console and synthesize to the default speaker. std::cout << "Enter some text that you want to speak >" << std::endl; std::string text; getline(std::cin, text); auto result = speechSynthesizer->SpeakTextAsync(text).get(); // Checks result. if (result->Reason == ResultReason::SynthesizingAudioCompleted) { std::cout << "Speech synthesized to speaker for text [" << text << "]" << std::endl; } else if (result->Reason == ResultReason::Canceled) { auto cancellation = SpeechSynthesisCancellationDetails::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::cout << "Press enter to exit..." << std::endl; std::cin.get(); } 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 }
Выберите инструменты>Nuget диспетчер пакетов> диспетчер пакетов консоли. В консоли диспетчер пакетов выполните следующую команду:
Install-Package Microsoft.CognitiveServices.Speech
Чтобы изменить язык синтеза речи, замените
en-US-AvaMultilingualNeural
на другой поддерживаемый голос.Все нейронные голосовые модели поддерживают несколько языков и свободно говорят на родном и английском языках. Например, если входной текст на английском языке я рад попробовать текст для речи, и вы задали
es-ES-ElviraNeural
, текст говорится на английском языке с испанским акцентом. Если голос не говорит на языке входного текста, служба "Речь" не выводит синтезированный звук.Скомпилируйте и запустите новое консольное приложение, чтобы начать синтез речи на динамик по умолчанию.
Внимание
Убедитесь, что заданы
SPEECH_KEY
переменные среды иSPEECH_REGION
среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.Введите текст, который требуется произнести. Например, введите , что я рад попробовать текст для речи. Выберите клавишу ВВОД, чтобы услышать синтезированную речь.
Enter some text that you want to speak > I'm excited to try text to speech
Замечания
Дополнительные варианты синтеза речи
В этом кратком руководстве для синтеза короткого блока введенного вами текста используется операция SpeakTextAsync
. Вы также можете использовать длинный текст из файла и получить более точное управление стилями голоса, просодией и другими параметрами.
- Узнайте, как синтезировать речь и язык разметки синтеза речи (SSML) для получения сведений о синтезе речи из файла и более точном управлении стилями голоса, просодией и другими параметрами.
- См . API пакетного синтеза для преобразования текста в речь , чтобы получить сведения о синтезе длинного текста в речь.
Текст OpenAI для голоса речи в службе "Речь ИИ Azure"
Кроме того, поддерживаются текст OpenAI для голоса речи. См . текст OpenAI для голосовой речи в службе "Речь ИИ Azure" и многоязычные голоса. Вы можете заменить en-US-AvaMultilingualNeural
поддерживаемое голосовое имя OpenAI, например en-US-FableMultilingualNeural
.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочные примеры пакета документации | (Go) | Дополнительные примеры на GitHub
С помощью службы "Речь искусственного интеллекта Azure" можно запустить приложение, которое синтезирует человеческую голосовую связь для чтения текста. Вы можете изменить голос, ввести текст и прослушивать выходные данные на динамике компьютера.
Совет
Вы можете попробовать текст для речи в коллекции голосовой связи Speech Studio без регистрации или написания кода.
Совет
Попробуйте использовать набор средств службы "Речь Azure AI", чтобы легко создавать и запускать примеры в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Установите пакет SDK службы "Речь" для языка Go. Подробные инструкции по установке см. в разделе "Установка пакета SDK службы "Речь".
Настройка переменных среды
Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать
SPEECH_KEY
переменную среды, замените ключ одним из ключей ресурса. - Чтобы задать
SPEECH_REGION
переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set
среды вместо setx
.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Создание приложения
Выполните следующие действия, чтобы создать модуль Go.
Откройте окно командной строки в папке, в которой требуется создать проект. Создайте файл с именем speech-synthesis.go.
Скопируйте следующий код в speech-synthesis.go:
package main import ( "bufio" "fmt" "os" "strings" "time" "github.com/Microsoft/cognitive-services-speech-sdk-go/audio" "github.com/Microsoft/cognitive-services-speech-sdk-go/common" "github.com/Microsoft/cognitive-services-speech-sdk-go/speech" ) func synthesizeStartedHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Println("Synthesis started.") } func synthesizingHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Printf("Synthesizing, audio chunk size %d.\n", len(event.Result.AudioData)) } func synthesizedHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Printf("Synthesized, audio length %d.\n", len(event.Result.AudioData)) } func cancelledHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Println("Received a cancellation.") } func main() { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" speechKey := os.Getenv("SPEECH_KEY") speechRegion := os.Getenv("SPEECH_REGION") audioConfig, err := audio.NewAudioConfigFromDefaultSpeakerOutput() if err != nil { fmt.Println("Got an error: ", err) return } defer audioConfig.Close() speechConfig, err := speech.NewSpeechConfigFromSubscription(speechKey, speechRegion) if err != nil { fmt.Println("Got an error: ", err) return } defer speechConfig.Close() speechConfig.SetSpeechSynthesisVoiceName("en-US-AvaMultilingualNeural") speechSynthesizer, err := speech.NewSpeechSynthesizerFromConfig(speechConfig, audioConfig) if err != nil { fmt.Println("Got an error: ", err) return } defer speechSynthesizer.Close() speechSynthesizer.SynthesisStarted(synthesizeStartedHandler) speechSynthesizer.Synthesizing(synthesizingHandler) speechSynthesizer.SynthesisCompleted(synthesizedHandler) speechSynthesizer.SynthesisCanceled(cancelledHandler) for { fmt.Printf("Enter some text that you want to speak, or enter empty text to exit.\n> ") text, _ := bufio.NewReader(os.Stdin).ReadString('\n') text = strings.TrimSuffix(text, "\n") if len(text) == 0 { break } task := speechSynthesizer.SpeakTextAsync(text) var outcome speech.SpeechSynthesisOutcome select { case outcome = <-task: case <-time.After(60 * time.Second): fmt.Println("Timed out") return } defer outcome.Close() if outcome.Error != nil { fmt.Println("Got an error: ", outcome.Error) return } if outcome.Result.Reason == common.SynthesizingAudioCompleted { fmt.Printf("Speech synthesized to speaker for text [%s].\n", text) } else { cancellation, _ := speech.NewCancellationDetailsFromSpeechSynthesisResult(outcome.Result) fmt.Printf("CANCELED: Reason=%d.\n", cancellation.Reason) if cancellation.Reason == common.Error { fmt.Printf("CANCELED: ErrorCode=%d\nCANCELED: ErrorDetails=[%s]\nCANCELED: Did you set the speech resource key and region values?\n", cancellation.ErrorCode, cancellation.ErrorDetails) } } } }
Чтобы изменить язык синтеза речи, замените
en-US-AvaMultilingualNeural
на другой поддерживаемый голос.Все нейронные голосовые модели поддерживают несколько языков и свободно говорят на родном и английском языках. Например, если входной текст на английском языке я рад попробовать текст для речи, и вы задали
es-ES-ElviraNeural
, текст говорится на английском языке с испанским акцентом. Если голос не говорит на языке входного текста, служба "Речь" не выводит синтезированный звук.Выполните приведенные ниже команды, чтобы создать файл go.mod со ссылкой на компоненты, размещенные в GitHub:
go mod init speech-synthesis go get github.com/Microsoft/cognitive-services-speech-sdk-go
Внимание
Убедитесь, что заданы
SPEECH_KEY
переменные среды иSPEECH_REGION
среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.Теперь можно приступить к сборке и выполнению кода:
go build go run speech-synthesis
Замечания
Текст OpenAI для голоса речи в службе "Речь ИИ Azure"
Кроме того, поддерживаются текст OpenAI для голоса речи. См . текст OpenAI для голосовой речи в службе "Речь ИИ Azure" и многоязычные голоса. Вы можете заменить en-US-AvaMultilingualNeural
поддерживаемое голосовое имя OpenAI, например en-US-FableMultilingualNeural
.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочная документация | по Дополнительным примерам на GitHub
С помощью службы "Речь искусственного интеллекта Azure" можно запустить приложение, которое синтезирует человеческую голосовую связь для чтения текста. Вы можете изменить голос, ввести текст и прослушивать выходные данные на динамике компьютера.
Совет
Вы можете попробовать текст для речи в коллекции голосовой связи Speech Studio без регистрации или написания кода.
Совет
Попробуйте использовать набор средств службы "Речь Azure AI", чтобы легко создавать и запускать примеры в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Чтобы настроить среду, установите пакет SDK службы "Речь". Пример, приведенный в этом кратком руководстве, работает со средой выполнения Java.
Установите Apache Maven. Затем выполните команду
mvn -v
, чтобы подтвердить успешную установку.Создайте файл 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</artifactId> <version>1.40.0</version> </dependency> </dependencies> </project>
Установите пакет SDK службы "Речь" и зависимости.
mvn clean dependency:copy-dependencies
Настройка переменных среды
Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать
SPEECH_KEY
переменную среды, замените ключ одним из ключей ресурса. - Чтобы задать
SPEECH_REGION
переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set
среды вместо setx
.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Создание приложения
Выполните следующие действия, чтобы создать консольное приложение для распознавания речи.
Создайте файл с именем SpeechSynthesis.java в том же корневом каталоге проекта.
Скопируйте следующий код в SpeechSynthesis.java:
import com.microsoft.cognitiveservices.speech.*; import com.microsoft.cognitiveservices.speech.audio.*; import java.util.Scanner; import java.util.concurrent.ExecutionException; public class SpeechSynthesis { // 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 { SpeechConfig speechConfig = SpeechConfig.fromSubscription(speechKey, speechRegion); speechConfig.setSpeechSynthesisVoiceName("en-US-AvaMultilingualNeural"); SpeechSynthesizer speechSynthesizer = new SpeechSynthesizer(speechConfig); // Get text from the console and synthesize to the default speaker. System.out.println("Enter some text that you want to speak >"); String text = new Scanner(System.in).nextLine(); if (text.isEmpty()) { return; } SpeechSynthesisResult speechSynthesisResult = speechSynthesizer.SpeakTextAsync(text).get(); if (speechSynthesisResult.getReason() == ResultReason.SynthesizingAudioCompleted) { System.out.println("Speech synthesized to speaker for text [" + text + "]"); } else if (speechSynthesisResult.getReason() == ResultReason.Canceled) { SpeechSynthesisCancellationDetails cancellation = SpeechSynthesisCancellationDetails.fromResult(speechSynthesisResult); 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); } }
Чтобы изменить язык синтеза речи, замените
en-US-AvaMultilingualNeural
на другой поддерживаемый голос.Все нейронные голосовые модели поддерживают несколько языков и свободно говорят на родном и английском языках. Например, если входной текст на английском языке я рад попробовать текст для речи, и вы задали
es-ES-ElviraNeural
, текст говорится на английском языке с испанским акцентом. Если голос не говорит на языке входного текста, служба "Речь" не выводит синтезированный звук.Запустите консольное приложение для вывода синтеза речи на динамик по умолчанию.
javac SpeechSynthesis.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" SpeechSynthesis
Внимание
Убедитесь, что заданы
SPEECH_KEY
переменные среды иSPEECH_REGION
среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.Введите текст, который требуется произнести. Например, введите , что я рад попробовать текст для речи. Выберите клавишу ВВОД, чтобы услышать синтезированную речь.
Enter some text that you want to speak > I'm excited to try text to speech
Замечания
Дополнительные варианты синтеза речи
В этом кратком руководстве для синтеза короткого блока введенного вами текста используется операция SpeakTextAsync
. Вы также можете использовать длинный текст из файла и получить более точное управление стилями голоса, просодией и другими параметрами.
- Узнайте, как синтезировать речь и язык разметки синтеза речи (SSML) для получения сведений о синтезе речи из файла и более точном управлении стилями голоса, просодией и другими параметрами.
- См . API пакетного синтеза для преобразования текста в речь , чтобы получить сведения о синтезе длинного текста в речь.
Текст OpenAI для голоса речи в службе "Речь ИИ Azure"
Кроме того, поддерживаются текст OpenAI для голоса речи. См . текст OpenAI для голосовой речи в службе "Речь ИИ Azure" и многоязычные голоса. Вы можете заменить en-US-AvaMultilingualNeural
поддерживаемое голосовое имя OpenAI, например en-US-FableMultilingualNeural
.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочные примеры пакета документации | (npm) | Дополнительные примеры в исходном коде библиотеки GitHub |
С помощью службы "Речь искусственного интеллекта Azure" можно запустить приложение, которое синтезирует человеческую голосовую связь для чтения текста. Вы можете изменить голос, ввести текст и прослушивать выходные данные на динамике компьютера.
Совет
Вы можете попробовать текст для речи в коллекции голосовой связи Speech Studio без регистрации или написания кода.
Совет
Попробуйте использовать набор средств службы "Речь Azure AI", чтобы легко создавать и запускать примеры в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Чтобы настроить среду, установите пакет SDK службы "Речь" для JavaScript. Если вам только нужно имя пакета для установки, выполните команду npm install microsoft-cognitiveservices-speech-sdk
. Подробные инструкции по установке см. в разделе "Установка пакета SDK службы "Речь".
Настройка переменных среды
Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать
SPEECH_KEY
переменную среды, замените ключ одним из ключей ресурса. - Чтобы задать
SPEECH_REGION
переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set
среды вместо setx
.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Создание приложения
Выполните следующие действия, чтобы создать консольное приложение Node.js для синтеза речи.
Откройте окно консоли, в котором требуется новый проект, и создайте файл с именем SpeechSynthesis.js.
Установите пакет SDK службы "Речь" для JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
Скопируйте следующий код в SpeechSynthesis.js:
(function() { "use strict"; var sdk = require("microsoft-cognitiveservices-speech-sdk"); var readline = require("readline"); var audioFile = "YourAudioFile.wav"; // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" const speechConfig = sdk.SpeechConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION); const audioConfig = sdk.AudioConfig.fromAudioFileOutput(audioFile); // The language of the voice that speaks. speechConfig.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural"; // Create the speech synthesizer. var synthesizer = new sdk.SpeechSynthesizer(speechConfig, audioConfig); var rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.question("Enter some text that you want to speak >\n> ", function (text) { rl.close(); // Start the synthesizer and wait for a result. synthesizer.speakTextAsync(text, function (result) { if (result.reason === sdk.ResultReason.SynthesizingAudioCompleted) { console.log("synthesis finished."); } else { console.error("Speech synthesis canceled, " + result.errorDetails + "\nDid you set the speech resource key and region values?"); } synthesizer.close(); synthesizer = null; }, function (err) { console.trace("err - " + err); synthesizer.close(); synthesizer = null; }); console.log("Now synthesizing to: " + audioFile); }); }());
В SpeechSynthesis.js при необходимости можно переименовать YourAudioFile.wav в другое имя выходного файла.
Чтобы изменить язык синтеза речи, замените
en-US-AvaMultilingualNeural
на другой поддерживаемый голос.Все нейронные голосовые модели поддерживают несколько языков и свободно говорят на родном и английском языках. Например, если входной текст на английском языке я рад попробовать текст для речи, и вы задали
es-ES-ElviraNeural
, текст говорится на английском языке с испанским акцентом. Если голос не говорит на языке входного текста, служба "Речь" не выводит синтезированный звук.Запустите консольное приложение, чтобы начать синтез речи в файл:
node SpeechSynthesis.js
Внимание
Убедитесь, что заданы
SPEECH_KEY
переменные среды иSPEECH_REGION
среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.Предоставленный текст должен находиться в звуковом файле:
Enter some text that you want to speak > > I'm excited to try text to speech Now synthesizing to: YourAudioFile.wav synthesis finished.
Замечания
Дополнительные варианты синтеза речи
В этом кратком руководстве для синтеза короткого блока введенного вами текста используется операция SpeakTextAsync
. Вы также можете использовать длинный текст из файла и получить более точное управление стилями голоса, просодией и другими параметрами.
- Узнайте, как синтезировать речь и язык разметки синтеза речи (SSML) для получения сведений о синтезе речи из файла и более точном управлении стилями голоса, просодией и другими параметрами.
- См . API пакетного синтеза для преобразования текста в речь , чтобы получить сведения о синтезе длинного текста в речь.
Текст OpenAI для голоса речи в службе "Речь ИИ Azure"
Кроме того, поддерживаются текст OpenAI для голоса речи. См . текст OpenAI для голосовой речи в службе "Речь ИИ Azure" и многоязычные голоса. Вы можете заменить en-US-AvaMultilingualNeural
поддерживаемое голосовое имя OpenAI, например en-US-FableMultilingualNeural
.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочный пакет документации | (скачивание) | Дополнительные примеры на GitHub
С помощью службы "Речь искусственного интеллекта Azure" можно запустить приложение, которое синтезирует человеческую голосовую связь для чтения текста. Вы можете изменить голос, ввести текст и прослушивать выходные данные на динамике компьютера.
Совет
Вы можете попробовать текст для речи в коллекции голосовой связи Speech Studio без регистрации или написания кода.
Совет
Попробуйте использовать набор средств службы "Речь Azure AI", чтобы легко создавать и запускать примеры в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Пакет SDK службы "Речь" для Objective-C сейчас доступен в виде пакета платформы. Платформа поддерживает как Objective-C, так и SWIFT как в iOS, так и в macOS.
Пакет SDK службы "Речь" можно использовать в проектах Xcode в качестве КакаоПода или скачать напрямую и связать вручную. В этом руководстве используется диспетчер зависимостей CocoaPods. Установите диспетчер зависимостей CocoaPods, следуя его инструкциям по установке.
Настройка переменных среды
Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать
SPEECH_KEY
переменную среды, замените ключ одним из ключей ресурса. - Чтобы задать
SPEECH_REGION
переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set
среды вместо setx
.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Создание приложения
Выполните следующие действия для синтеза речи в приложении macOS.
Клонируйте репозиторий Azure-Samples/cognitive-services-speech-sdk, чтобы получить пример проекта Синтез звука в Objective-C в macOS с помощью пакета SDK службы "Речь". Репозиторий также содержит примеры для iOS.
Откройте каталог скачаемого примера приложения (
helloworld
) в терминале.Выполните команду
pod install
. При этом будет создана рабочая область Xcodehelloworld.xcworkspace
, содержащая пример приложения и пакет SDK для службы "Речь" в виде зависимости.Откройте рабочую область
helloworld.xcworkspace
в Xcode.Откройте файл с именем AppDelegate.m и найдите
buttonPressed
метод, как показано здесь.- (void)buttonPressed:(NSButton *)button { // Creates an instance of a speech config with specified subscription key and service region. NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"]; NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"]; SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:speechKey region:serviceRegion]; speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural"; SPXSpeechSynthesizer *speechSynthesizer = [[SPXSpeechSynthesizer alloc] init:speechConfig]; NSLog(@"Start synthesizing..."); SPXSpeechSynthesisResult *speechResult = [speechSynthesizer speakText:[self.textField stringValue]]; // Checks result. if (SPXResultReason_Canceled == speechResult.reason) { SPXSpeechSynthesisCancellationDetails *details = [[SPXSpeechSynthesisCancellationDetails alloc] initFromCanceledSynthesisResult:speechResult]; NSLog(@"Speech synthesis was canceled: %@. Did you set the speech resource key and region values?", details.errorDetails); } else if (SPXResultReason_SynthesizingAudioCompleted == speechResult.reason) { NSLog(@"Speech synthesis was completed"); } else { NSLog(@"There was an error."); } }
В AppDelegate.m используйте переменные среды, заданные ранее для ключа ресурса службы "Речь" и региона.
NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"]; NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
При необходимости в AppDelegate.m включите имя голоса синтеза речи, как показано здесь:
speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural";
Чтобы изменить язык синтеза речи, замените
en-US-AvaMultilingualNeural
на другой поддерживаемый голос.Все нейронные голосовые модели поддерживают несколько языков и свободно говорят на родном и английском языках. Например, если входной текст на английском языке я рад попробовать текст для речи, и вы задали
es-ES-ElviraNeural
, текст говорится на английском языке с испанским акцентом. Если голос не говорит на языке входного текста, служба "Речь" не выводит синтезированный звук.Чтобы сделать выходные данные отладки видимыми, выберите "Просмотреть>консоль активации области>отладки".
Чтобы создать и запустить пример кода, выберите "Запуск продукта>" в меню или нажмите кнопку "Воспроизвести".
Внимание
Убедитесь, что заданы
SPEECH_KEY
переменные среды иSPEECH_REGION
среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.
После ввода текста и нажатия кнопки в приложении следует синтезированный звук.
Замечания
Дополнительные варианты синтеза речи
В этом кратком руководстве для синтеза короткого блока введенного вами текста используется операция SpeakText
. Вы также можете использовать длинный текст из файла и получить более точное управление стилями голоса, просодией и другими параметрами.
- Узнайте, как синтезировать речь и язык разметки синтеза речи (SSML) для получения сведений о синтезе речи из файла и более точном управлении стилями голоса, просодией и другими параметрами.
- См . API пакетного синтеза для преобразования текста в речь , чтобы получить сведения о синтезе длинного текста в речь.
Текст OpenAI для голоса речи в службе "Речь ИИ Azure"
Кроме того, поддерживаются текст OpenAI для голоса речи. См . текст OpenAI для голосовой речи в службе "Речь ИИ Azure" и многоязычные голоса. Вы можете заменить en-US-AvaMultilingualNeural
поддерживаемое голосовое имя OpenAI, например en-US-FableMultilingualNeural
.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочный пакет документации | (скачивание) | Дополнительные примеры на GitHub
С помощью службы "Речь искусственного интеллекта Azure" можно запустить приложение, которое синтезирует человеческую голосовую связь для чтения текста. Вы можете изменить голос, ввести текст и прослушивать выходные данные на динамике компьютера.
Совет
Вы можете попробовать текст для речи в коллекции голосовой связи Speech Studio без регистрации или написания кода.
Совет
Попробуйте использовать набор средств службы "Речь Azure AI", чтобы легко создавать и запускать примеры в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Пакет SDK службы "Речь" для Swift сейчас доступен в виде пакета платформы. Платформа поддерживает как Objective-C, так и SWIFT как в iOS, так и в macOS.
Пакет SDK службы "Речь" можно использовать в проектах Xcode в качестве КакаоПода или скачать напрямую и связать вручную. В этом руководстве используется диспетчер зависимостей CocoaPods. Установите диспетчер зависимостей CocoaPods, следуя его инструкциям по установке.
Настройка переменных среды
Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать
SPEECH_KEY
переменную среды, замените ключ одним из ключей ресурса. - Чтобы задать
SPEECH_REGION
переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set
среды вместо setx
.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Создание приложения
Выполните следующие действия для синтеза речи в приложении macOS.
Клонируйте репозиторий Azure-Samples/cognitive-services-speech-sdk, чтобы получить пример проекта Синтез звука в Swift в macOS с помощью пакета SDK службы "Речь". Репозиторий также содержит примеры для iOS.
Перейдите в каталог скачанного примера приложения (
helloworld
) в терминале.Выполните команду
pod install
. При этом будет создана рабочая область Xcodehelloworld.xcworkspace
, содержащая пример приложения и пакет SDK для службы "Речь" в виде зависимости.Откройте рабочую область
helloworld.xcworkspace
в Xcode.Откройте файл с именем AppDelegate.swift и найдите
applicationDidFinishLaunching
методы,synthesize
как показано здесь.import Cocoa @NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate, NSTextFieldDelegate { var textField: NSTextField! var synthesisButton: NSButton! var inputText: String! var sub: String! var region: String! @IBOutlet weak var window: NSWindow! func applicationDidFinishLaunching(_ aNotification: Notification) { print("loading") // load subscription information sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"] inputText = "" textField = NSTextField(frame: NSRect(x: 100, y: 200, width: 200, height: 50)) textField.textColor = NSColor.black textField.lineBreakMode = .byWordWrapping textField.placeholderString = "Type something to synthesize." textField.delegate = self self.window.contentView?.addSubview(textField) synthesisButton = NSButton(frame: NSRect(x: 100, y: 100, width: 200, height: 30)) synthesisButton.title = "Synthesize" synthesisButton.target = self synthesisButton.action = #selector(synthesisButtonClicked) self.window.contentView?.addSubview(synthesisButton) } @objc func synthesisButtonClicked() { DispatchQueue.global(qos: .userInitiated).async { self.synthesize() } } func synthesize() { var speechConfig: SPXSpeechConfiguration? do { try speechConfig = SPXSpeechConfiguration(subscription: sub, region: region) } catch { print("error \(error) happened") speechConfig = nil } speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural"; let synthesizer = try! SPXSpeechSynthesizer(speechConfig!) let result = try! synthesizer.speakText(inputText) if result.reason == SPXResultReason.canceled { let cancellationDetails = try! SPXSpeechSynthesisCancellationDetails(fromCanceledSynthesisResult: result) print("cancelled, error code: \(cancellationDetails.errorCode) detail: \(cancellationDetails.errorDetails!) ") print("Did you set the speech resource key and region values?"); return } } func controlTextDidChange(_ obj: Notification) { let textFiled = obj.object as! NSTextField inputText = textFiled.stringValue } }
В AppDelegate.m используйте переменные среды, заданные ранее для ключа ресурса службы "Речь" и региона.
sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
При необходимости в AppDelegate.m включите имя голоса синтеза речи, как показано здесь:
speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural";
Чтобы изменить язык синтеза речи, замените
en-US-AvaMultilingualNeural
на другой поддерживаемый голос.Все нейронные голосовые модели поддерживают несколько языков и свободно говорят на родном и английском языках. Например, если входной текст на английском языке я рад попробовать текст для речи, и вы задали
es-ES-ElviraNeural
, текст говорится на английском языке с испанским акцентом. Если голос не говорит на языке входного текста, служба "Речь" не выводит синтезированный звук.Чтобы сделать выходные данные отладки видимыми, выберите "Просмотреть>консоль активации области>отладки".
Чтобы создать и запустить пример кода, выберите "Запуск продукта>" в меню или нажмите кнопку "Воспроизвести".
Внимание
Убедитесь, что заданы SPEECH_KEY
переменные среды и SPEECH_REGION
среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.
После ввода текста и нажатия кнопки в приложении следует синтезированный звук.
Замечания
Дополнительные варианты синтеза речи
В этом кратком руководстве для синтеза короткого блока введенного вами текста используется операция SpeakText
. Вы также можете использовать длинный текст из файла и получить более точное управление стилями голоса, просодией и другими параметрами.
- Узнайте, как синтезировать речь и язык разметки синтеза речи (SSML) для получения сведений о синтезе речи из файла и более точном управлении стилями голоса, просодией и другими параметрами.
- См . API пакетного синтеза для преобразования текста в речь , чтобы получить сведения о синтезе длинного текста в речь.
Текст OpenAI для голоса речи в службе "Речь ИИ Azure"
Кроме того, поддерживаются текст OpenAI для голоса речи. См . текст OpenAI для голосовой речи в службе "Речь ИИ Azure" и многоязычные голоса. Вы можете заменить en-US-AvaMultilingualNeural
поддерживаемое голосовое имя OpenAI, например en-US-FableMultilingualNeural
.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочные примеры пакета документации | (PyPi) | Дополнительные примеры на GitHub
С помощью службы "Речь искусственного интеллекта Azure" можно запустить приложение, которое синтезирует человеческую голосовую связь для чтения текста. Вы можете изменить голос, ввести текст и прослушивать выходные данные на динамике компьютера.
Совет
Вы можете попробовать текст для речи в коллекции голосовой связи Speech Studio без регистрации или написания кода.
Совет
Попробуйте использовать набор средств службы "Речь Azure AI", чтобы легко создавать и запускать примеры в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Пакет SDK для Python доступен в виде модуля индекса пакетов Python (PyPI). Пакет SDK для службы "Речь" (Python) совместим с Windows, Linux и macOS.
- В Windows установите microsoft Распространяемый компонент Visual C++ для Visual Studio 2015, 2017, 2019 и 2022 для своей платформы. Установка этого пакета может потребовать перезагрузки.
- В Linux необходимо использовать целевую архитектуру x64.
Установите версию Python с версии 3.7 или более поздней версии. Дополнительные сведения см. в разделе "Установка пакета SDK службы "Речь".
Настройка переменных среды
Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать
SPEECH_KEY
переменную среды, замените ключ одним из ключей ресурса. - Чтобы задать
SPEECH_REGION
переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set
среды вместо setx
.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Создание приложения
Выполните следующие действия, чтобы создать консольное приложение.
Откройте окно командной строки в папке, в которой требуется создать проект. Создайте файл с именем speech_synthesis.py.
Выполните следующую команду для установки пакета SDK для службы "Речь".
pip install azure-cognitiveservices-speech
Скопируйте следующий код в speech_synthesis.py:
import os import azure.cognitiveservices.speech as speechsdk # This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION')) audio_config = speechsdk.audio.AudioOutputConfig(use_default_speaker=True) # The neural multilingual voice can speak different languages based on the input text. speech_config.speech_synthesis_voice_name='en-US-AvaMultilingualNeural' speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config) # Get text from the console and synthesize to the default speaker. print("Enter some text that you want to speak >") text = input() speech_synthesis_result = speech_synthesizer.speak_text_async(text).get() if speech_synthesis_result.reason == speechsdk.ResultReason.SynthesizingAudioCompleted: print("Speech synthesized for text [{}]".format(text)) elif speech_synthesis_result.reason == speechsdk.ResultReason.Canceled: cancellation_details = speech_synthesis_result.cancellation_details print("Speech synthesis canceled: {}".format(cancellation_details.reason)) if cancellation_details.reason == speechsdk.CancellationReason.Error: if cancellation_details.error_details: print("Error details: {}".format(cancellation_details.error_details)) print("Did you set the speech resource key and region values?")
Чтобы изменить язык синтеза речи, замените
en-US-AvaMultilingualNeural
на другой поддерживаемый голос.Все нейронные голосовые модели поддерживают несколько языков и свободно говорят на родном и английском языках. Например, если входной текст на английском языке я рад попробовать текст для речи, и вы задали
es-ES-ElviraNeural
, текст говорится на английском языке с испанским акцентом. Если голос не говорит на языке входного текста, служба "Речь" не выводит синтезированный звук.Запустите новое консольное приложение, чтобы начать синтез речи на динамик по умолчанию.
python speech_synthesis.py
Внимание
Убедитесь, что заданы
SPEECH_KEY
переменные среды иSPEECH_REGION
среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.Введите текст, который требуется произнести. Например, введите , что я рад попробовать текст для речи. Выберите клавишу ВВОД, чтобы услышать синтезированную речь.
Enter some text that you want to speak > I'm excited to try text to speech
Замечания
Дополнительные варианты синтеза речи
В этом кратком руководстве для синтеза короткого блока введенного вами текста используется операция speak_text_async
. Вы также можете использовать длинный текст из файла и получить более точное управление стилями голоса, просодией и другими параметрами.
- Узнайте, как синтезировать речь и язык разметки синтеза речи (SSML) для получения сведений о синтезе речи из файла и более точном управлении стилями голоса, просодией и другими параметрами.
- См . API пакетного синтеза для преобразования текста в речь , чтобы получить сведения о синтезе длинного текста в речь.
Текст OpenAI для голоса речи в службе "Речь ИИ Azure"
Кроме того, поддерживаются текст OpenAI для голоса речи. См . текст OpenAI для голосовой речи в службе "Речь ИИ Azure" и многоязычные голоса. Вы можете заменить en-US-AvaMultilingualNeural
поддерживаемое голосовое имя OpenAI, например en-US-FableMultilingualNeural
.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Преобразование речи в текст REST API ссылки на | речь на текстовый REST API для краткой справки по звуковой ссылке | на Дополнительные примеры на GitHub
С помощью службы "Речь искусственного интеллекта Azure" можно запустить приложение, которое синтезирует человеческую голосовую связь для чтения текста. Вы можете изменить голос, ввести текст и прослушивать выходные данные на динамике компьютера.
Совет
Вы можете попробовать текст для речи в коллекции голосовой связи Speech Studio без регистрации или написания кода.
Совет
Попробуйте использовать набор средств службы "Речь Azure AI", чтобы легко создавать и запускать примеры в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка переменных среды
Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать
SPEECH_KEY
переменную среды, замените ключ одним из ключей ресурса. - Чтобы задать
SPEECH_REGION
переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set
среды вместо setx
.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Синтезирование речи в файл
В командной строке выполните приведенную ниже команду cURL. При необходимости можно переименовать output.mp3 в другое имя выходного файла.
curl --location --request POST "https://%SPEECH_REGION%.tts.speech.microsoft.com/cognitiveservices/v1" ^
--header "Ocp-Apim-Subscription-Key: %SPEECH_KEY%" ^
--header "Content-Type: application/ssml+xml" ^
--header "X-Microsoft-OutputFormat: audio-16khz-128kbitrate-mono-mp3" ^
--header "User-Agent: curl" ^
--data-raw "<speak version='1.0' xml:lang='en-US'><voice xml:lang='en-US' xml:gender='Female' name='en-US-AvaMultilingualNeural'>my voice is my passport verify me</voice></speak>" --output output.mp3
Внимание
Убедитесь, что заданы SPEECH_KEY
переменные среды и SPEECH_REGION
среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.
Предоставленный текст должен выводиться в звуковой файл с именем output.mp3.
Чтобы изменить язык синтеза речи, замените en-US-AvaMultilingualNeural
на другой поддерживаемый голос.
Все нейронные голосовые модели поддерживают несколько языков и свободно говорят на родном и английском языках. Например, если входной текст на английском языке я рад попробовать текст для речи, и вы задалиes-ES-ElviraNeural
, текст говорится на английском языке с испанским акцентом. Если голос не говорит на языке входного текста, служба "Речь" не выводит синтезированный звук.
Дополнительные сведения см. в разделе REST API преобразования текста в речь.
Замечания
Текст OpenAI для голоса речи в службе "Речь ИИ Azure"
Кроме того, поддерживаются текст OpenAI для голоса речи. См . текст OpenAI для голосовой речи в службе "Речь ИИ Azure" и многоязычные голоса. Вы можете заменить en-US-AvaMultilingualNeural
поддерживаемое голосовое имя OpenAI, например en-US-FableMultilingualNeural
.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
С помощью службы "Речь искусственного интеллекта Azure" можно запустить приложение, которое синтезирует человеческую голосовую связь для чтения текста. Вы можете изменить голос, ввести текст и прослушивать выходные данные на динамике компьютера.
Совет
Вы можете попробовать текст для речи в коллекции голосовой связи Speech Studio без регистрации или написания кода.
Совет
Попробуйте использовать набор средств службы "Речь Azure AI", чтобы легко создавать и запускать примеры в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс службы "Речь" в портал Azure.
- Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Выполните следующие действия и ознакомьтесь с кратким руководством по интерфейсу командной строки службы "Речь" для других требований для платформы.
Выполните следующую команду .NET CLI, чтобы установить интерфейс командной строки службы "Речь".
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
Выполните следующие команды, чтобы настроить ключ ресурса службы "Речь" и регион. Замените ключом ресурса "Речь" и замените
SUBSCRIPTION-KEY
REGION
регионом ресурсов службы "Речь".spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
Отправка речи говорящему
Выполните следующую команду, чтобы вывести синтез речи на динамик по умолчанию. Можно изменить голос и текст для синтеза.
spx synthesize --text "I'm excited to try text to speech" --voice "en-US-AvaMultilingualNeural"
Если вы не задаете имя голоса, голос по умолчанию для en-US
речи.
Все нейронные голосовые модели поддерживают несколько языков и свободно говорят на родном и английском языках. Например, если входной текст на английском языке я рад попробовать текст для речи, и вы задали--voice "es-ES-ElviraNeural"
, текст говорится на английском языке с испанским акцентом. Если голос не говорит на языке входного текста, служба "Речь" не выводит синтезированный звук.
Выполните эту команду для получения дополнительных параметров синтеза речи, таких как входные и выходные данные файлов:
spx help synthesize
Замечания
Поддержка SSML
Вы можете более точно контролировать стили голоса, просодию и другие параметры с помощью языка разметки синтеза речи (SSML).
Текст OpenAI для голоса речи в службе "Речь ИИ Azure"
Кроме того, поддерживаются текст OpenAI для голоса речи. См . текст OpenAI для голосовой речи в службе "Речь ИИ Azure" и многоязычные голоса. Вы можете заменить en-US-AvaMultilingualNeural
поддерживаемое голосовое имя OpenAI, например en-US-FableMultilingualNeural
.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.