问题标签 [speex]
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.
java - JNI:speex 编码数据错误
我正在使用 JNI 中的 sppex 开发编码机制。我从java调用Encode方法,
遵循运行正常的c代码。
这个 C 代码编码很好。
当我使用 JNI 实现它时,在 java 中将文件读取为短数组并调用 JNI 编码,编码的数据不正确。
这是JNI代码
请,.你能在上面的代码中发现任何错误吗,..提前谢谢。
flash - 将 Speex 编码为 SWF 版本 10 声音流
Adobe 的“SWF 文件格式规范 v10”表示 Speex 编码数据可用于流式声音(此处对“流式声音”定义稍作澄清:“SWF 文件格式支持流式声音模式,其中声音数据以与时间线紧密同步。在这种模式下,声音数据包与每一帧一起存储。” - 这与任何 FMS 流媒体无关,不需要 ActionScript - 只是普通的 SWF)。
这应该通过使用单个 SoundStreamHead2 标记来完成,其中 StreamSoundCompression 设置为 11(这意味着“Speex”,如上述规范中所述),然后使用 N 对 ShowFrame 和 SoundStreamBlock 标记。但是,这不起作用 - Flash Player 在播放我以这种方式生成的 SWF 时没有声音。请注意,我能够生成包含流式 MP3 或 PCM 数据的此类 SWF,然后它们可以完美播放。只是不是斯佩克斯...
我严格遵守规范:http://www.adobe.com/content/dam/Adobe/en/devnet/swf/pdf/swf_file_format_spec_v10.pdf
,第 220 页。
我尝试了流式声音方法以及事件声音 - 两者都不起作用。
此外,我无法(在 Internet 上的任何地方)找到任何带有 Speex 编码的流式声音(也不是事件声音)的示例 SWF。它们甚至存在吗?无论如何,Flash CS5.5 无法生成它们...
我只是想知道 Speex 对 SWF 流声音的支持是否可以在规范之外的任何地方找到。(我知道 FLV 可以包含 Speex,并且 Flash Player 可以从麦克风流式传输 Speex,并且 FMS 可以将 Speex 流式传输到其客户端,但这不是我要求的)
亲切的问候,
JK
speex - 如何使用 speex 抖动缓冲区
我正在使用 speex 库对音频数据进行编码、解码和预处理。我认为 speex 库非常有用,但是当我使用 speex jitter buffer时,我遇到了一些问题。我使用多线程,一个线程将接收到的数据放入抖动缓冲区,另一个线程从活动抖动缓冲区中获取数据,有时“获取”线程无法获取有效数据,尤其是当它比“放置”更快时数据的线程。另外,我正在使用互斥锁来保护抖动缓冲区。
我不知道如何准确地使用抖动缓冲区。我希望有一个人可以帮助我。
这是我的代码:
speex_jitter_buffer.cpp
然后我使用“speex_jitter_buffer.h”头文件。
“放置”线程代码:
“获取”线程代码:
我也想使用 speex 库来消除回声,但我不知道如何准确地使用它。非常感谢你们。
linux - 链接错误:未定义对静态库的引用
如果有人有信息,我需要你关于这个问题的帮助。
我已经speex1.2rc1
为xscale-elf
(ARM 架构)进行了配置,然后执行make
了make install
. 所以,我libspeex.a
在 with 中也获得了/usr/local/lib
编译libogg.a
。但是当我将库链接到我的程序(通过添加LDFLAGS += -lspeex -lm
)并尝试编译时,我收到此错误:
我将选项传递 ./configure
为:
链接器很可能看不到libspeex.a
,我也在 LDFLAGS += /usr/local/lib/libspeex.a -lm
Makefile 中尝试了该行,但出现了另一个错误(也在链接中):
c - Speex 解码帧与原始帧不一样
我需要您的帮助来确定以下用于定点编码的示例代码(取自 speex 手册)中的问题。我测试了对 160 个样本帧进行编码,然后将其解码,但问题是解码后的帧与原始帧完全不同(请参阅下面的评论中的输出)。这可能是什么原因?谢谢您的帮助
android - 如何使用 speex 编解码器的功能控制音频回声并降低麦克风增益级别?
我正在使用 speex 编解码器在 android 中测试音频环回程序。当扬声器打开时,我收到严重的回声。speex 编码和解码从单独的线程调用。如何控制回声并降低麦克风增益水平。需要简单的示例或代码片段理解。
codec - 将音频 PCM 样本的无符号短转换为有符号短
我想使用音频编解码器(Speex)进行压缩;编解码器将 short 类型的音频样本(2 字节有符号)作为输入,范围:-2^15 到 2^15 -1。
我的问题是我有无符号短(2 字节无符号)类型的样本,范围:0 到 2^16 -1。那么,我应该怎么做才能在我的未签名样本上应用 speex?
有一个建议的解决方案是从每个无符号短中减去 2^15-1 以获得有符号短,我的问题是:这种方法在保持样本对 speex 的处理算法有意义方面是否安全?
encoding - 使用 libavcodec (FFMpeg) 编码 Speex?
我成功编译了启用speex的libavcodec。我修改了 FFMPEG 文档中的示例,将示例音频编码为 Speex。但结果文件无法使用 VLC Player(具有 Speex 解码器)播放。
有小费吗?
android - 未找到 Windows.h,为什么?
我正在关注这个博客,在我的运行 ubuntu 11.10 的机器上设置带有 android ndk 的 JNI ...在这个程序中,我将 speex 与我现有的流式传输音频的应用程序集成。到目前为止,一切正常,但是当我集成 speex_echo_cancelation 时,事情被破坏了......现在我收到以下错误......有什么帮助吗?
c - speex_encode_int() 总是返回 70 个编码的输出字节
我想用 libspeex 对数据进行编码。但是,speex_encode_int()
总是返回SpeexBits
长度为 70 的 a。我提供什么(音乐、静音、语音)并不重要。
输入规格:16bit, PCM, Mono, 44100Hz 采样率, LE
我在编码程序中犯了错误吗?还是我的初始化有什么问题?