问题标签 [audioformat]

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 投票
0 回答
456 浏览

java - 未知的采样率/线路不可用 - Java

我正在开发一个需要从麦克风录制声音的基于 Java 的应用程序。以下是我的代码:

在这里,我在“targetDataLine.open(audioFormat, 320);”行遇到异常

javax.sound.sampled.LineUnavailableException:行格式为 PCM_SIGNED 8000.0 Hz,16 位,单声道,2 字节/帧,不支持 little-endian。

我已将 PC 的硬件和操作系统更改为 CentOS7,相同的代码在以前的硬件和操作系统 CentOS 6.7 上运行良好。

我检查了我现在的电脑支持的格式,如下:

如果我在这方面得到某种帮助,我将不胜感激。

0 投票
1 回答
2259 浏览

java - 如何计算音频信号的分贝并在java中录制音频?

  1. 如何同时计算音频的分贝?
  2. 如何计算现有 wav 文件的分贝?
0 投票
2 回答
12825 浏览

ffmpeg - 原始 pcm 格式的音频数据如何存储?

我正在编写一个应用程序来操作音频,我首先需要将文件(wav、MP3 等)转换为原始数据(样本显示为浮点数)。

我在 cmd 中使用 ffmpeg:

文件中的样本如何表示output.dat?我知道一个样本在 S16 下需要两个字节,双通道意味着它存储为 L1 R1 L2 R2 ......但是这个文件是否带有帧表示或 dat 文件中的所有字节都是样本值?两种方法转换后的 test.wav 文件大小不相同。一种是通过libav使用ffmpeg网站上的示例代码,另一种是上面提到的,直接在cmd中使用ffmpeg.exe,前一种方法给我的文件大小略小。当我发现有人说pcm使用框架演示时我很困惑(2048 个样本一帧)。

我实际上不需要任何代码,但希望有人可以详细解释原始 pcm 格式。

非常感谢

0 投票
1 回答
1075 浏览

java - Java 声音 API。从混音器获取支持的音频格式

我正在尝试从通过 USB 连接到我的电脑的外部混音器获取线路。所以我写了一个简单的程序来列出所有的混音器以及它们各自的源行(输出)和目标行(输入),它可以正常工作:

但是,当我真正尝试获得我需要的线路时,如下所示:

我收到一条错误消息,指出该行不支持该格式:

如何扩展初始程序以打印每行支持的格式?提前致谢。

0 投票
0 回答
56 浏览

java - 如何在 RTP 序列中包含所有 AudioFormat?

我正在开发一个 Java 项目,我的目标是使用 RTP 协议流式传输声音。作为开始,我按照wikipedia中的指示编写了一些代码来生成标题。

但是现在,我对数据有效负载有很多疑问:我必须发送什么?我选择了有效载荷类型 10 来使用 wav 格式流式传输声音,在立体声中以 44.100 Hz 采样。

但是,在 Java 中,可能在任何阅读器中,要阅读音频,还需要其他信息:

  • 音频编码技术(例如:PCM_SIGNED)
  • 以位为单位的样本大小(例如:16 位)
  • 通道数:2,由有效载荷类型扣除
  • 帧大小(16 位 * 2 通道 = 32 位 = 4 字节)
  • 帧率(假设等于采样率)
  • 字节序(例如:小字节序)

所有这些信息都来自一个名为 的对象AudioFormat。但是,如何用我的有效载荷发送这些信息?首先,我的接收器可能不是用 Java 编写的,所以我怀疑它是否理解 object AudioFormat。而且,即使它是用 Java 编写的,如何指示第一个有效负载部分是一个对象AudioFormat,然后是原始数据?

我想有一种“通用”的方式来发送这些信息,但我在谷歌上没有找到任何东西。你能给我一些建议吗?

0 投票
1 回答
1621 浏览

python - 从 amazon s3 获取音频文件对象

我想从音频文件中获取音频标签。为此,我使用 eyed3 插件。

但我只有音频文件的 amazon s3 URL。如何从 s3 URL 获取文件对象?

0 投票
1 回答
495 浏览

speech-recognition - Microsoft 认知服务 SST 支持哪些音频格式?为什么 16 位 PCM x.wav 成功而 32 位 PCM y.wav 不成功?

我正在尝试通过 python API 使用 Microsoft 认知服务来解决语音到文本的问题。我有两个文件,harvard.wavOptagelse_0.wav,我想转录它们,但我只用harvard.wav成功。

文件harvard.wav具有以下属性:

而 Optagelse_0.wav 有:

我已尝试根据 Azure 认知服务的语音服务 (SST) 支持哪些音频格式来更改 harvard.wav 的采样 但没有任何改善。

我期待一个转录的打印输出,但我得到了错误

0 投票
1 回答
260 浏览

java - 一种在 Java 中播放 Azure 输出格式“audio-16khz-128kbitrate-mono-mp3”的方法

我曾经从 Azure Test-to-Speech API 服务获取输出格式为“riff-24khz-16bit-mono-pcm”。由于一些技术变化,我们现在得到的音频文本是 audio-16khz-128kbitrate-mono-mp3。

在此更改之前,我们曾经执行以下操作来播放音频文本中的音频:

如上所述,在获取音频输入流时,我得到了UnsupportedAudioFileException

我尝试过使用 mp3plugin.jar。但我认为我无法让它正常工作。请帮忙!

0 投票
1 回答
556 浏览

swift - swift AVAudioEngine 将多声道非交错信号转换为单声道

我正在使用 AVAudioEngine 进行测量。我从界面中播放刺激声音,并使用 micTap 记录返回的信号。

我现在正在研究支持多种不同格式的不同音频接口。我通过混合器转换 inputNode 的输入格式有两个不同的原因:

  1. 从接口的首选 sampleRate 下采样到我的应用程序正在运行的 sampleRate

  2. 将传入通道数转换为单个单声道

我试试这个,但它似乎并不总是按预期工作。如果我的界面运行 96k 而我的应用运行 48k,则通过混音器进行格式更改最终会得到以下结果: 在此处输入图像描述

这看起来只是获得立体声交错通道的一侧。下面是我的音频引擎代码:

我的 sourceNode 是一个使用stimulusFormat 合成的浮点数组。如果我以 96k 的接口收听这个 audioEngine,输出刺激听起来完全干净。然而,这个破碎的信号是来自 micTap 的。物理上接口的输出是路由的。直接输入,所以不通过任何其他设备。

除此之外,我还有以下函数,它将我的数组记录到 WAV 文件中,以便我可以在 DAW 中直观地检查。

}

如果我将我的接口设置为 48k,并且我的应用程序以 48k 运行,如果我检查我的参考信号和。我的测量信号,我得到以下信息:

在此处输入图像描述

测量的信号显然比原始刺激要长很多。物理文件大小。与初始化为固定大小的空数组相同。但是在某些时候进行格式转换,这是不正确的。如果我将界面设置为 44.1k,而我的应用程序以 48k 运行,我可以在音频中看到常规的“故障”。所以这里的格式转换不能正常工作。

任何人都可以看到明显的错误吗?

0 投票
1 回答
85 浏览

file-format - 这个二进制数据流的文件格式/编码是什么

我有一些二进制 blob(blob来自 MySQL)。这些假设是使用 JS web-app 录制的音频流。

我把其中一个 blob 保存为a.wtf文件。当我跑步strings a.wtf时,我得到了一些有用的信息。

我还在终端中尝试了以下操作(google 上的提示)。

下载 a.wtf

很感谢任何形式的帮助?理想情况下,我想将它们转换为 WAV 格式。

更新

我用过这个工具