语音识别与合成
通过麦克风捕获的声音并转换为文本 (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
![图片[1]-Blazor Bootstrap 组件库语音组件介绍-唐朝资源网](http://pic3.zhimg.com/80/v2-1b42ea961d58ba440a3f2a74b46ff11c_720w.jpg?source=1940ef5c)
@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()
{
![图片[2]-Blazor Bootstrap 组件库语音组件介绍-唐朝资源网](http://img-blog.csdnimg.cn/80c4037ffa54436b94c96326e9f29307.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L05haXZh,size_16,color_FFFFFF,t_70)
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);
}
}
![图片[3]-Blazor Bootstrap 组件库语音组件介绍-唐朝资源网](http://p7.itc.cn/q_70/images03/20201023/aa2f8e2f47534fcfa88e2b340f7895c1.png)
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; } = "开始合成";
![图片[4]-Blazor Bootstrap 组件库语音组件介绍-唐朝资源网](http://www.zsqz.com/chuangke/picApp/13-6.png)
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;
![图片[5]-Blazor Bootstrap 组件库语音组件介绍-唐朝资源网](http://img.jbzj.com/do/uploads/litimg/140605/0945023321V.gif)
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
暂无评论内容