您好,我正在尝试将内存流中的文本转换为语音(wav),将其转换为mp3,然后在用户页面上播放。所以需要我帮助下一步做什么吗?这是我的asmx代码:[WebMethod]publicbyte[]StartSpeak(stringWord){MemoryStreamms=newMemoryStream();using(System.Speech.Synthesis.SpeechSynthesizersynhesizer=newSystem.Speech.Synthesis.SpeechSynthesizer()){synhesizer.SelectVoiceByHints(System.S
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion要求:实时从麦克风获取原始输入实时回放原始输入我似乎无法从谷歌搜索中找到很多关于它的信息。有人用过类似的东西吗?我正在使用C#,它需要在Windows、Linux和Mac上工作,后两者使用Mono。我可能愿意使用p/invoke,但我对native代码不是特别熟悉,这会很困难。如果有人可以推荐本地库,我会试一试。
我用base64编码了wav文件(资源/声音中的audioClipName.txt)。HEREISTHESOURCEWAVEFILE然后我尝试解码它,从中制作一个AudioClip并像这样播放它:publicstaticvoidCreateAudioClip(){strings=Resources.Load("Sounds/audioClipName").text;byte[]bytes=System.Convert.FromBase64String(s);float[]f=ConvertByteToFloat(bytes);AudioClipaudioClip=AudioClip.C
我希望能够检测到拍手声。作为任何形式的声音识别的新手,有什么简单的方法可以做到这一点吗?如果没有,有什么好的C#声音识别/检测资源?我的目标是使用一些基本的基于拍手的控件来自动化客户媒体中心。 最佳答案 过去有人问过类似的问题:Givenanaudiostream,findwhenadoorslams(soundpressurelevelcalculation?)虽然这个问题不是特定于C#的,但它确实对算法的使用有一些想法。(披露:是的,我确实回答了那个问题。) 关于c#-C#中的拍手声
我正在制作一个采样器程序,其中从1到9的每个键都会发出不同的声音。一切正常,但当我同时按下两个(或更多)声音时,第二个“杀死”第一个。我正在使用SoundPlayer播放.WAV文件中的声音。我该如何解决这个问题? 最佳答案 您需要使用DirectX(DirectSound)或一些旨在允许同时播放多个声音的类似API。 关于c#-使用SoundPlayer播放多种声音,我们在StackOverflow上找到一个类似的问题: https://stackoverf
我需要一种在声音仍在播放时开始/停止循环的方法。我发现同时播放多种声音的最佳方式是使用XNA。因此,我从包含音频剪辑的SoundEffect对象开始创建了一个SoundEffectInstance。现在的问题是我有一个按钮可以将此剪辑的状态从“循环”更改为“非循环”,反之亦然。问题来了:它抛出一个异常,说明必须在第一次播放之前设置循环。所以我想,当从“非循环”切换到“循环”时,我可以等待声音停止,然后重新创建SoundEngineInstance,设置IsLooped=true并让它重新开始。这个可以用,但是有一些延迟,这会让你失去时间,所以它没什么用。我正在寻找一种在播放声音时设置或
在C#的文本到语音应用程序中,我使用SpeechSynthesizer类,它有一个名为SpeakProgress的事件,每个说出的词都会被触发。但对于某些声音,参数e.AudioPosition与输出音频流不同步,输出波形文件的播放速度比此位置显示的快(参见thisrelatedquestion)。无论如何,我正在尝试查找有关比特率的确切信息以及与所选语音相关的其他信息。根据我的经验,如果我可以使用此信息初始化wave文件,同步问题将得到解决。但是,如果我无法在SupportedAudioFormat中找到此类信息,我不知道还有什么其他方法可以找到它们。例如,“MicrosoftDav
我正在尝试使用C#从麦克风(或线路输入)录制音频数据,然后再次重放。关于我如何实现这一点有什么建议吗? 最佳答案 参见ConsoleandmultithreadedrecordingandplaybackclassProgram{staticvoidMain(string[]args){rex.Data+=newRecorderEx.DataEventHandler(rex_Data);rex.Open+=newEventHandler(rex_Open);rex.Close+=newEventHandler(rex_Close);
有没有办法在C#和.NET中“即时”处理音频?例如,如果我想在录制时评估音频的平均强度(为此,我需要最后几毫秒)。 最佳答案 麦克风初始化,录音处理:privatevoidInitialize(){Microphonemicrophone=Microphone.Default;//100msisaminimumbufferdurationmicrophone.BufferDuration=TimeSpan.FromMilliseconds(100);DispatcherTimerupdateTimer=newDispatcherTi
我正在尝试用C#构建一个程序,它允许我通过网络将音频和视频从一台计算机流式传输到另一台计算机,该计算机连接到一堆视频/音频设备(投影仪、扬声器,ETC)。理想情况下,我希望能够直接从“演示者”计算机捕获这些数据,而无需插入任何东西。“输出”计算机上的视频、流媒体和重新显示都运行良好,但我似乎找不到无需将电缆插入耳机插孔即可捕获音频输出的好方法并连接到另一台计算机。这个程序的重点是允许无线完成,所以这是一个问题。总而言之,我正在寻找某种C#接口(interface),它允许我在Windows机器上捕获声音输出,就好像我在耳机插孔中插入了一些东西一样。在此先感谢您的帮助。