我最近一直在研究ruby,我决定开始一个简单的项目来编写一个ruby脚本,将线路输入声音记录到.wav文件中。我发现ruby不能很好地访问硬件设备(它可能不应该),但是PortAudio可以,而且我发现了一个很棒的PA包装器here(它不是gem,我认为是因为它使用ruby的ffi附加到PortAudio,而且PA库可能在很多地方)。我一直在摸索PortAudio的文档和示例以了解PA的工作原理。我已经很多年没有写过或读过C了。我在创建过程中应该将哪些参数传递给流以及在创建过程中传递给缓冲区时遇到了困难。例如,frame到底是什么,它与channel和samplerat
我已经安装了pocketsphinx-go通过repo指令。但是当我运行示例gortana时,我看到错误:LoadingCMUPhocketSphinx.Thismaytakeawhiledependingonthesizeofyourmodel.PortAudioerror:Deviceunavailableexitstatus1要做什么?还有其他离线stt吗?PS:系统:Ubuntu16.04 最佳答案 正确配置alsa,以便portaudio能够检测到设备。 关于ubuntu-CM
我有一个问题:是否可以使用Portaudio录制全局Windows输出?我读过您可以将输入设备更改为实际输出设备,但这根本不起作用。那么有没有其他的可能性来记录输出声音?我更喜欢使用Portaudio,但我不怕使用其他API。它应该是一个跨平台的API。最好的问候,丹尼斯 最佳答案 指望RossBencina'sanswer,加aninternettip:你需要一个PortAudio补丁来启用WASAPILoopback:https://github.com/michaelni/audacity/blob/master/lib-sr
我正在尝试以编程方式创建到扬声器或输出的零延迟麦克风环回。这用于为耳机生成侧音。我相信任何读者都知道,侧音必须是零延迟,否则,延迟听到自己的声音会导致您失去大部分连贯的说话能力。我尝试使用C#中的Naudio和C++中的portaudio创建解决方案。我在PortAudio上运气最好,但是我无法实现我需要的零延迟侧音。Portaudio产生了5毫秒左右的延迟,这是可以检测到的,并导致我的讲话不断放慢速度。我确实知道Windows提供了麦克风环回,我已经对此进行了测试,但即使是Windows环回也有足够的延迟作为侧音令人讨厌。我的问题分为两部分1.)这是硬件/软件的局限性吗?实现零音频延
在Windows的python2.7中,我需要获取默认麦克风的名称,这将是一个字符串,例如“Microphone(2-HighDefinitionAudioDevice)”。我的第一次尝试是使用子进程查询WMI:wmicpathWin32_SoundDeviceget*/format:list。不幸的是,这似乎返回了扬声器和麦克风,而且我看不到任何可以让我区分这两者的属性。此外,正确设备的名称格式不正确,例如它显示为简单的“HighDefinitionAudioDevice”,而不是完整的正确字符串“Microphone(2-HighDefinitionAudioDevice)”。我的
我在Linux上用PortAudio编写了一个小型声音播放库。这是一个小游戏,所以当各种事情发生时会有很多小声音。我通过调用Pa_OpenStream()为每个要播放的wav文件打开一个流。在Linux上,这个调用平均需要10毫秒左右。但是在Windows上,这通常需要40到70毫秒。更糟糕的是,第一次调用需要1.3秒。然后偶尔会再次花费1.3秒。我一直无法找到关于它挂起原因的任何一致的地方,除了每次第一次通话都会发生这种情况。Windows构建实际上在Wine上运行良好。我认为这与不同系统中使用的底层声音API的差异有关。但奇怪的是,尽管进行了广泛的搜索,但我在任何地方都找不到任何信
我正在处理在Windows上使用portaudio的遗留代码。该代码从桌面麦克风获取音频并能够配置输入音量。它在windowsxp下完美运行,但在windows7下调整音频输入电平被破坏,更改参数对输出音频流没有影响。代码执行以下调整音量mp_mixer=Px_OpenMixer(mp_inputStream,m_dev_num);if(mp_mixer)Px_SetInputVolume(mp_mixer,m_volume);我发现,底层winmme函数在WindowsVista和更新版本中不起作用。我已经更新到最新版本的portaudiopa_stable_v19_20140130
我正在尝试使用PyInstaller从我的Python3.7应用程序在Windows上构建一个.exe。构建似乎运行顺利并且没有显示错误;然而,在Windows命令提示符下执行文件会导致这个可怕的错误:OSError:PortAudiolibrarynotfound我已经对这个问题做了一些研究并找到了一些信息,但仍然无法克服它。我的应用程序使用sounddevice库,它依赖于PortAudio库。PortAudio已安装,因为当我直接使用Python运行该应用程序时,该应用程序可以完美运行;问题很明显,PyInstaller以某种不同的方式跟踪依赖关系,无法找到它并将其链接到构建。实
我正在尝试为VOIP场景增加麦克风的增益。我正在使用PortAudio获取输入流(带有paFloat32类型的样本),我将这些值乘以float,然后将结果流传递到输出设备。注意:我将它传递给自动重定向到虚拟输入设备(程序:VB-Cable)的虚拟输出设备,VOIP应用程序可以将其用作麦克风输入并应用增益。我想知道是否有更好的方法来增加信号的增益以更好地保持质量。我读到,执行此类增益计算的方法是,首先将输入转换为更高精度的格式,以这种格式执行增益乘法,应用裁剪,然后再转换回原始格式,这样会更好。我不确定如何使用PortAudio的paFloat32类型执行此操作,我已经在源代码中包含了我
我目前正在开发一个VOIP应用程序。为此,我使用PortAudio库检索和播放声音,并使用Opus库编码和解码声音数据包。目前,我成功地使用了PortAudio。我的程序只是做:从麦克风获取声音播放声音音质绝对好。我现在正在尝试对声音数据包进行编码和解码。我编写了一个EncodeManagerClass来执行此操作,我的程序现在执行以下操作:从麦克风获取声音编码声音解码回放但现在,音质绝对糟糕(而且在VOIP应用程序中显然是有问题的)。这是我的EncodeManager类:classEncodeManager{//ctor-dtorpublic:EncodeManager(void);