资源简介

1.使用科大讯飞语音唤醒、语音听写服务,内含MSCDLL.CS类文件,可直接调用;
2.利用system.Audio,NAudio从声卡中录音,获取语音信息;根据说话音量大小,设定阈值,作为语音的结束标志;可做到实时听写;
3.程序默认执行语音唤醒模块,当语音唤醒标志符awaken_flag == true时,关闭唤醒服务,打开听写服务;
4.根据听写的文本,自做简单语音识别算法,并填写在相应的textbox中,适合特定场景开发;
4.同时利用System.Speech.Synthesis可以对文本进行朗读操作;
5.下载之后,请自行去讯飞申请语音听写服务,并替换dll文件

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using NAudio.Wave;
using VoiceRecorder.Audio;
using System.Runtime.InteropServices;
using System.Threading;
using System.Speech.Synthesis;

namespace SpeachTest
{
    public partial class Form1 : Form
    {
        //录音参数
        
        private WaveIn waveIn;
        private AudioRecorder recorder;
        private float lastPeak;//说话音量
        float secondsRecorded;
        float totalBufferLength;
        int Ends = 5;
        private const int BUFFER_SIZE = 4096;
        List VoiceBuffer = new List();
        MSCDLL.ivw_ntf_handler IVW_callback;

        //语音交互参数
        string session_begin_params;//唤醒参数  
        string session_begin_paramsA;//听写参数
        IntPtr session_id = IntPtr.Zero;
        string rec_result = string.Empty;
        string hints = “success“;
        AudioStatus aud_stat = AudioStatus.ISR_AUDIO_SAMPLE_CONTINUE;        
        int errcode = (int)ErrorCode.MSP_SUCCESS;
        public bool awaken_flag = false; //语音唤醒标志位 false为未唤醒,true为已唤醒
        public bool dictation_flag = false; //语音听写标志位 false为未开始听写, true为正在听写

        string last_Result = ““; //上次语音听写结果
        //DateTime timerLast timerNext;
        int stop_Count = 40;//经过一段时间未有语音输入之后,关闭语音听写
        int stop_time = 10;//语音空置保持时间
        bool input_flag = false;
        int number = 0;//输入框的编号
        DateTime dictation_end_time = DateTime.Now;//语音听写结束的时间

        public Form1()
        {
            InitializeComponent();
            SpeechRecognition();
            totalBufferLength = 0;
            recorder = new AudioRecorder();//录音设备
            recorder.BeginMonitoring(-1);
            recorder.SampleAggregator.MaximumCalculated += OnRecorderMaximumCalculated;
            if (waveIn == null)
            {
                waveIn = CreateWaveInDevice();
            }
            waveIn.WaveFormat = new WaveFormat(16000 1);
            waveIn.StartRecording();
            timer1.Enabled = true;
            timer2.Enabled = true;

        }
        public void SpeechRecognition()//初始化语音识别
        {
            awaken_flag = false;
            last_Result = ““;
            int ret = (int)ErrorCode.MSP_SUCCESS;
            string login_params = string.Format(“appid=5e5c****word_dir= . “);//appid和msc.dll要配套
            #region 参数
            /*
            *sub:本次识别请求的类型  iat 连续语音识别;   asr 语法、关键词识别默认为iat
            *domain:领域      iat:连续语音识别  asr:语法、关键词识别    search:热词   video:视频    poi:地名  music:音乐    默认为iat。 注意:sub=asr时,domain只能为asr
            *language:语言    zh_cn:简体中文  zh_tw:繁体中文  en_us:英文    默认值:zh_cn
            *accent:语言区域    mandarin:普通话    cantonese:粤语    lmz:四川话 默认值:mandarin
            *sample_rate:音频采样率  可取值:16000,8000  默认值:16000   离线识别不支持

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        187  2020-03-02 15:43  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\App.config

     文件     627244  2020-03-17 15:23  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\audio\awake.wav

     文件     627244  2020-03-18 09:42  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\audio\awake1.wav

     文件     223276  2020-03-18 09:49  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\audio\awake2.wav

     文件         12  2020-03-02 17:21  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\3ac134c735f78453223914867152cb93\u.data

     文件         84  2020-03-02 17:21  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\3ac134c735f78453223914867152cb93\urec.data

     文件        197  2020-03-20 11:02  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\8b2e343da7d822d13fc2b68a2f1b0ba4\kivw.dat

     文件         12  2020-03-20 10:54  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\8b2e343da7d822d13fc2b68a2f1b0ba4\u.data

     文件         85  2020-03-20 10:54  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\8b2e343da7d822d13fc2b68a2f1b0ba4\urec.data

     文件      11102  2020-03-20 10:07  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxja-NOxd3iaalysChOl1cPRo.log

     文件      11106  2020-03-20 09:57  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxjaBcOcL3oaa5qja9Yu80BMm.log

     文件      11107  2020-03-20 10:36  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxjainOvKdFaaWVGHHTmDl0ZO.log

     文件      11103  2020-03-20 09:59  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxjakHOTpDxaaWmpm8ZwMcwTh.log

     文件      11106  2020-03-20 10:23  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxjao6OJKaLaaarMkTom+WaVZ.log

     文件      11107  2020-03-20 10:38  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxjaq8OIpr9aamxQkTCl-ik7v.log

     文件      11103  2020-03-20 10:51  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxjaRQOY0fjaaH4fkvDCbWkkl.log

     文件      11163  2020-03-20 10:48  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxjaS7OOjrvaakfBmI+t48dQZ.log

     文件      11097  2020-03-20 09:16  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxjHIFOncp9aaPNNHIH1XEHpz.log

     文件      11104  2020-03-20 09:18  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxjHO-OnUWtaadM7dw4t+utQ2.log

     文件      11104  2020-03-20 08:39  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxjHw1OWRLYaaa3M0NZ06UHZs.log

     文件      10448  2020-03-20 09:01  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxjHy-OkSkRaam10aJECSUBH9.log

     文件      11229  2020-03-20 10:54  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxjwH0OYiFaaaH0ICZwHzvdsU.log

     文件      11103  2020-03-20 11:02  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxjwlhO22voaaklTu3VuC0Hfz.log

     文件      11108  2020-03-19 09:19  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxT+4Y4WoOoaadNEuv7BSft3u.log

     文件      11110  2020-03-19 08:56  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxT+Bc4dlgOaat88PjSl8TBoS.log

     文件      11110  2020-03-19 09:27  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxT+KK4CpEWaatT3aXJk-4lFx.log

     文件      11108  2020-03-19 09:02  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxT+nt41JFmaa525tolmD6tli.log

     文件      11106  2020-03-19 09:24  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxT+Ol4021daauRdHWlw+3Hhi.log

     文件      11104  2020-03-19 09:01  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxT+pj41ynjaaHpl1zVC9sHaK.log

     文件      11110  2020-03-19 08:57  SpeachTest(唤醒+听写) - 语音输入\SpeachTest\bin\Debug\msc\civw1P1HHBHxT+uA4deI5aadD95DxCnVPWE.log

............此处省略102个文件信息

评论

共有 条评论