语音识别与合成
通过麦克风捕获的声音并转换为文本 (STT),或通过文本读出 (TTS)
该组件依赖.,使用该组件需要参考其组件包
演示
Nuget 包安装
使用。组件安装
.NET CLI
p>
dotnet add package BootstrapBlazor.AzureSpeech
注册服务
.cs
// 增加语音服务
builder.Services.AddBootstrapBlazorAzureSpeech();
使用服务
// 语音识别服务
[Inject]
[NotNull]
private RecognizerService? RecognizerService { get; set; }
// 语音合成服务
[Inject]
[NotNull]
private SynthesizerService? SynthesizerService { get; set; }
1. 语音识别,通过语音捕捉设备将语音转换为文本
点击开始识别以识别输入语音
@page "/recognizers"
@using BootstrapBlazor.Components
@using Microsoft.AspNetCore.Components
Recognizer 语音识别
通过语音采集设备将语音转化为文本
使用说明:
点击 开始识别 后,脚本运行可能会提示要求录音权限,授权后开始讲话,稍等一下,右侧文本框显示语音识别结果,请勿讲完话后直接点击 结束识别
@code{
[Inject]
[NotNull]
private RecognizerService? RecognizerService { get; set; }
private bool Start { get; set; }
private string? Result { get; set; }
private string ButtonText { get; set; } = "开始识别";
private async Task OnStart()
{
if (ButtonText == "开始识别")
{
Start = true;
ButtonText = "结束识别";
await RecognizerService.RecognizeOnceAsync(Recognize);
}
else
{
await Close();
}
}
private async Task OnTimeout()
{
await Close();
}
private Task Recognize(string result)
{
Result = result;
Start = false;
ButtonText = "开始识别";
StateHasChanged();
return Task.CompletedTask;
}
private async Task Close()
{
await RecognizerService.CloseAsync(Recognize);
}
}
2. 语音合成,将文本内容转换成语音
点击开始合成后的语音合成
@page "/synthesizers"
@using BootstrapBlazor.Components
@using Microsoft.AspNetCore.Components
Synthesizer 语音合成
将文本内容转化为语音
@code{
[Inject]
[NotNull]
private SynthesizerService? SynthesizerService { get; set; }
private bool Start { get; set; }
private string? InputText { get; set; }
private string ButtonText { get; set; } = "开始合成";
private string ButtonIcon { get; set; } = "fa fa-fw fa-microphone";
private bool IsDisabled { get; set; }
private async Task OnStart()
{
if (ButtonText == "开始合成")
{
IsDisabled = true;
ButtonIcon = "fa fa-fw fa-spin fa-spinner";
await SynthesizerService.SynthesizerOnceAsync(InputText, Recognize);
}
else
{
await Close();
}
}
private Task Recognize(SynthesizerStatus status)
{
if (status == SynthesizerStatus.Synthesizer)
{
Start = true;
IsDisabled = false;
ButtonIcon = "fa fa-fw fa-spin fa-spinner";
ButtonText = "停止合成";
}
else
{
Start = false;
IsDisabled = false;
ButtonIcon = "fa fa-fw fa-microphone";
ButtonText = "开始合成";
}
StateHasChanged();
return Task.CompletedTask;
}
private async Task Close()
{
await SynthesizerService.CloseAsync(Recognize);
}
}
组件库文档
写在最后
希望大佬们看到这篇文章,给项目一个star支持,谢谢!
星级流程:
1、访问并点击项目链接:
2、@ >点击star,如下图,即可完成star,关注项目不迷路:
还有两个GVP项目,如果方便大佬点个star,非常感谢:
项目地址:
项目地址:
交流群(QQ)欢迎加群讨论
BA & ①() BA & ②()
© 版权声明
本站下载的源码均来自公开网络收集转发二次开发而来,
若侵犯了您的合法权益,请来信通知我们1413333033@qq.com,
我们会及时删除,给您带来的不便,我们深表歉意。
下载用户仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,访问及下载者下载默认同意本站声明的免责申明,请合理使用切勿商用。
THE END
暂无评论内容