| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 743 人关注过本帖
标题:各位大神好,c# 新手,这个是语音识别代码,基于微软 XBOX 的,不知道这个波 ...
取消只看楼主 加入收藏
chenrr2304
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-4-22
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
各位大神好,c# 新手,这个是语音识别代码,基于微软 XBOX 的,不知道这个波束形成和置信度式子含义,求助!!!!
1、这个是置信度模块,具体式子这种到底什么原理???vs2010中的代码
private void AudioSourceSoundSourceAngleChanged(object sender, SoundSourceAngleChangedEventArgs e)
        {
            const double MinGradientWidth = 0.04;

            double halfWidth = Math.Max((1 - e.ConfidenceLevel), MinGradientWidth) / 2;

            this.sourceGsPre.Offset = Math.Max(this.sourceGsMain.Offset - halfWidth, 0);
            this.sourceGsPost.Offset = Math.Min(this.sourceGsMain.Offset + halfWidth, 1);

            sourceRotation.Angle = -e.Angle;

            sourceAngleText.Text = string.Format(CultureInfo.CurrentCulture, Properties.Resources.SourceAngle, e.Angle.ToString("0", CultureInfo.CurrentCulture));
            sourceConfidenceText.Text = string.Format(CultureInfo.CurrentCulture, Properties.Resources.SourceConfidence, e.ConfidenceLevel.ToString("0.00", CultureInfo.CurrentCulture));
        }

这个是读线程模块,里头式子含义,急求!!!!新手。大神求帮忙
  private void AudioReadingThread()
        {
              const double EnergyNoiseFloor = 0.2;

            while (this.reading)
            {
                int readCount = audioStream.Read(audioBuffer, 0, audioBuffer.Length);
                lock (this.energyLock)
                {
                    for (int i = 0; i < readCount; i += 2)
                    {
                         short audioSample = BitConverter.ToInt16(audioBuffer, i);
                        this.accumulatedSquareSum += audioSample * audioSample;
                        ++this.accumulatedSampleCount;

                        if (this.accumulatedSampleCount < SamplesPerColumn)
                        {
                            continue;
                        double meanSquare = this.accumulatedSquareSum / SamplesPerColumn;
                        double amplitude = Math.Log(meanSquare) / Math.Log(int.MaxValue);
                        this.energy[this.energyIndex] = Math.Max(0, amplitude - EnergyNoiseFloor) / (1 - EnergyNoiseFloor);
                        this.energyIndex = (this.energyIndex + 1) % this.energy.Length;

                        this.accumulatedSquareSum = 0;
                        this.accumulatedSampleCount = 0;
                        ++this.newEnergyAvailable;
                    }
                }
            }
        }
搜索更多相关主题的帖子: 语音识别 private double 置信度 微软 
2014-04-22 11:12
chenrr2304
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-4-22
收藏
得分:0 
这个是有基于波束形成算法的,求解析!!!!!!!!11
2014-04-22 16:05
快速回复:各位大神好,c# 新手,这个是语音识别代码,基于微软 XBOX 的,不知道 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016945 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved