问题标签 [audio-converter]

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

iphone - Tone淡出后如何正确销毁ToneUnit?

我正在使用基于 Matt Gallagher 的经典示例的 AudioUnits 在 iPhone 上生成音调。为了避免开始/结束时的啁啾声和咔嗒声,我在回调中淡入/淡出幅度。RenderTone我想在淡出结束时破坏 ToneUnit,也就是在幅度达到零之后。我能想到的唯一方法是从回调中调用实例方法:

不幸的是,这比我想象的更具挑战性。一方面,我仍然会在结束时听到淡出应该消除的咔嗒声。另一方面,我收到此日志通知:

此消息是什么意思,为什么我会收到它?

应该如何杀死 ToneUnit?我怀疑点击发生是因为RenderTonedestroyToneUnit在不同的线程上运行。我怎样才能让这些同步?


如果它有帮助,这是我的destroyToneUnit实例方法:

如果我在 NSLog 之前和之后AudioUnitUninitialize(toneUnit);的消息,通知会出现在它们之间。

0 投票
0 回答
1552 浏览

java - 如何将 InputStream 转换为文件?

我从 webService 接收 InputStream,然后我将使用 HTML5 标签播放,所以为了播放音频,我需要将 InputStream 转换为 URL,以便标签可以读取这个流,因为它不读取 InputStream。

0 投票
0 回答
342 浏览

ios - 扩展“扩展音频文件服务”,以便它可以使用蹩脚/其他编解码器编写 MP3?

我想在 iPhone 上使用lame mp3 编码器对音频数据进行编码并将其保存到文件中。我可以使用 lame 进行编码,也可以使用扩展音频文件服务来编写音频文件。我想将两者结合起来,这样我的代码是一致的,在编写不同格式的音频文件时不使用两种胶水代码。

我可以想象的一个可能的解决方案是将自己的AudioConverter(如AudioConverterNew创建的)包裹在 lame 周围,以便我可以将此转换器与扩展音频文件服务功能一起使用,最突出的是ExtAudioFileWrite. 你能帮我实现这个解决方案或另一个可以使用 iOS 提供的 API 一致地编写 mp3 文件的解决方案吗?

更新:

经过多次反复试验,我确信AudioConverterApple 提供的结构对于应用程序开发人员来说是不可扩展的。因此,我正在使用以下解决方法:

我创建了自己的抽象AudioEncoder类,它声明了用于编码音频数据并将其写入文件的方法。然后我对这个AudioEncoder类进行了子类化,一个用于包装ExtAudioFileRef函数,一个作为 LAME 的包装器。我现在可以在任何我想对音频进行编码的地方使用这些子类,但我不必关心是否编码为原生支持的格式或我使用外部库添加的格式,因为我的编码器类隐藏了所有 API-底层编码器的详细信息。如果我以后想添加 OGG 或 FLAC,这将很容易,因为我只需要编写额外的子类AudioEncoder来包装各自的 OGG 或 FLAC 库。

0 投票
1 回答
2696 浏览

bash - avconv:flac 到 ogg 转换,保留元数据

我目前正在编写一个命令行工具,用于将具有各种格式(flac / ogg / mp3 / ...)的输入音乐库转换为给定格式(flac / ogg / mp3)的输出音乐库。我基于 avconv(如果 avconv 不可用,则基于 ffmpeg),因为它是我发现的最完整的命令行转换器。我的脚本可在此 URL (GitHub) 上找到:

https://github.com/biapy/howto.biapy.com/blob/master/various/mussync-tools

我正在尝试将元数据从输入库文件传递到输出/转换的库文件。

我想出了这段代码:

我的问题是,当使用 Ubuntu 13.10 Saucy Salamander 上可用的 avconv 版本将 flac 转换为 ogg 时,尽管有此选项(将全局元数据从输入 flac 文件复制到输出 ogg 文件的所有音频流),但不会保留元数据:

你们中有人知道在转换时将元数据从 flac 输入文件复制到 ogg 输出文件的正确 --map_metadata 选项吗?

ps:附加问题:如何防止avconv生成的CBR mp3文件有VBR头?

pps:我知道诸如甜菜之类的工具,但我还没有看到专门的命令行工具来完成这项任务。

0 投票
1 回答
127 浏览

audio - 使用 ffmpeg libfaac 转换声音时的声音加速

我正在尝试使用命令用 ffmpeg 转换声音:

原始声音是4:18分钟,但输出声音持续时间是4分钟,听起来很加速。我该如何解决?

顺便说一句,原声是

0 投票
1 回答
361 浏览

mp3 - LAME:64ktbs 以下的可变比特率有哪些设置?

当前设置:根据在线博客和测试,使用 32ktbs 对我来说是“公平的”:

LAME VBR: 由于大小确实是一个问题,我希望通过 32k 左右的可变比特率解决方案进一步推动。但据我所知,VBR 设置-V 9aka 大约 65k 开始,范围为 45...85k :

想要的设置:

如何让 VBR 达到 32k 左右? (最好用 LAME 的命令行)

0 投票
1 回答
1333 浏览

java - 如何使用 CMU Sphinx 将音频文件转换为文本

我正在尝试转换音频文件,下面是我的代码

但我在线上遇到了异常 while ((result = recognizer.getResult()) != null)

请建议我如何解决这个问题。

0 投票
2 回答
2293 浏览

ffmpeg - ffmpeg 中的参数 -ab 是什么意思?

从某人那里我收到了一个批处理文件,它可以使用 2 个命令参数进行 ffmpeg 转换。假设文件被调用convert.sh并且只包含这一行:

ffmpeg -ss 0 -t 36000 -i "$1" -ar 8000 -ab 16K -ac 1 -y "$2"

我这样称呼它:

sh convert.sh inputfile.wav outputfile.wav

在 ffmpeg 文档中,我可以找到所有参数的含义,除了-ab. 我猜16K是它的价值。但我不知道它做了什么。任何人?

0 投票
1 回答
320 浏览

windows-phone-8.1 - Windows Phone 8.1 音频格式转换

我们如何将 WP 8.1 中的音频从一种格式转换为内存流中的另一种格式?

前任。将 MP3 文件转换为 WAV (PCM)。

我检查了以下内容:

  • WP 8.1 尚不支持 NAudio。

  • Media Foundation 仅支持 API 的子集,不能用于从一种格式转换为另一种格式。

感谢你的帮助。

0 投票
1 回答
125 浏览

infinite-loop - ios 8.1 调用 AudioConvertFillComplexBuffer 使 cpuload 100% 无限循环

我正在使用AudioToolBox.AudioConverter库转换音频。

这是 mp3AudioData 的转换部分...

第一次运行没问题,AudioConverterFillComplexBuffer但是当我第二次运行该函数时,无限循环发生在 cpuload 100% 的情况下。

这段代码在 IOS 7 设备上是可以的,但是当我在 IOS 8 设备上运行它时,就会发生无限循环。

谁能告诉我为什么会在 IOS 8 上发生这种情况?

fillComplexBufferInputProc功能: