问题标签 [naudio-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
141 浏览

c# - 无法在 DLL“mfplat.dll”中找到名为“MFCreateMFByteStreamOnStreamEx”的入口点

我们使用 NAudio 进行 MP4 到 MP3 的转换。我们仅在少数 MP4 文件中出现此错误(并非所有 MP4 文件都有此问题)。

无法在 DLL“mfplat.dll”中找到名为“MFCreateMFByteStreamOnStreamEx”的入口点

出现此错误的代码部分:

其中_mfReader是 MediaFoundationReader 类的实例,_mp4Bytes是 MP4 文件的字节数组。我用谷歌搜索并发现了另一个与mfplat.dll相关的问题,但那是关于 DLL 加载错误而不是入口点问题。请帮我解决这个错误。

0 投票
0 回答
255 浏览

c# - 尝试使用音频识别环回的不良类型

Microsoft Speech 系统有一个很好的示例代码,但是在添加环回以记录它正在播放的内容而不是通过麦克风播放的内容时我遇到了问题。例如,在未在扬声器上播放视频时给出视频的文本描述。似乎是执行此操作的库,但我收到类型错误,将其推送到识别器的音频流:

更新正如您在修改后的代码中看到的,至少现在正在编译,但不能识别任何内部或外部语音。实际上它输出:

因此,由于 AudioBitsPerSample 上没有“三十二”,也许我什至不能使用 NAudio 类来获取系统音频?

更新这似乎有点工作,基于另一个答案,但它并没有太多,我认为它可能会发送缓慢或快速的音频?

更新 3 - 尝试将音频流重新编码为语音识别将执行的操作:不幸的是,它无法捕获重新编码的音频,如您所见......

0 投票
1 回答
689 浏览

c# - WasapiLoopbackCapture 内部音频识别在没有音频时会产生乱码和文本

我终于构建了一个程序来使用 NAudio 收听内部音频环回,并输出识别的文本。问题是它听,并且总是说,例如:

和类似的废话,但即使我暂停音频,它也只会一次又一次地显示“已识别的文本:有”或“一个”。当我取消暂停音频时,它一直无法成功识别内部音频。有没有办法解决这个问题,或者至少了解它试图发送到 Microsoft 语音识别识别器的内容?

0 投票
1 回答
190 浏览

c# - 可以在 C# 应用程序中执行实时多通道音频卷积吗?

具体来说,我希望在播放时对音频文件执行两通道卷积操作。即使用脉冲响应向文件添加混响效果,然后将其发送到声卡进行播放。

明显缺乏在 C# 应用程序中实时执行此操作的示例或参考。

NAudio (也许是 CScore 库看起来最有前途,但没有内置的卷积引擎似乎很奇怪,这可能是因为没有足够的调用,还是托管应用程序更可能不适合此类操作?

因此它让我问发布的问题可以在 C# 应用程序中执行实时多通道音频卷积吗?

0 投票
0 回答
121 浏览

c# - 如何在 NET 应用程序中使用 VST3 插件

我有带有输入设备和输出设备的 NET 应用程序。

现在我有一个 VST3 插件(speechextraction.vst3),我需要使用这个插件(作为情感)从输入设备获取波形声音并将波形发送到输出设备..

但是我该如何在我的应用程序中执行(使用 VST.NET 或包装器 VST3 SKD),并且我需要流程才能使用 VST3 插件...

请给我一些建议或样品

0 投票
0 回答
329 浏览

c# - 使用 NAudio 剪切 MP3 文件的音频片段

我正在使用NAudio库。我在下面写了一个函数,它WaveStream会剪切一段音频,例如,我可以用它剪切 30 秒的音乐文件,如下图所示:

在此处输入图像描述

这是一个示例用法:

它通过将一个Mp3FileReader或一个AudioFileReader类作为参数传递给函数来处理 MP3 文件,但这个函数的问题是它将 MP3 文件转换为 WAVE 格式,所以一旦在音频中应用了剪辑,我需要将其保存为新的 WAVE文件。

我知道NAudio可以使用该类解析 MP3 样本Mp3FileReader,所以我想通过使用Mp3FileReader.ReadNextFrame()和写入新的 MP3 文件直接对 MP3 文件流进行剪切(和其他修改),而不是花费时间和磁盘空间来转换为 WAVE 格式并编写 WAVE 文件。

我看到了一些使用Mp3FileReader.ReadNextFrame().

我的问题是:在 C# 或 VB.NET 中,如何调整上述功能以处理 MP3 文件/Mp3FileReader而不将它们转换为 WAVE 格式?

0 投票
0 回答
84 浏览

speech-to-text - 结合 WasapiLoopbackCapture 和 google 流识别

我正在尝试编写一个应用程序来收听我的计算机音频并使用 Google 语音识别对其进行转录。

我已经能够使用录制系统声音WasapiLoopbackCapture并且我已经能够使用带有测试文件的谷歌流识别api,但我无法将两者合并在一起。

当我将音频从WasapiLoopbackCapturegoogle 流式传输时,它不会返回任何结果。

我的代码基于谷歌代码示例: https ://github.com/GoogleCloudPlatform/dotnet-docs-samples/blob/9588cee6d96bfe484c8e189e9ac2f6eaa3c3b002/speech/api/Recognize/InfiniteStreaming.cs#L225

并调整它以使用 WasapiLoopbackCapture:

但它不会返回任何转录文本。

我已将输入流保存到文件中,并且播放正常 - 所以声音到了,我猜是从 WasapiLoopback 接收到的 waveFormat 与谷歌喜欢的不兼容 - 我尝试了一些转换并且不能让它工作。

我已经查看了有关堆栈溢出的以下主题,但仍然无法使其正常工作: 重新采样 WasapiLoopbackCapture Naudio - Convert 32 bit wav to 16 bit wav

并尝试将它们结合起来:

但它不起作用。

我不确定这是否是正确的道路。

一个修复的代码示例将不胜感激

我尝试转换比特率等。但无法让它工作。

0 投票
0 回答
57 浏览

c# - How do I use VST.Net to load one plugin and use it with multi connection

I had a vstplugin to remove noise of sound. I made connection it with input device and output device and it worked fine. Load vst function

Create connection:

Currently I want to add a connection from a new input device to a new output device with the same plugin but with a different bypass parameter.. I tried to clone the above code to create a new connection, it works fine, but it doesn't seem to receive the bypass parameter. Please help me

  • 1 vst plugin (noise removed)
  • Connections
    • Connection 1: Input Device A ---> Output Device B: with bypass = false
    • Connection 2: Input Device C ---> Output Device D: with bypass = true

Thanks

0 投票
1 回答
98 浏览

c# - 保存在 wave 中的 NAudio 文件在文件中添加了填充

我有这样的代码:

所以基本上它需要 mp3 并将其转换为一个名为 test 的波形文件。查看转换后的文件,我看到了这一点。

请注意突出显示的区域为什么它给出空白空间并且不完全按照原样复制?

检查突出显示的黄色部分

有任何想法吗?

我的创建波浪方法:

澄清一下,填充实际上是在创建 Mp3FileReader 时添加的。

0 投票
0 回答
22 浏览

c# - 如何保存与另一个轨道混合的 OffsetSampleProvider 的 wav 文件

我正在使用以下代码混合两个音轨,其中一个具有使用 OffsetSampleProvider 的特定偏移量。如何使用 MixingSampleProvider 将偏移轨道与第二个轨道混合?