问题标签 [lame]

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

node.js - 如何循环播放 MP3?

如何循环播放 MP3?

我用它来播放 MP3,但它只播放一次。

我想连续播放 MP3。

使用:

0 投票
1 回答
2516 浏览

objective-c - xcode,目标 c,将音频(.WAV,PCM 编码)文件的内容读入 C 整数数组

我正在开发一个应用程序,它可以捕获录音并将其转换为mp3.

我正在使用LAME 开源库转换Cmp3. 它有一个函数,需要将PCM 编码的.wav 文件表示为 .wav 文件的整个整数流integer array

这是我在 iphone 开发方面的第一个项目,我无法弄清楚如何将wav文件的内容(应该只是stream of integers)读入C style array?

请帮忙。

尼拉夫

0 投票
2 回答
2976 浏览

c - 将 WAV 转换为 MP3 时的音频速度变化

我创建了一个WAV( PCM) 到MP3转换器。但是输出太快了。

这是转换编码的代码。

参数sampleRate,byteRatechannels从 WAV 标头中读取。

我相信代码中缺少某些东西....

0 投票
0 回答
521 浏览

bash - 在 bash 中使用 ffmpeg

我正在尝试制作一个 bash 脚本来将 .wav 文件转码为目录中的 mp3(带有 lame V0 预设)。这是我到目前为止所拥有的

第一个do行删除了扩展名,以便我以后可以使用文件名。

我已经在单个文件上测试了 ffmpeg 命令,但是一旦将其包含在for循环中,我就会收到以下错误(对于最后一首曲目):

我不确定为什么跛行线有多余的参数,或者为什么 ffmpeg 只查看名为“10”的文件。有什么我想念的吗?

非常感谢您的帮助

0 投票
1 回答
7504 浏览

php - 使用 PHP 中的 LAME 将 WAV 转换为 MP3

我有 WAV 数据,我想使用 PHP 脚本即时转换为 MP3。WAV 文件源自脚本,因此它不是作为文件开始的。

我可以运行这样的东西:

但这需要我先将 in.wav 写入磁盘,然后从磁盘中读取 out.mp3,然后在完成后进行清理。我不想那样做。相反,我将 wav 文件存储在 $wav 中,我想通过 LAME 运行它,以便将输出的数据存储在 $mp3 中。

我已经看到对 FFMPEG PHP 库的引用,但如果可能的话,我宁愿避免为此任务安装任何其他库。

0 投票
0 回答
172 浏览

ios - 无法向 icecast 服务器写入多个数据包

我在 mp3 中编码并使用套接字连接写入 icecast 服务器。但问题是,虽然生成了一个新缓冲区,但转换为编码字节的新缓冲区并没有被写入 server 。

0 投票
2 回答
4571 浏览

audio - What is the effect of the "quality" option in SoX mp3 compression?

I am converting audio files of several different formats to mp3 using SoX. According to the docs, you can use the -C argument to specify compression options like the bitrate and quality, the quality being after the decimal point, for example:

sox input.wav -C 128.01 output.mp3 (highest quality, slower)

sox input.wav -C 128.99 output.mp3 (lowest quality, faster)

I expected the second one to sound terrible, however, the audio quality between the two sounds exactly the same. If that is the case, I do not understand why one performs so much slower or what I would gain by setting the compression to higher "quality".

Can someone please tell me if there is a real difference or advantage to using higher quality compression versus lower quality?

P.S. I also checked the file size of each output file and both are exactly the same size. But when hashed, each file comes out with a different hash.

0 投票
2 回答
3369 浏览

ruby - ruby - IO.popen 不工作跛脚的标准输入和标准输出编码

我一直在使用管道,IO.popen特别是在 Ruby 中,遇到了一个我无法弄清楚的问题。我正在尝试将二进制数据从flac进程lame写入到文件中。我正在使用的代码结构如下。

但是,它不起作用。运行后flac,脚本挂起并lame保持空闲(根本不使用处理器)。不会发生错误或异常

我在 Windows 7 上使用 cygwin,带有 cygwin ruby​​ 包(1.9.3p429 (2013-05-15) [i386-cygwin])。

我一定做错了什么,非常感谢任何帮助。谢谢!

额外 #1

我想从lame进程中输入和输出二进制数据,因为我正在尝试创建一个独立于平台(当然是 ruby​​ 支持有限)来转码音频文件,并且 Windows 二进制文件lame仅支持 Windows 的路径名,而不支持 cygwin 的.

编辑#1

我在某些地方(我没有保存 URL,我会尝试在我的浏览器历史记录中查找它们)阅读了IO.popen已知 Windows 中阻塞进程的问题,并且可能是这种情况。

我玩过其他库,包括 RubyOpen3.popen3Open4,但是遵循与上述非常相似的代码结构,该lame过程仍然挂起并且没有响应。

编辑#2

我发现这篇文章谈到了 Windows 的局限性cmd.exe以及它如何防止使用从文件到标准输入的流数据。

我重构了我的代码,如下所示来测试它,结果证明,lame在 stdin 写入时冻结。如果我删除(注释掉)该行,则lame执行该过程(带有“不支持的音频格式”警告)。也许文章所说的可以在这里解释我的问题。

编辑#3

我发现这个stackoverflow(在第一个答案中)提到cygwin管道实现是不可靠的。这实际上可能与 Windows 无关(至少不直接),而是与 cygwin 及其仿真有关。相反,我选择使用以下代码,基于icy的答案,它有效

0 投票
1 回答
1352 浏览

c#-4.0 - 使用 Lame 将混合波流转换为 mp3

我们正在尝试混合多个 mp3 和波形文件以最终创建一个 MP3。

示例:5 个源文件(3 个 mp3,2 个波形文件)

我们将每个流的输入提供给 WaveMixerStream32,最后使用 Wave32To16Stream 进行转换

我们需要将此最终流转换为 MP3。为此,我们使用 LAME 并将流传递给 EncodeMixedStreamAsMp3,后者返回错误“文件格式无效”。

经过研究,我们发现混合波流中缺少 RIFF 标头。

如何将 RIFF 添加到基于多个源(MP3 和 WAVE)生成的混合波流中?

0 投票
2 回答
3193 浏览

ios - 借助 iOS 中的 AudioQueueServices 示例将音频线性 pcm 转换为 mp3(使用 LAME)

我是 ios 开发的新手。我在 iOS 中将 LinearPCM 编码为 MP3。我正在尝试使用 AudioToolbox 框架和 Lame 将原始 PCM 数据从麦克风编码到 MP3。尽管如果我录制 .caf 格式,一切似乎都运行良好. 我只得到编码流中存在的噪声和失真。我不确定我是否正确设置了 AudioQueue,也不确定我是否以正确的方式处理编码缓冲区...我设置音频录制的代码:

示例项目https://github.com/vecter/Audio-Queue-Services-Example

然后AudioQueue回调函数调用lame_encode_buffer,然后将编码后的缓冲区写入文件:

附加数据

有人可以建议这里有什么问题吗?

否则发布已经完成的示例项目?