问题标签 [pcm]
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.
c - 基于纯 C(可能是 C++)的轻量级开源软件合成库。PCM.?
是否有任何便携式开源库支持基于样本的合成并封装生产和混合简单的 PCM?
我真的需要一些简约的东西,并且与操作系统的音频输出机制脱钩。
iphone - iPhone - 如何测量 PCM 编码信号的幅度
这是我手头的问题:
- 我需要实时分析音频数据以找出信号的幅度
- 我无法使用 AudioQueue 计量功能,因为它检测峰值的延迟太长
- 我研究了 aurioTouch 的例子.....但是......
我只是不明白如何将 PCM 编码缓冲区转换回示波器视图中显示的波形。在我想分析振幅之前,正是这个波。
在我分析缓冲区时的回调中,它只有 0 和 -1 - 当使用 NSLog(@"%d") 时。我猜这是有道理的,因为它是 PCM。
我在 aurioTouch 中找不到将 0 / -1 流转换为波形的神奇之处:-((
此外,一旦我将波形保存在内存中,我如何分析幅度以及如何将此读数转换为 dB?
我不想使用FFT,因为我对频率不感兴趣,希望有其他方法。
干杯
垫
linux - 将原始 PCM 流转换为 wav (cli)
我需要一个可以将原始 PCM 流通过管道传输到的程序,并将 wav 文件发送到标准输出。
由于输入是一个流,我不能只添加标题,但我可以每秒x
(例如,程序读取十秒的流,并输出一个十秒长的 wav 文件,读取接下来的十秒,输出一个 wav 文件,依此类推)。
有没有可以做到这一点的程序?它需要在 Linux 上运行。
android - Android AudioRecord 和 AudioTrack 编解码器选项?
我目前在 Android 中使用 AudioTrack 和 AudioRecord 类。
我使用纯 PCM 数据,但我想知道其他编解码器有哪些选择?
从这个页面看来我只能使用 AMR 窄带进行编码和解码?
我目前设置音频类如下:
所以我的问题是如何将编码从 PCM 更改为其他支持的编解码器之一?
当我尝试在 AudioFormat 上更改 ENCODING_PCM_16BIT 时,我只会获得默认或无效编码的选项以及 PCM 选项。
如果有人知道这里的任何帮助或任何帮助,任何指向 Android 上编码和解码音频的教程的链接都会非常感谢。
谢谢
编辑:我已将代码更改为以下内容:
The code runs properly but I'm wondering does it actually encode the Audio as AMR_NB and if this is not a proper way to do it?
I was getting a buffer overflow when using raw PCM but none have appeared since using the new code with the MediaRecorder.AudioEncoder.AMR_NB used instead of the AudioFormat.PCM
iphone - 有没有一种“简单”的方式在 iPhone 上播放线性 PCM 音频?
我正在制作一个媒体播放应用程序,它从第三方解码器获得未压缩的线性 PCM(über raw)音频,但是当我只播放我能想象的最简单的音频格式时,我会发疯的。
最终的应用程序将随着源文件从服务器流式传输而逐步获取 PCM 数据,所以我最初查看了音频队列(因为我似乎可以在旅途中给它字节),但结果证明这是一个愚蠢的 - 特别是因为苹果的自己的音频队列示例代码似乎在 OpenGL 和不必要的封装的神奇实地考察中消失了。
我最终在(非流媒体)原型制作期间使用了 AVAudioPlayer;我目前创建了一个 WAVE 标头并将其添加到 PCM 数据的开头以让 AVAudioPlayer 接受它(因为它不能采用原始 PCM)
显然这对流媒体没有用(WAVE 将整个文件长度设置在标题中,因此无法在移动中添加数据)..
..本质上:有没有办法只给 iPhone OS 一些 PCM 字节并让它播放它们?
algorithm - 将pcm转换为adpcm的算法是什么?
将pcm转换为adpcm的算法是什么?
c++ - 从哪里获得简单的开源 adpcm C\C++ 编码器库?
从哪里获得简单的开源 pcm 到 adpcm C\C++ 编码器库?
python - 解释 WAV 数据
我正在尝试编写一个程序来显示 PCM 数据。试图找到一个具有正确抽象级别的库时,我一直非常沮丧,但我找到了 python wave 库并一直在使用它。但是,我不确定如何解释数据。
wave.getparams 函数返回(2 个通道,2 个字节,44100 Hz,96333 帧,无压缩,无压缩)。这一切看起来都很愉快,但后来我尝试打印一个单帧:'\xc0\xff\xd0\xff',它是 4 个字节。我想一帧可能是 2 个样本,但歧义并没有就此结束。
96333 帧 * 2 个样本/帧 * (1/44.1k 秒/样本) = 4.3688 秒
但是,iTunes 报告的时间接近 2 秒,并且基于文件大小和比特率的计算在 2.7 秒的范围内。这里发生了什么?
另外,我怎么知道字节是有符号的还是无符号的?
非常感谢!
c++ - 如何从 C++(操作系统 Windows)中的麦克风获取 PCM 数据?
我需要从 C++ 中的麦克风捕获 PCM 数据。
我是初学者。
怎么做?
android - 在 android 中将 16 位 pcm 音频下采样到 8 位
我想将 16 位 pcm 音频下采样到 8 位,然后在 android 中将其从 8 位上采样回 16 位。我正在使用这似乎有效:
其中 tempbuffer 是一个短 [],而 tempint 是一个 int。谁能告诉我这是否可以正常工作,因为我是初学者,而且我正在使用它将字节 [] 转换回短 []
我不确定它是否有效。