问题标签 [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.

0 投票
2 回答
25981 浏览

signal-processing - 线性量化和非线性量化有什么区别?

线性量化和非线性量化有什么区别?我说的是PCM样本。 http://www.blurtit.com/q927781.html有一篇关于它的文章,但我正在寻找更详细的答案。

0 投票
4 回答
5208 浏览

java - 用于上采样的 PCM 算法

我有 8k16bit pcm 音频,我想将它上采样到 16k16bit。我必须手动执行此操作。

有人能告诉我线性插值的算法吗?我应该在每两个字节之间进行插值吗?

另外,当我进行上采样时,我必须对 wav 标头进行更改 - 我应该更改什么?

0 投票
1 回答
5559 浏览

c# - 从 PCM 数据中获取音频信息

我一直无法理解音频数据是如何存储的。但是,我想知道一种找到 PCM 数据音高的方法。例如,假设我以给定的采样率以 16 位单声道 PCM 格式录制了钢琴上敲击的单个键。我怎样才能找到音频的频率(以赫兹为单位)?获得平均频率的简单代码对我有用,但更详细地解释如何更好地理解格式将是理想的。

谢谢!

0 投票
4 回答
12991 浏览

java - Convert 16 bit pcm to 8 bit

I have pcm audio stored in a byte array. It is 16 bits per sample. I want to make it 8 bit per sample audio.

Can anyone suggest a good algorithm to do that?

I haven't mentioned the bitrate because I think it isn't important for the algorithm - right?

0 投票
1 回答
2068 浏览

java - 8bit PCMU编码器/解码器

我有 16 位 PCM 音频,我想将其转换为 8 位 PCMU。据我所知,16 位到 8 位的转换很容易——只需从每个样本中删除最后 8 位。

我想知道如何将 8 位 pcm 转换为 8 位 pcm?任何文章或示例代码都会很棒!

这适用于没有现成可用框架的移动平台,因此我需要通过自定义实现来做到这一点。

0 投票
1 回答
5139 浏览

java - java - 如何从java中的麦克风获取dB(或任何类型的音量)级别?

如果我在问一些已经问过的问题,我真的很抱歉,但是我到处看了看,没有任何结果。

我正在尝试使用 java sound api 即时读取房间中当前的音量。我注意到我从麦克风混音器获得的控件对此没有帮助,从我所见,人们建议从 TargetDataLine 读取一小段声音并使用均方根算法检查音量。

实际问题:) 问题是,每当我在样本上运行 rms 时(我为此使用 PCM_SIGNED,44100Hz 16 位),当没有背景噪音时,我得到的值在 20-30 之间,当我说话/大喊时,我得到的值高达 60 /讲话。(我尝试从 100-44100 的缓冲区大小读取行,缓冲区大小较小,rms 较低 - 但全部 - 安静在 10 左右,噪音在 30 左右。)

问题是,当我播放刚刚录制的内容时,您可以完美地听到所有内容,并且没有背景噪音。

tl;博士谁能(请)告诉我一种从字节数组读数(PCM SIGNED 44100Hz 16bit)中分辨音量的方法?

先谢谢回答的人!

0 投票
1 回答
1025 浏览

java - wifi/tcp 上的 Java Sound PCM Stream 非常“静态”

我编写了一个程序,可以将 PCM 流从我的 pc 传输到另一台 pc 或我的 android(使用 AudioTrack)。它使用 java 声音并从立体声混音混音器中获取目标和源行。从技术上讲,一切都有效(插座、混音器、线路、流、缓冲区等),但远程扬声器上的输出听起来非常静态。即使没有声音通过,也会有持续的噼啪声。我已经在手机和电脑上测试了这些程序,结果相同。

我能做些什么?谢谢,比尔

ps 代码很大,有点乱,但如果你问我可以把它贴在某个地方。

0 投票
1 回答
2293 浏览

ios - 从 AvassetReader 和 vDSP_FFT 获取 iPhone mp3 频率

我正在尝试从 iPhone / iPod 音乐库中为 iPod 库上的频谱应用程序获取频率,帮助自己阅读-audio-samples-via-avassetreader以获取音频样本,然后使用-the-apple-fft-and-加速框架Apple vDSP Samples,但不知何故我在某处错了,无法计算频率。

所以一步一步:

  • 阅读音频样本
  • 汉宁窗
  • 计算 fft

这是从 iPod mp3 库中获取频率的正确方法吗?

这是我的代码:

我得到了1.4857571.332233作为我的第一个频率

0 投票
1 回答
1570 浏览

iphone - 在 iphone 上播放 pcm 数据

我需要在 iphone 上实时播放线性 pcm 数据。

我通过 RTSP 获得了LIVE数据流,我目前可以从 iphone 读取它,将其保存到文件中,在支持 pcm 的桌面音频播放器上播放,因此我认为传输还可以。

现在我被卡住了,我已经完全了!不知道如何处理包含数据的 NSData 对象。

我做了一些研究,最终得到了 AudioUnits,但我无法将我的 NSdata 分配给音频缓冲区,我不知道如何分配。

就我而言,我分配了回调:

并具有“makeSound”功能:

我的方法大体上是错误的吗?

我需要知道/学习/实施什么?我是一个完整的音频新手,所以我的建议是,我不需要多个缓冲区,因为当我从 rtsp 获得新的声音包时,旧的声音包就结束了,因为它是一个实时流(我基于我的录音,这只是附加了没有查找表示时间戳的字节,因为无论如何我都没有收到)

干杯

0 投票
5 回答
16659 浏览

iphone - PCM音频幅度值?

我开始使用我的 Android 智能手机进行录音。

我成功地将录音保存到 PCM 文件中。当我解析数据并打印出带符号的 16 位值时,我可以创建如下图。但是,我不了解沿 y 轴的幅度值。

  1. 幅度值的单位究竟是什么?这些值是 16 位有符号的,因此它们的范围必须在 -32K 到 +32K 之间。但是这些值代表什么?分贝?

  2. 如果我使用 8 位值,那么值的范围必须是 -128 到 +128。这将如何映射到 16 位值的音量/“响度”?你会只使用 16 比 1 的量化映射吗?

  3. 为什么会有负值?我认为完全沉默会导致值为 0。

如果有人可以将我指向一个包含有关记录内容的信息的网站,我将不胜感激。我找到了有关 PCM 文件格式的网页,但没有找到数据值。

在此处输入图像描述