c#对于语音的操作,必然离不开NAudio了,直接NuGet安装NAudio。

效果图如下:

核心代码:首先通过AudioFileReader获取到音频数据byte[],再将byte[]转换为float[]数据,就可以根据float画波形了。

        /// <summary>/// 开始画波形/// </summary>/// <param name="fileName"></param>public void BeginDrawWaveLine(string fileName){if (string.IsNullOrEmpty(fileName))return;lineData.Clear();_audioFileReader = new AudioFileReader(fileName);byte[] datas = new byte[_audioFileReader.Length];_audioFileReader.Read(datas, 0, datas.Length);float[] wavdata = new float[datas.Length / sizeof(float)];Buffer.BlockCopy(datas, 0, wavdata, 0, datas.Length);var ww = mainCanvas.ActualWidth;var yScale = mainCanvas.ActualHeight / 2;double x, y1, y2;int index = wavdata.Length / (int)ww;for (int i = 0; i < ww; i++){x = i;y1 = yScale - wavdata[i * index] * yScale;y2 = yScale + wavdata[i * index] * yScale;lineData.Add(new Point(x, y1));lineData.Add(new Point(x, y2));}this.InvalidateVisual();}
        ///<summary>/// 重写渲染方法/// </summary>/// <param name="drawingContext"></param>protected override void OnRender(DrawingContext drawingContext){base.OnRender(drawingContext);if (lineData.Count > 1){for (int i = 0; i < lineData.Count - 2; i++){drawingContext.DrawLine(pen, lineData[i], lineData[i + 1]);}}}

附完整项目代码下载:

https://download.csdn.net/download/esiangchioa/12545388

c# 根据语音文件画波形相关推荐

  1. matlab2014的m文件画波形,科学网—用MATLAB软件绘制驻波的波形图 - 李金磊的博文...

    已知驻波的运动学方程为 y=2Acos(2πx/λ)cos(ωt) 相应的MATLAB程序为 syms lambda omega; y=2*A.*cos(2*pi*x./lambda).*cos(om ...

  2. 语音处理/语音识别基础(四)- 语音文件读取与播放

    本文分享如何在 matlab 里面读取 wav 文件,播放 wav 文件,以及如何录制语音文件,保存语音文件. 代码中演示了如何改变音频文件的采样率(影响到播放速度),音量(影响到听到的声音大小). ...

  3. MATLAB和Python读取wave文件的波形对比

       用python读取.wav文件的波形后再用MATLAB读取文件波形进行验证. 1.MORSE 1.1 Python 程序见之前的博客. 波形如图1所示: 图1 1.2 MATLAB 读取波形程序 ...

  4. python音频频谱_Python 读取WAV音频文件 画频谱的实例

    Python 读取WAV文件 import wave import struct from scipy import * from pylab import * #读取wav文件,我这儿读了个自己用p ...

  5. python 语音特征提取_使用python实现语音文件的特征提取方法

    概述 语音识别是当前人工智能的比较热门的方向,技术也比较成熟,各大公司也相继推出了各自的语音助手机器人,如百度的小度机器人.阿里的天猫精灵等.语音识别算法当前主要是由rnn.lstm.dnn-hmm等 ...

  6. 利用python实现语音文件的特征提取

    概述 语音识别是当前人工智能的比较热门的方向,技术也比较成熟,各大公司也相继推出了各自的语音助手机器人,如百度的小度机器人.阿里的天猫精灵等.语音识别算法当前主要是由RNN.LSTM.DNN-HMM等 ...

  7. python音频频谱_Python读取WAV音频文件 画频谱的方法

    Python 读取WAV文件 import wave import struct from scipy import * from pylab import * #读取wav文件,我这儿读了个自己用p ...

  8. 语音文件转成文字怎么转

    语音文件的话,很多时候都不是很方便,有时候我们在工作中就会碰到这样的难题,那就是把语音文件转成文字来使用,很多人遇到这样的问题就傻眼了,不知道该怎么转换,下面小编就将自己的方法介绍给大家吧. 使用工具 ...

  9. CosmoMC命令CAMB文件画功率谱

    CosmoMC命令CAMB文件画功率谱 画功率谱步骤: 1)进入software文件夹,解压CAMB-Nov2016.tar.gz文件 2)进入刚建立的文件夹CAMB-Nov2016文件夹,vim M ...

最新文章

  1. 【Codeforces】716B Complete the Word (26个字母)
  2. php while循环控制实例讲解
  3. 关于Oracle full outer join 的bug问题分析及处理
  4. LiveVideoStack线上分享第四季(十二):实时音视频抗丢包的实践
  5. Docker中数据管理
  6. Liskov替换原则(LSP)
  7. java @Column 引发的一点思考
  8. Gitlab 服务器搭建,maven安装与jdk安装,linux下安装git
  9. MongoDB查询及索引优化
  10. SaltStack之state.sls
  11. ArcGIS 计算挖填方区域和挖填方量
  12. 查看Mysql数据库版本
  13. sop28和so28j封装_sop28封装尺寸
  14. C语言变量相关试题,C语言模拟试题
  15. “鹏城”伴你鹏程:下届全国人工智能大赛再会!
  16. MySQL讲义第 45 讲——select 查询之查询练习(三)
  17. 互联网奥秘_Excel数据表的奥秘
  18. office2007无法使用宏的解决方法
  19. 微指创始人任春雷携好机友踏入微商领域
  20. 阿里云国际版ACE与国内版ACE区别

热门文章

  1. Matlab大作业-基于GUI制作图像处理工具箱
  2. 《网络空间安全导论(网安)》简答题
  3. InkScape绘制抖音LOGO的教程
  4. 百度外卖智能物流系统获AI最高奖,即时配送很快成为现实?
  5. 微信服务器缓存消息,使用缓存防击穿,解决微信”被动回复用户消息”重试回复问题...
  6. 定期清除浏览器缓存 预防专偷网络账号的恶意软件
  7. word怎么删除空白页?
  8. 距离远的贴图出现模糊的解决方法
  9. 民生银行放弃与支付宝合作 避免用户资金丢失
  10. 001 打印机加墨后老是弹出窗口