问题标签 [flac]
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.
audio - 开窗和无损压缩
我正在研究 FLAC 的工作原理,尽管我的问题对任何无损编解码器都有效。
我想知道如果原始信号乘以一个非矩形的窗口,编解码器怎么可能是无损的。
我认为这个操作会修改我们不想改变的流。
我知道一个矩形窗口的光谱响应很糟糕(sinc,有很多裂片),但是,有什么问题?我们不想干扰音频流,并且通过乘以不同于 1 的值,我们会的。
谢谢你。
c++ - 未找到 libFLAC 符号和 vtable 错误
我已经从 macintosh os x 10.6.8 下的源代码编译了 libFLAC,并成功测试了 WAV 到 FLAC 的转换(从命令行)。我还使用了默认构建: ./configure --prefix="$base/flac/more/" --exec-prefix="$base/flac/main/" --disable-asm-optimizations && make && 进行安装
现在将 FLAC 头文件和库的路径添加到一个全新的项目中。在与 libFLAC 捆绑的示例代码下,我正在尝试使用 libFLAC 解码 FLAC 音频并将其加载到系统内存中。但是,我收到symbols not found
标准 Cvtable symbols not found
错误和标准 C++ 方法错误(如下所示)。
Errors under the C approach:
“ FLAC _stream_decoder_get_state”,引用自:
“ FLAC _stream_decoder_new”,引用自:
“ FLAC _StreamDecoderStateString”,引用自:
“ FLAC _StreamDecoderErrorStatusString”,引用自:
FLAC__StreamDecoderErrorStatus, void*) in main.o
“ FLAC _stream_decoder_init_file”,引用自:
“ FLAC _StreamDecoderInitStatusString”,引用自:
“ FLAC _stream_decoder_set_md5_checking”,引用自:
“ FLAC _stream_decoder_process_until_end_of_stream”,引用自:
“ FLAC _stream_decoder_delete”,引用自:
ld:未找到符号
collect2: ld 返回 1 个退出状态
据我所知,链接器没有看到库(因为它看到了头文件)或者 libFLAC 没有正确编译。鉴于这些错误,如果有人能指出可能的解决方案,我将不胜感激。
c++ - 打包 LEFT 和 RIGHT 通道数据
我正在将 FLAC 音频解码到内存中,并将解码后的音频数据传递给 OpenAL:void alBufferData (ALuint bufferName, ALenum format, const ALvoid *data, ALsizei size, ALsizei frequency);
来自解码音频的数据进入我的std::vector<FLAC__int32> data_;
。我试图将左声道和右声道(AL_FORMAT_STEREO16)打包到其中。但是,我不明白如何在我的data_
向量中存储/对齐这些通道。
所以我有libFLAC虚拟回调成员函数:
目前,在音频播放期间,我只听到左声道。声音播放完毕后有静态声音,我假设是缺少 RIGHT 通道数据。我如何让正确的频道也能正常工作?
此外,这是根据 libFLAC 的元数据回调签名:
html - 使用 libFLAC 将 AudioContext 的输出转换为 FLAC 格式
我正在尝试将 HTML5 音频上下文(例如buffer.getChannelData(0)
...)的 PCM 输出转换为“FLAC__stream_encoder_process_interleaved”所需的 PCM 数据
奇怪的是 FLAC 需要数据作为 int32 缓冲区(const FLAC__int32 buffer[]
)但是 audiocontext 的输出是标准化的 float32 数组。我不确定如何将音频上下文的规范化缓冲区转换为 FLAC 所需的格式。
有人可以解释为什么 FLAC 需要 int32 中的缓冲区而不是普通的 float32 数组吗?
audio - Is there any crossbrowser solution for playing flac? (or is it possible in theory to make one)
Not interested in silverlight. Flash/javascript/html5 solutions are acceptable.
If you do not know such solutions, could you please say is it possible to make such that or not?
mp3 - 诱变剂轨道长度信息的准确性如何
我正在对我的音乐库进行一些审核(使用 Mutagen/Python),包括查找重复项。特别是,我正在编写一个程序来查找重复项,并且我使用轨道长度作为比较两条轨道的方式的一部分。在此过程中,我发现 mp3 版本与 m4a 版本的音轨长度之间存在一些小的差异(例如 2 秒)。
这是“真实的”(即不同的编码会扭曲轨道长度 - 哎呀!)还是与标签的创建方式或读取方式有关?
如果差异是真实的且不可避免的,我应该为相等设置什么比较容差?
java - 如何挂起线程而不控制运行方法中的循环
我尝试制作一个播放 FLAC 文件的类。为此,我使用jFlac。所以,为了播放一首歌,我需要做:
我把它放在我班级的 run() 方法中。如果我启动线程,那就行了。但我想知道如何暂停。我无法控制 in 中的循环p.decode();
,所以我不能使用等待和通知。但Thread.suspend()
已弃用。我不知道该怎么办。
我的课:
谢谢!
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:我知道诸如甜菜之类的工具,但我还没有看到专门的命令行工具来完成这项任务。
java - FLAC文件中的Android记录
如何在 FLAC 文件中使用麦克风进行录音?我试过这个:
错误:
是否可以使用 Java 1.6 和 android 4.0.3 以 Wav 格式录制声音?