问题标签 [openal]
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.
iphone - 在 OpenAL 中播放完声音时收到通知
我在 iPhone 上使用 OpenAL 同时播放多个音频样本。
当单个样本播放完毕时,我可以让 OpenAL 通知我吗?
我想避免对样本长度进行硬编码并设置计时器。
iphone - 哪种音频格式最好?
我正在使用 AVAudioPlayer 背靠背播放多个音频剪辑,但轨道之间总是有一小段沉默,然后我开始了解 Finch,这是一个使用 OpenAL 播放音频的库。有了这个,静音问题似乎在理论上得到了解决,但后来我发现它不能播放 m4a 或任何其他压缩格式。
现在我正在寻找一种文件大小相对较小的未压缩音频格式(尽管未压缩意味着它们都应该具有几乎相同的大小)和一种转换方法,同时我也在谷歌上搜索 afconvert。
iphone - iPhone SDK - OpenAL,“Beat Box”风格的声音引擎
如何创建一个“节拍盒”风格的声音引擎,其中一系列声音可以在播放过程中提前排队。但是,这些声音需要在没有任何间隙或打嗝的情况下播放。
我研究了 OpenAL 并尝试使用 alSourceQueueBuffers() 创建具有一系列预缓冲剪辑的源,但没有实现我想要的。
我使用 AudioFileOpenURL 加载我的音频文件,然后使用 AudioFileReadBytes 将其加载到一个字符数组中,使用 alGenBuffers 创建一个缓冲区,然后使用 alBufferData 进行缓冲。
然后我使用 alGenSources 创建一个源,并保留对该源的引用。然后我调用 alSourceQueueBuffers(sourceId, 1, &bufferId) 几次,其中 bufferId 是传递给我的“queueClip”方法的参数,并引用了一些不同的剪辑。
完成此操作并调用 alSourcePlay 后,我听到似乎是我的两个剪辑正在播放,背靠背......但随后什么也没有(我用 3 个音频文件加载它,并使用 alSourceQueueBuffers 随机将它们添加到源几次)。
我还需要知道更新源的最佳方法,向其中添加新声音并从中删除已播放的声音以清理内存等。
iphone - iPhone:如何让使用 OpenAL 的应用程序播放音乐?
我正在编写一个使用 OpenAL 的 iPhone 应用程序。当应用程序启动时,后台播放的音乐停止。
当我初始化 OpenAL 库时,音乐实际上停止播放。
我的问题是,有没有办法在播放背景音乐的同时使用 OpenAL?
iphone - 在 iPhone 上播放音频
我想在 iPhone 应用程序中为用户播放预先录制的音频。播放此音频的最佳方式是使用 openAL 吗?还有其他方法可能对我想要完成的事情有益吗?
谢谢!乔
ios - 使用 OpenAL 对音频电平进行采样
是否可以使用 OpenAL 实时采样音频播放音量?具体来说,我在 iPhone SDK 中使用 OpenAL。
audio - 使用软件合成器制作实时音频应用程序
我正在研究制作一些使键盘功能像钢琴一样的软件(例如,用户按下“W”键,扬声器播放 D 音符)。我可能会使用 OpenAL。我了解数字音频的基础知识,但是响应按键播放实时音频会带来一些我无法解决的问题。
问题是:假设我有 10 个音频缓冲区,每个缓冲区保存一秒钟的音频数据。如果我必须在通过扬声器播放缓冲区之前填充缓冲区,那么我将在播放缓冲区前一两秒填充缓冲区。这意味着每当用户尝试弹奏一个音符时,在按键和播放音符之间会有一到两秒的延迟。
你如何解决这个问题?您是否只是使缓冲区尽可能小,并尽可能晚地填充它们?有什么我错过的技巧吗?
audio - OpenAL Real Time Audio Processing from Microphone
I would like to write a cross-platform application that can process and play back microphone data in real time. Imagine as a proof of concept a chat room where people can talk to each other and apply filters to their voices. Is OpenAL appropriate for this? If not, can someone provide an alternative? Additionally, if anyone can provide or link me to a simple "hello world" program that reads from the microphone and spits the output back out, that would be awesome.
Thanks!
php - 在 PHP 中创建声音 - 读出字母
我最近一直在做一个验证码脚本,并且相当成功。但是我想创建另一个脚本来创建可以与验证码一起使用的声音。
例如,验证码脚本生成 A2B1FD - 声音脚本必须能够读出 A、2、B、1、F、D。我该怎么做呢?
我知道这与 OpenAL 有关,但我该如何开始?
干杯三勇
编辑:我也想知道如何在浏览器中加载从脚本加载的声音文件并播放它,以便最终用户可以听到。
编辑 2:我也在研究 PHP 中文本到语音(平台无关)的可能性
iphone - 构建更好的位置音频 [AudioQueue 操作]
我正在构建一个应用程序,该应用程序需要真正准确的位置音频,直至建模耳间时间差 (ITD) 水平,即立体声通道之间的轻微延迟差异随声音相对于听众的位置而变化。不幸的是,iPhone 的 OpenAL 实现没有这个功能,SDK 中也没有提供延迟音频单元。
经过一番阅读,我决定解决这个问题的最佳方法是通过操作 AudioQueue 来实现我自己的延迟(我还可以看到我未来的一些项目可能需要学习这些东西,所以这是学习的好借口)。但是,我根本没有任何低级音频编程的经验,当然也没有使用 AudioQueue。试图学习两者:
a) 音频处理的一般理论
和
b) AudioQueue 如何实现该理论的细节
事实证明,一次吸收太多了:(
所以,我的问题是:
1) 从哪里开始学习 DSP 以及音频生成和处理的一般工作原理(深入到音频数据在内存中的结构、混音如何工作,诸如此类)的好地方?
2) 什么是了解 AudioQueue 是如何做到这一点的好方法?有没有很好的例子来说明如何从生成的环形缓冲区中读取它,而不是AudioFileReadPackets
像 Apple 的 SpeakHere 示例那样按需获取文件的位?
而且,最重要的是
3)有没有我忽略的更简单的方法?