首先创建一个语音服务
创建成功后进入该服务
然后找到 密钥和终结点
保存密钥和位置/区域
密钥1和密钥2其中一个就可以
首先添加依赖
com.microsoft.cognitiveservices.speech client-sdk1.18.0
我使用时这个依赖是不能直接从我之前常用的maven库下载来的,azure还提供了包含对语音 SDK 的 Maven 存储库的引用
maven-cognitiveservices-speech Microsoft Cognitive Services Speech Maven Repository https://csspeechstorage.blob.core.windows.net/maven/
引用完就可以开始java代码了
文字转语音服务public static void main(String[] args) { //配置 SpeechConfig speechConfig = SpeechConfig.fromSubscription("aaaa", "bbbb"); //语言类型为中文 speechConfig.setSpeechSynthesisLanguage("zh-cn"); // e.g. "de-DE" //讲话风格 speechConfig.setSpeechSynthesisVoiceName("zh-CN-XiaomoNeural"); AudioConfig audioConfig = AudioConfig.fromDefaultSpeakerOutput(); SpeechSynthesizer synthesizer = new SpeechSynthesizer(speechConfig, audioConfig); synthesizer.SpeakText("语音转换真有趣!"); }
配置中的aaaa填准备阶段保存下来的密钥
配置中的bbbb填准备阶段保存下来的和位置/区域
讲话风格可以自定义
更多可以参照
https://docs.microsoft.com/zh-cn/azure/cognitive-services/speech-service/speech-synthesis-markup?tabs=csharp
如果需要将生成的语音保存下来,就将
AudioConfig audioConfig = AudioConfig.fromDefaultSpeakerOutput();
替换为
AudioConfig audioConfig = AudioConfig.fromWavFileOutput("D:/test.wav");
即可
java代码
SpeechConfig speechConfig = SpeechConfig.fromSubscription("aaaa", "bbbb"); AudioConfig audioConfig = AudioConfig.fromWavFileInput("D:/test.wav"); SpeechRecognizer recognizer = new SpeechRecognizer(speechConfig,"zh-cn", audioConfig); Futuretask = recognizer.recognizeOnceAsync(); SpeechRecognitionResult result = task.get(); System.out.println("转换成功的语言:" + result.getText());
运行结果
注意
配置中的aaaa填准备阶段保存下来的密钥
配置中的bbbb填准备阶段保存下来的和位置/区域
语言一定要记得配置,不然会生成的是奇怪的句子哈哈哈哈eg:转换成功的语言:Huion drawing, giochi.
java代码
public static void main(String[] args) throws ExecutionException, InterruptedException { SpeechTranslationConfig translationConfig = SpeechTranslationConfig.fromSubscription( "aaaa", "bbbb"); String fromLanguage = "zh-cn"; String[] toLanguages = { "en-US" }; translationConfig.setSpeechRecognitionLanguage(fromLanguage); for (String language : toLanguages) { translationConfig.addTargetLanguage(language); } AudioConfig audioConfig = AudioConfig.fromWavFileInput("D:/test.wav"); try (TranslationRecognizer recognizer = new TranslationRecognizer(translationConfig, audioConfig)){ System.out.printf("来源语音设定为'%s' ", fromLanguage); TranslationRecognitionResult result = recognizer.recognizeOnceAsync().get(); if (result.getReason() == ResultReason.TranslatedSpeech) { System.out.printf("音频转文字为: "%s"n", result.getText()); for (Map.Entrypair : result.getTranslations().entrySet()) { System.out.printf("文字翻译为 '%s': %sn", pair.getKey(), pair.getValue()); } } } }
配置中的aaaa填准备阶段保存下来的密钥
配置中的bbbb填准备阶段保存下来的和位置/区域
fromLanguage 配置音频的语言类型
toLanguages 配置翻译的语言类型,这是一个数组,可以配置多种语言
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)