Tag: 音频

检查系统是否有声音C#

我们目前正在开发一款使用XNA的游戏,我们偶然发现了一个小问题。 当系统没有插入声音设备时(扬声器等 – 当Win7在扬声器图标上显示红叉时),当尝试播放/加载声音时它会崩溃。 因此,我们想检查系统是否具有输出声音的能力。 在C#中有可能吗?

如何在C#中将g729编码的字节数组转换为.WAV?

我一直在使用C语言编写VoIP应用程序。 该项目的目的是VoIP呼叫记录。 它使用g729编解码器。 我可以从RTP有效载荷中提取语音部分。 如何将此Byte数组转换为.wav格式? 请帮我。

帮助动态范围压缩function(音频)

我正在编写一个用于进行动态范围压缩的C#function(一种音频效果,基本上可以压缩瞬态峰值并放大其他所有内容以产生整体更响亮的声音)。 我写了一个函数来做到这一点(我认为): alt text http://sofzh.miximages.com/c%23/www.freeimagehosting.net public static void Compress(ref short[] input, double thresholdDb, double ratio) { double maxDb = thresholdDb – (thresholdDb / ratio); double maxGain = Math.Pow(10, -maxDb / 20.0); for (int i = 0; i < input.Length; i += 2) { // convert sample values to ABS gain and store original signs int […]

C#中的拍手声音检测

我希望能够发现鼓掌声。 对于任何forms的声音识别都是新手,有什么简单的方法可以做到这一点吗? 如果没有,C#声音识别/检测的任何好资源? 我的目标是使用一些基于拍手的基本控件来自动化客户端媒体中心。

问SpeechSynthesizer.SetOutputToAudioStream音频格式问题

我目前正在开发一种应用程序,它需要传输编码为特定音频格式的语音。 System.Speech.AudioFormat.SpeechAudioFormatInfo synthFormat = new System.Speech.AudioFormat.SpeechAudioFormatInfo(System.Speech.AudioFormat.EncodingFormat.Pcm, 8000, 16, 1, 16000, 2, null); 这表明音频采用PCM格式,每秒8000个采样,每个采样16位,单声道,每秒16000个平均字节,块对齐为2。 当我尝试执行以下代码时,没有任何内容写入我的MemoryStream实例; 但是当我从每秒8000个样本更改为11025时,音频数据被成功写入。 SpeechSynthesizer synthesizer = new SpeechSynthesizer(); waveStream = new MemoryStream(); PromptBuilder pbuilder = new PromptBuilder(); PromptStyle pStyle = new PromptStyle(); pStyle.Emphasis = PromptEmphasis.None; pStyle.Rate = PromptRate.Fast; pStyle.Volume = PromptVolume.ExtraLoud; pbuilder.StartStyle(pStyle); pbuilder.StartParagraph(); pbuilder.StartVoice(VoiceGender.Male, VoiceAge.Teen, 2); pbuilder.StartSentence(); pbuilder.AppendText(“This is some text.”); pbuilder.EndSentence(); pbuilder.EndVoice(); […]

将音频流输出到麦克风

嘿大家。 有没有办法从我的程序输出音频并将该流重定向到系统的麦克风输入’层’? 我知道这可能需要一些低级别的电话被’Pinvoked’,但有没有任何文章可以帮助我。 例如,如果我要将我的应用程序的输出音频流运行到Window的Sound Recorder程序中,它会认为音频来自麦克风并记录下来。 我不想录制流,只是将其输出到设备的micrphone输入。 谢谢你的任何想法。

在没有外部库的情况下在C#中播放动态创建的简单声音

我需要能够使用C#动态生成波形并播放它,无需任何外部库,也无需将声音文件存储在硬盘上。 延迟不是问题; 声音将在应用程序需要之前生成。 实际上,如果不是因为微软表示在64位版本的Windows中不支持它,Console.Beep()方法可能会满足我的需求。 如果我动态地生成自己的声音,我可以得到一个比简单的嘟嘟声更精彩的声音。 例如,我可以从三角波制作波形,其频率从2 KHz增加到4 KHz,同时衰减音量。 我不需要花哨的16位立体声,只需8位单声道即可。 我不需要动态控制音量和音高,只需在内存中生成一个声音文件并播放它而不存储它。 许多年前,我需要在Apple II,惠普工作站和我的旧Amiga计算机上生成声音。 从那时起就不需要这样做,而且我所描述的简单似乎变得更加复杂。 我很难相信这么简单的东西看起来很难。 我看到的大多数答案都是指NAudio或类似的库,这不是这个项目的选项(除了拉动整个库只是为了播放音调这一事实似乎是浪费)。

使用C#进行声音合成

是否有可能在C#中生成声音? 我的意思是不只是发出哔哔声或打开并播放波形文件。 我的意思是使用不同种类的波(罪,锯等)及其选项(频率,振幅等)来构建信号

在.Net / C#播放音频

我是一位多年经验丰富的MFC程序员,近年来他一直在使用Objective C for Mac和iOS开发商业应用程序 – 我正在努力加快.Net和C#的速度(我很快就会这样做)需要将我的一个商业应用程序从Mac转换为PC)。 我现在已经完成了几本书,并且为了更熟悉.Net(和C#),我决定将我的一个非商业应用程序转换为.Net作为学习练习一切顺利(界面正常,数据结构都很好)但我需要能够播放音频。 我的Mac应用程序从一系列数学公式生成音频 – 想象一个波浪发生器 – 不完全相同但相似。 在Mac上我将音频生成为16位带符号的原始音频,使用Core Audio设置音频输出路由,然后在音频路由需要新的音频缓冲区时进行回调(因此我可以动态生成音频) 。 我需要在PC上做同样的事情。 不幸的是,我发现MSDN文档是“无法看到树木”的案例,因为有大量的文档。 我可以找到能让我加载和播放mp3 / wav等文件的类,但我需要实时生成音频。 任何人都可以指出我正确的方向找到一些东西,可以让我在播放时动态填充缓冲区吗? 谢谢

使用生成的波形数据在.NET中播放声音

如何根据我的.NET程序从用户输入和数学函数生成的波形数据播放声音? “波形数据”是指固定间隔时间序列(可能是44.1 kHz)中的SPL(声压级)值。 我认为这需要某种流缓冲区安排。 请注意,这必须是实时/实时的,所以只创建一个.wav文件然后播放它是不够的。 VB.NET是首选,但C#也是可以接受的。 只是为了澄清:我正在寻找的是一个简单的工作代码示例。