VoiceNET 库





5.00/5 (2投票s)
免费语音命令控制库
目录
引言
VoiceNET 库可以轻松快速地通过标签预测创建语音命令控制功能。 它可以帮助在软件或网络上实时开发语音控制。 它免费支持在线和离线使用。 这是一个社区开发项目,旨在帮助人们更轻松地访问语音识别技术。
这是一个来自 FPT Edu Research Festival 2021 竞赛的研究项目。
它是如何工作的?
使用 ML.NET 和 Spectrogram 库,VoiceNET 库通过将您的声音转换为频谱图来工作。 从那里,继续使用 ML.NET 库中的图像分类功能来标记标签。
特点
- 实时语音命令控制
- 基于录音的语音命令控制
优点
- 轻松将库集成到您的程序中
- 代码简单,适合所有人使用
- 可以在线和离线使用
- 可以用于世界上任何通信语言
- 它是免费的
缺点
- 为库创建一个模型需要很长时间。
- 将模型加载到程序中的时间可能会很慢。
- 标记识别时仍然存在错误率。
安装
一旦你有了应用程序,你可以使用 .NET Core CLI 从 NuGet 包管理器安装 VoiceNET Library NuGet 包
dotnet add package VoiceNET.Library
或从 NuGet 包管理器
Install-Package VoiceNET.Library
快速入门
WinForm 实时
示例
如何在实时模式下创建一个 Demo?
拖放到 Windows Forms 界面
- 标签:
lbResult
- 定时器:
tmGetResult (Interval=1)
在 Form_Load
中
VBuilder.ModelPath("<your_model_path>");
if (VBuilder.loadModel())
{
tmGetResult.Start();
VBuilder.WFListener();
}
在 tmGetResult
中
lbResult.Text = VBuilder.WFGetResult;
如果您想停止收听,请使用以下代码
VBuilder.WFStopListener();
WinForm 录音
示例
如何在录音模式下创建一个 Demo?
拖放到 Windows Forms 界面
- 按钮:
btnRecord
,btnStop
- 标签:
lbResult
Form_Load
:
VBuilder.ModelPath("<your_model_path>");
if(VBuilder.loadModel())
//do something after Load Model
else
//do something if fail
btnRecord_Click
:
VBuilder.StartRecord();
btnStop.Enabled = true;
btnRecord.Enabled = false;
btnStop
:
VBuilder.StopRecord();
lbResult.Text = VBuilder.Result(true);
btnRecord.Enabled = true;
btnStop.Enabled = false;
WPF 实时 - v1.0.5 版本开始支持
拖放到 WPF 应用程序界面
- 标签:
lbResult
在 MainWindow()
前面
public DispatcherTimer tmGetResult = new DispatcherTimer();
在 MainWindow()
中
tmGetResult.Interval = TimeSpan.FromSeconds(1);
tmGetResult.Tick += tmGetResult_Tick;
VBuilder.ModelPath("<your_model_path>");
if (VBuilder.loadModel())
{
tmGetResult.Start();
VBuilder.WPFListener();
}
在 void tmGetResult_Tick
中
lbResult.Content = VBuilder.WPFGetResult;
如果您想停止收听,请使用以下代码
VBuilder.WPFStopListener();
WPF 录音 - v1.0.5 版本开始支持
有关如何使用它的更多信息,请参阅 VoiceNET.Lib.WPF.Record 中的示例。
ASP.NET MVC - v1.0.2.4 版本开始支持
有关如何使用它的更多信息,请参阅 VoiceNET.Lib.Web.AspNet 中的示例。
ASP.NET Core Web API - v1.0.6.8 版本开始支持
有关如何使用它的更多信息,请参阅 SampleWebAPI 中的示例。
它包含使用 Web API 的 ASP.NET Core Web API 和 WinForm App (WinForm 实时) 示例。
如何创建模型?
使用包含的 MicBuilder 程序为您的 Dataset
构建一个 MLModel.zip 文件。
设置
麦克风音量调节
VBuilder.setVolume(80);
环境降噪设置
- 最小值:调整执行捕获的最小音量级别。 低于此部分的输入声音将被视为噪音。 默认值为 10%。
VBuilder.setMinVolume(10);
- 连续:当声音输入 > 最小音量时,声音保持连续的时间。 默认值为 250 毫秒。
VBuilder.setMicTime(250);
资源
- FftSharp
- Microsoft.ML
- Microsoft.ML.ImageAnalytics
- Microsoft.ML.Vision
- NAudio
- SciSharp.TensorFlow.Redist
许可证
MIT 许可证
- Spectrogram - 是一个 .NET 库,用于从预先录制的信号或声卡中的实时音频创建频谱图。
- ML.NET - 是一个用于 .NET 的跨平台开源机器学习 (ML) 框架。
- VoiceNET 库 - 是一个 .NET 库,可以轻松快速地创建语音命令控制功能。