问题标签 [alsa]

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 回答
2243 浏览

android - 有没有使用录音机录音的例子

是使用 Audio-recorder 进行音频记录的任何示例......以及是否可以开发断言功能以将音频作为曲目播放。

0 投票
2 回答
1328 浏览

linux - Linux 上 Matlab 中的 24 位声音捕获

我有一个相当不同的问题。所以我在 Linux Gentoo 机器上使用 Matlab。我有一些 Asus Xonar STX 声卡,我正在尝试使用PlayRec非阻塞音频 IO 包将它们用作灵敏的音频分析器。

现在我知道 Matlab 会说如果你尝试使用录音机功能,并在 linux 中指定 24 位,它会告诉你 24 位仅在 Windows 中支持。然而,ALSA 文献并不暗示这是操作系统或 ALSA 本身的限制,事实上,Alsa 似乎允许您指定 24 位 PCM 设备。PlayRec 使用 PortAudio,然后在 Linux 系统上使用 Alsa。

现在这一切都很好,而且 Playrec 似乎没有指定位深度的方法,只有采样率。我已经进行了很多测试,知道我的声卡的传递函数是什么(浮点返回值与输入电压转换比),我知道我的峰值电压是 3V,我的噪声在 100uV 左右。这给了我 20*log10(3/100e-6) = 91dB。这更接近我期望从 16 位而不是 24 位看到的。

我真正的问题是:是否有某种方法可以验证我实际上在捕获的信号中获得了 24 位?

如果我不是,ALSA 或 Matlab 是否存在一些固有限制,这限制我只能从声音捕获设备获取 16 位数据,即使使用 3rd 方程序收集该数据也是如此。

0 投票
3 回答
29532 浏览

linux - 如何通过管道 /dev/urandom 到 linux 声音输出?

这似乎根本不起作用:

是因为pulseaudio吗?或者我需要做一些设置?

0 投票
1 回答
885 浏览

ruby - Ruby 可以在 Linux ALSA 系统中录制 PCM 麦克风输入吗?

嗨 ruby​​ 可以在 Linux ALSA 系统中录制麦克风输入吗?

我想用 ruby​​ 做一些处理和编码。但是我找不到任何相关的文章。

多谢你们!

0 投票
5 回答
34933 浏览

android - 适用于 Android 的 OpenSL ES 教程

我一直在尝试使用可用于使用 android 2.3 进行本机音频的 OpenSL ES 库,但似乎头文件和规范的 600 页 pdf 是唯一可用的文档。

我应该在哪里寻找示例、教程或功能的简要概述?

0 投票
1 回答
29933 浏览

c - 从 C 代码设置 ALSA 主音量

我一直在寻找一个简单的 C 代码示例来设置 ALSA 混音器的主音量,但是对于这个所谓的常见操作找不到任何简单的东西。

我对 ALSA 完全不熟悉,所以制作我自己的最小示例需要时间。如果有人能提供一个,我会很高兴。

0 投票
3 回答
17513 浏览

linux - 找到我可以用来和 ALSA 一起玩 PCM 的所有设备

我使用 ALSA 播放 PCM 样本。我用这个函数打开 PCM 流:

我目前使用“默认”作为名称参数。我希望能够选择其他设备。我无法理解的是如何确定其他可用设备的名称。

我在我的系统上连接了一个 USB 麦克风,aplay 和 amixer 似乎检测到了新设备。如何确定该设备的名称?是否有任何 ALSA 功能来获取可用设备及其各自名称的列表?

0 投票
1 回答
14569 浏览

python - Python中的录音

我想用 Python 录制来自 USB 麦克风的短音频片段。我试过 pyaudio,它似乎无法与 ALSA 通信,还有 alsaaudio,它的代码示例会产生一个不可读的文件。

所以我的问题是:用 Python 从 USB 麦克风录制剪辑的最简单方法是什么?

0 投票
2 回答
6632 浏览

playback - 如何使用 ALSA 混合多个 PCM 流

我有两个不同的 PCM 样本流。是否有可能以某种方式混合它们并在同一输出设备上与 ALSA 一起玩?

我读到它可能可以使用混音器,但由于缺乏文档,我发现很难理解。任何人都可以提供一些关于如何实施的更多信息(如果确实如此)?

谢谢!

0 投票
1 回答
6735 浏览

android - 如何在 linux/android 平台上设置高于 44.1kHz 的音频采样率?

我注意到android.media.AudioRecord使用错误时无法正常工作sampleRateInHz

复制

您还可以使用 Samsung Nexus S(由 Google 提供)上的 pcmrecorder 轻松重现该问题:

https://market.android.com/details?id=com.kohei.android.pcmrecorder

http://ko-yasui.com/home/pcmrecorder/

所以它无法以 48Khz 录制,而硬件音频芯片支持高达 96KHz:

http://www.wolfsonmicro.com/products/audio_hubs/WM8994/

这是设备/固件错误还是已知限制?

注意android平台只保证44100Hz左右(连24KHz也不行)

http://developer.android.com/reference/android/media/AudioRecord.html

sampleRateInHz:以赫兹表示的采样率。44100Hz 是目前唯一保证适用于所有设备的速率,但其他速率(例如 22050、16000 和 11025)可能适用于某些设备。

源代码

您可以在以下位置找到重现这些问题的示例代码:

https://github.com/rzr/rzr-android-test/blob/api-android-media/src/fr/online/rzr/test/

曲目

如何克服这个限制?

  • 可以使用任何其他 API 吗?开放式,阿尔萨,开放式?如何 ?

  • 可以从用户端重新配置 alsa 驱动程序以能够在 44100Hz 以上采样吗?( .asoundrc )

  • 是否可以在不重新刷新/生根/重启设备的情况下做这样的事情

  • 否则如何解决这个问题?使用本机代码有效地进行上采样(插值)?

更多的

http://www.anddev.org/multimedia-problems-f28/how-to-set-audio-sampling-rate-higher-than-44-1hz-nexuss-t54722.html

http://en.androidwiki.com/wiki/Nexus_S