Skip to content
This repository has been archived by the owner on Oct 8, 2023. It is now read-only.

Latest commit

 

History

History
262 lines (164 loc) · 7.45 KB

README.vi.md

File metadata and controls

262 lines (164 loc) · 7.45 KB

VoiceNET Library

Nuget NuGet

Thư viện điều khiển lệnh bằng giọng nói miễn phí

Giới thiệu

VoiceNET Library giúp bạn dễ dàng và nhanh chóng tạo chức năng Điều khiển lệnh bằng giọng nói thông qua Dự đoán nhãn. Nó giúp phát triển phần mềm điều khiển bằng giọng nói trong thời gian thực. Nó miễn phí hỗ trợ sử dụng trực tuyến và ngoại tuyến. Đây là dự án phát triển cộng đồng nhằm giúp mọi người tiếp cận công nghệ nhận dạng giọng nói dễ dàng hơn.

Đây là một dự án nghiên cứu từ cuộc thi FPT Edu Research Festival 2021.

VoiceNET Library

Nó hoạt động thế nào?

Sử dụng các thư viện ML.NET và Spectrogram, VoiceNET library hoạt động bằng cách chuyển giọng nói của bạn thành một biểu đồ quang phổ. Từ đó, tiến hành sử dụng chức năng Phân loại ảnh trong thư viện ML.NET để đánh dấu nhãn.

Cách hoạt động của Thư viện VoiceNET

Tính năng

  • Điều khiển lệnh bằng giọng nói trong thời gian thực.
  • Điều khiển lệnh bằng giọng nói dựa trên bản ghi âm.

Ưu điểm

  • Dễ dàng tích hợp thư viện vào chương trình của bạn.
  • Mã rất đơn giản cho mọi người sử dụng.
  • Nó có thể được sử dụng cả trực tuyến và ngoại tuyến.
  • Nó có thể được sử dụng cho bất kỳ ngôn ngữ giao tiếp nào trên thế giới.
  • Nó miễn phí.

Nhược điểm

  • Mất nhiều thời gian để tạo Model cho thư viện.
  • Thời gian tải mô hình vào chương trình có thể chậm.
  • Vẫn có tỷ lệ lỗi khi nhận dạng nhãn.

Cài đặt

Sau khi có ứng dụng, bạn có thể cài đặt gói VoiceNET Library NuGet từ .NET Core CLI bằng cách sử dụng:

dotnet add package VoiceNET.Library

hoặc từ NuGet Package Manager:

Install-Package VoiceNET.Library

Bắt đầu nhanh

Sử dụng trong thời gian thực trên WinForm

Ví dụ

Thư viện hình ảnh được điều khiển bằng giọng nói trong thời gian thực

Làm thế nào để tạo bản demo trong thời gian thực?

Kéo và thả vào giao diện Windows Forms:

  • Label: lbResult
  • Timer: tmGetResult (Interval=1)

Trong Form_Load

VBuilder.ModelPath("<your_model_path>");

if (VBuilder.loadModel())
    
{
	tmGetResult.Start();
	VBuilder.WFListener();
            
}

Trong tmGetResult

lbResult.Text = VBuilder.WFGetResult;

Sử dụng thêm mã sau nếu muốn dừng việc lắng nghe

VBuilder.WFStopListener();

Dựa trên bản ghi âm trên WinForm

Ví dụ

Ví dụ về nhận dạng nhãn lệnh bằng cách ghi âm

Làm thế nào để thực hiện một bản demo trong ghi âm?

Kéo và thả vào giao diện Windows Forms:

  • Button: btnRecord, btnStop
  • Label: lbResult

Trong Form_Load

VBuilder.ModelPath("<your_model_path>");

 if(VBuilder.loadModel())
 
    //làm gì đó khi đã Load Model thành công
	
 else
 
   //làm gì đó nếu load model thất bại
   

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 Real-time - Hỗ trợ từ v1.0.5

Kéo thả vào giao diện WPF Application:

  • Label: lbResult

Trước MainWindow()

public DispatcherTimer tmGetResult = new DispatcherTimer();

Trong MainWindow()

tmGetResult.Interval = TimeSpan.FromSeconds(1);

tmGetResult.Tick += tmGetResult_Tick;

VBuilder.ModelPath("<your_model_path>");

    if (VBuilder.loadModel())
            
	{

        tmGetResult.Start();

        VBuilder.WPFListener();

    }
	

Trong void tmGetResult_Tick

lbResult.Content = VBuilder.WPFGetResult;

Sử dụng thêm mã sau nếu muốn dừng việc lắng nghe

VBuilder.WPFStopListener();

WPF Recording - Hỗ trợ từ v1.0.5

Xem thêm ví dụ VoiceNET.Lib.WPF.Record để biết cách sử dụng trên WPF.

Web ASP.NET MVC - Hỗ trợ từ v1.0.2.4

Xem thêm ví dụ VoiceNET.Lib.Web.AspNet để biết cách sử dụng trên ASP.NET MVC.

ASP.NET Core Web API - Hỗ trợ từ v1.0.6.8

Xem thêm ví dụ SampleWebAPI để biết cách sử dụng trên Web API.

Nó bao gồm ví dụ project ASP.NET Core Web APIWinForm App (WinForm Realtime) sử dụng Web API.

Làm thế nào để tạo một Model?

Dùng phần mềm MicBuilder để xây dựng tệp MLModel.zip cho tập dữ liệu của bạn.

MicBuilder Model Builder

Thiết lập cấu hình

Điều chỉnh âm lượng Microphone:

VBuilder.setVolume(80);

Cài đặt giảm tiếng ồn và tạp âm

  • Min Value: Điều chỉnh mức âm lượng tối thiểu để thực hiện chụp. Âm thanh đầu vào nhỏ hơn phần này sẽ được coi là tiếng ồn. Giá trị mặc định là 10%.
VBuilder.setMinVolume(10); 
  • Continuous: Âm thanh duy trì liên tục trong bao lâu khi Đầu vào âm thanh> Min Value. Giá trị mặc định là 250 mili giây.
VBuilder.setMicTime(250);

Tài nguyên

Giấy phép

MIT LICENSE

  • Spectrogram - is a .NET library for creating spectrograms from pre-recorded signals or live audio from the sound card.
  • ML.NET - is a cross-platform open-source machine learning (ML) framework for .NET.
  • VoiceNET Library - is a .NET Library makes it easy and fast to create Voice Command Control functionality.