基于.Net C#的声音波形显示

2012-04-29 22:16:26秦丹
电脑知识与技术 2012年22期

秦丹

摘要:Wav文件包含文件头和数据块,记录了声音的波形。.Net C#开发环境提供了文件流和流的读写器等操作类,可以方便地实现对wav文件的解析从而得到声音的波形数据,再利用Graphics类的各种图形绘制方法将波形数据绘制成曲线。

关键词:wav;波形;C#;Graphics

中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)22-5454-02

Sound Wave Shape Showing by .Net C#

QIN Dan

(Computer Science School of Yangtze University,Jingzhou 434023,China)

Abstract: Wav file includes header and data block, recording the wave shape of the sound. .Net C# provides some file accessing class such as FileStream and StreamReader, so that it is easily to get sound data from wave. At last, the wave shape of the sound can be drawed by using the methods of Graphics class.

Key words: wav; wave shape; C#; Graphics

图形化的声波波形以最直观的方式将声音的物理特性展现给人们,波形的外观包含了频率,响度等信息,进一步解析声波还能得到声音的频谱信息。对波形的研究甚至可以了解人发音的声母和韵母,从而为语音识别提供支持[1]。波形显示本质上是以图形化的方式还原声音文件所记录的声音采样信号。.NET平台的C#编程环境提供了GDI+技术,极大地便利了图形化编程。

1声音文件的结构

声音文件记录声音信息,理论上任何可以还原声音的文件都可以作为波形显示的信息源。声音的记录方式有多种,最简单而又最能保持声音本色的方法是直接记录波形,如wav文件。只要采样率足够高,该格式记录的声音文件能够十分接近原声,能获得非常高的音质[2],其缺点是文件体积较大。为了文件体积较小,人们又推出mp3、ra等格式的文件,其特点是采用了压缩技术,其代价是声音的品质有所下降。还有一类声音文件采用音色库和发声指令的手段还原声音,如midi文件,它只是模仿各类乐器的演奏效果而不是记录声音,更重要的是它不能发出人声,因此其使用受到极大限制。

由于wav文件直接记录波形,便于各类应用程序解析声音信息,该文用它来展示使用.Net C#从wav文件中获取波形并绘制声波。……

登录APP查看全文