问题标签 [mu-law]

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

c++ - 将静音音频数据写入文件ffmpeg C++

我想将静音/归零音频采样数据写入mov音频数据内的媒体容器文件。我的音频数据是一个通道的 G711 线性 PCM-mulaw 编码数据。目前我的代码如下所示:

但这听起来像点点而不是沉默。有什么问题?

0 投票
1 回答
209 浏览

java - 是否可以通过 RTP 传输多个 u-law 音频通道?

我目前正在录制每秒 8000 个样本、每个样本 8 位和一个通道的音频,并使用 RTP 将它们发送到另一台机器。

在发送 RTP 数据包之前,我会创建一个由 u-law 音频组成的双通道缓冲区吗?像这样的东西:

像这样的东西会符合 RFC 吗?

0 投票
1 回答
1595 浏览

c - 从 u-law 转换为 PCM,16 位

我目前在我的 C 源代码中使用两个函数将 A-law 文件转换为 PCM 16 位,将 U-law 文件转换为 PCM 16 位。U-law 文件到 PCM 16 位的转换不成功。生成的 PCM 16 位文件有很多噪音。

下面有两个函数:

谁能告诉我第二个功能有什么问题?谢谢

0 投票
0 回答
181 浏览

gstreamer - 播放太快mu-law gstreamer1.0

我将 mu-law 格式的原始 RTP 有效负载转储到一个文件中,然后将此文件输入 gstreamer,如下所示:

但是播放速度太快了。我做错了什么?

0 投票
2 回答
814 浏览

google-cloud-speech - MULAW - 音频数据传输太慢

我在流模式下的语音识别有问题。我的音频源是 VoIP 电话协议 (SIP),它允许您以以下格式输出音频数据:“encoding”:“Mulaw”,“sampleRateHertz”:8000

  • 当我以流模式发送新的数据部分时,出现异常:“Status(StatusCode=OutOfRange, Detail="音频数据传输速度太慢。请大约实时传输音频数据。”)”
  • 为了验证,我以这种格式将数据写入磁盘。在我读取数据并以流模式将其分块发送后,一切正常并返回结果。

事实证明,该错误仅实时出现。我寻求帮助。

0 投票
1 回答
1096 浏览

c# - 从 WasapiLoopbackCapture 捕获音频,并转换为 muLaw

我正在使用 WasapiLoopbackCapture 捕获音频

我需要将其转换为 muLaw(8Khz,8 位,单声道) - 最终它将通过 SIP 中继发送到电话。我已经尝试了 100 多个样本(其中大部分使用 NAudio)和解决方案,但仍然不知道如何做到这一点......

0 投票
3 回答
6716 浏览

python - Python u-Law (MULAW) 波解压为原始波信号

我在过去两周内搜索了这个问题,但找不到算法或解决方案。我有一些简短的 .wav 文件,但它具有 MULAW 压缩,并且 python 内部似乎没有wave.py可以成功解压缩它的功能。所以我开始自己用python构建一个解码器。

我在基本元素中找到了一些关于 MULAW 的信息:

  1. 维基百科
  2. A-law u-Law 比较
  3. 一些 c-esc 编解码器库

所以我需要一些指导,因为我不知道如何从有符号短整数到全波信号。这是我迄今为止收集到的初步想法:


所以从 wiki 我得到了一个 u-law 压缩和解压方程:

压缩 : 压缩

解压: 在此处输入图像描述

所以从压缩方程来看,看起来输出被限制在float-1 到 +1 的范围内,并且有符号短整数从 –32,768 到 32,767 所以看起来我需要将它从 转换short intfloat特定范围。

现在,老实说,我以前听说过量化,但我不确定我是否应该先尝试去量化然后解压缩或以其他方式,或者即使在这种情况下它是同一件事......使用术语的教程/文档可能有点棘手。

我正在使用的波形文件应该包含类似于语音合成的“A”声音,我可以通过比较一些音频软件和自定义波形分析器中的 2 个波形来验证成功,但我真的很想减少这个试验和错误部分过程。

所以我的想法是:

那么是否有某种算法或关键步骤我需要采取以下形式:第一减压第二量化第三
由于我在谷歌上找到的所有内容都是如何读取.wavPCM 调制的文件类型,而不是在出现野压缩时如何管理它。

0 投票
0 回答
239 浏览

c# - Converting mono PCM to uLaw code to stereo

I have some c# code that has two functions. One converts linear PCM data to MuLaw format. The other function converts it back.

public static Byte[] LinearToMulaw(Byte[] bytes, int bitsPerSample, int channels)

public static Byte[] MuLawToLinear(Byte[] bytes, int bitsPerSample, int channels)

In the following explanation I am always using 16 bits, two channels.

When this code was published the author decided to make the functions convert the sound to mono. I need stereo. If I replace each function with just a return of the bytes that come in, I do indeed have the required stereo. A left and right channel.

Now I know a little bit of what has to be done. Here is the code to convert from Linear PCM to MuLaw:

And here is the code to convert back:

These two functions will take a linear stereo PCM array of bytes and output them as mono.

The input bytes are in the following format: Byte 0, byte 1 are the left channel and byte 2 and 3 are the right channel. Now the author converts the input byte array to mono by incrementing the result index by 4, skipping the right channel. In the MuLaw to Linear, he puts the right channel values into the left.

I have tried to modify this by incrementing the result index by only two and reading the resulting bytes back in but all I get is distorted sound that sounds like it is running at half speed. Can anyone suggest where I am going wrong?

0 投票
1 回答
500 浏览

audio - 从 L16 创建 mulaw 音频文件

我有一个带有这些属性的波形文件。

我想做2个管道

1) 我将此文件内容作为 RTP 数据包扔到端口 = 5000

2) 监听 port=500 捕获 rtp 数据包并制作具有以下属性的音频文件

我试过的是:发件人:

接收者:

但我在 Test.ulaw 而不是 PCMU 获得 L16 文件

有什么建议吗?

0 投票
1 回答
114 浏览

c++ - u-law 压缩返回无效文件 c++

我正在尝试将 u-law 算法应用于 wav 文件file.wav,然后创建一个新文件file2.wavfile.wav有 16 位/样本,我想获得一个file2.wav8 位/样本。

这是我的代码:

我从这里 取了 u-law 算法(2.1. µ-Law Compression (Encoding) Algorithm)

难道我做错了什么?因为我获得了一个损坏的文件。

值[i]