java使用azure初入门

语音服务试用:

开始准备:

首先创建一个语音服务
java使用azure初入门_第1张图片
创建成功后进入该服务
java使用azure初入门_第2张图片
然后找到 密钥和终结点
java使用azure初入门_第3张图片
保存密钥位置/区域
密钥1和密钥2其中一个就可以

开始代码

首先添加依赖

<dependency>
            <groupId>com.microsoft.cognitiveservices.speech</groupId>
            <artifactId>client-sdk</artifactId>
            <version>1.18.0</version>
        </dependency>

我使用时这个依赖是不能直接从我之前常用的maven库下载来的,azure还提供了包含对语音 SDK 的 Maven 存储库的引用

<repositories>
  <repository>
    <id>maven-cognitiveservices-speech</id>
    <name>Microsoft Cognitive Services Speech Maven Repository</name>
    <url>https://csspeechstorage.blob.core.windows.net/maven/</url>
  </repository>
</repositories>

引用完就可以开始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填准备阶段保存下来的和位置/区域

讲话风格可以自定义
java使用azure初入门_第4张图片
更多可以参照
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);

        Future<SpeechRecognitionResult> task = 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.Entry<String, String> pair : result.getTranslations().entrySet()) {
                    System.out.printf("文字翻译为 '%s': %s\n", pair.getKey(), pair.getValue());
                }
            }
        }
    }

配置中的aaaa填准备阶段保存下来的密钥
配置中的bbbb填准备阶段保存下来的和位置/区域

fromLanguage 配置音频的语言类型
toLanguages 配置翻译的语言类型,这是一个数组,可以配置多种语言

你可能感兴趣的:(日常记录,资料,java,azure,开发语言)