問題タブ [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.

0 投票する
4 に答える
8639 参照

iphone - OpenALでサウンドの再生が完了したときに通知を受け取る

iPhoneでOpenALを使用して、複数のオーディオサンプルを同時に再生しています。

単一のサンプルの再生が完了したときにOpenALに通知を受け取ることはできますか?

サンプルの長さをハードコーディングしたり、タイマーを設定したりすることは避けたいです。

0 投票する
1 に答える
588 参照

iphone - どのオーディオ形式が最適ですか?

AVAudioPlayerを使用して複数のオーディオクリップを連続して再生していましたが、トラック間には常に小さな沈黙があり、OpenALを使用してオーディオを再生するライブラリであるFinchを知りました。これで沈黙の問題は理論的には解決されたようですが、m4aやその他の圧縮形式では再生されないことがわかりました。

今、私はファイルサイズが比較的小さい非圧縮オーディオフォーマット(非圧縮はそれらすべてがほぼ同じサイズでなければならないことを意味しますが)と変換する方法を探しています、私はまたしばらくの間afconvertでグーグルしています。

0 投票する
2 に答える
2302 参照

iphone - iPhone SDK-OpenAL、「ビートボックス」スタイルのサウンドエンジン

一連のサウンドを事前に再生中にキューに入れることができる「ビートボックス」スタイルのサウンドエンジンを作成するにはどうすればよいでしょうか。ただし、これらのサウンドは、ギャップや一時的な中断なしに再生する必要があります。

OpenALを調べて、alSourceQueueBuffers()を使用して、一連の事前にバッファリングされたクリップを含むソースを作成しようとしましたが、探していたものが達成されませんでした。

AudioFileOpenURLを使用してオーディオファイルをロードし、次にAudioFileReadBytesを使用してchar配列にロードし、alGenBuffersを使用してバッファーを作成してから、alBufferDataを使用してバッファリングします。

次に、alGenSourcesを使用してソースを作成し、そのソースへの参照を保持します。次に、alSourceQueueBuffers(sourceId、1、&bufferId)を数回呼び出します。ここで、bufferIdは、「queueClip」メソッドに渡されるパラメーターであり、いくつかの異なるクリップを参照します。

これを実行し、alSourcePlayを呼び出した後、2つのクリップが連続して再生されているように見えますが、何も聞こえません(3つのオーディオファイルをロードし、alSourceQueueBuffersを使用してランダムにソースに追加しました。数回)。

また、ソースを更新したり、新しいサウンドを追加したり、再生済みのサウンドを削除してメモリをクリーンアップしたりするための最良の方法を知る必要があります。

0 投票する
1 に答える
1474 参照

iphone - iPhone:OpenALを使用するアプリケーションで音楽を再生するにはどうすればよいですか?

OpenALを使用したiPhoneアプリを書いています。アプリケーションが起動すると、バックグラウンドで再生されている音楽が停止します。

OpenALライブラリを初期化すると、音楽の再生が実際に停止します。

私の質問は、バックグラウンドミュージックを再生させながらOpenALを使用する方法はありますか?

0 投票する
2 に答える
548 参照

iphone - iPhoneでオーディオを再生する

iPhoneアプリケーションでユーザー向けに録音済みのオーディオを再生したい。openALを使用するためにこのオーディオを再生する最良の方法はありますか?私が達成したいことのために有益であるかもしれない他の方法はありますか?

ありがとう!ジョー

0 投票する
3 に答える
1936 参照

audio - ソフトウェアシンセサイザーによるリアルタイムオーディオアプリケーションの作成

キーボードをピアノのように機能させるソフトウェアを作成することを検討しています (たとえば、ユーザーが「W」キーを押すと、スピーカーが D ノートを再生します)。おそらくOpenALを使用するでしょう。デジタル オーディオの基本は理解していますが、キーを押したときにリアルタイム オーディオを再生すると、解決できない問題がいくつか発生します。

ここに問題があります。たとえば、10 個のオーディオ バッファーがあり、各バッファーに 1 秒間のオーディオ データが保持されているとします。スピーカーで再生する前にバッファーをいっぱいにする必要がある場合は、再生の 1 秒か 2 秒前にバッファーをいっぱいにすることになります。つまり、ユーザーがノートを再生しようとすると、キーを押してからノートが再生されるまでに 1 ~ 2 秒の遅延が発生します。

この問題をどのように回避しますか? バッファをできるだけ小さくし、できるだけ遅く埋めますか? 私が見逃しているトリックはありますか?

0 投票する
3 に答える
4465 参照

audio - マイクからのOpenALリアルタイムオーディオ処理

マイクデータをリアルタイムで処理・再生できるクロスプラットフォームのアプリケーションを書きたいです。概念実証として、人々が互いに話し、自分の声にフィルターを適用できるチャットルームを想像してみてください。OpenALはこれに適していますか?そうでない場合、誰かが代替手段を提供できますか?さらに、誰かがマイクから読み取り、出力を吐き出す単純な「hello world」プログラムを提供またはリンクできるとしたら、それは素晴らしいことです。

ありがとう!

0 投票する
1 に答える
1466 参照

php - PHPで音を作る - アルファベットを読み上げる -

私は最近キャプチャ スクリプトを実行しており、かなり成功しています。ただし、キャプチャで使用できるサウンドを作成する別のスクリプトを作成したいと考えています。

たとえば、キャプチャ スクリプトは A2B1FD を生成し、サウンド スクリプトは A、2、B、1、F、D を読み上げることができなければなりません。

OpenALと関係があることは知っていますが、どうすれば始められますか?

乾杯サムヨン

編集: また、スクリプトからロードされたサウンド ファイルをブラウザーにロードし、エンド ユーザーが聞こえるように再生する方法も知りたいです。

編集2:PHPでのテキスト読み上げ(プラットフォームに依存しない)の可能性も検討しています

0 投票する
2 に答える
942 参照

iphone - より良い位置オーディオの構築[AudioQueue操作]

私は、両耳間時間差(ITD)のモデリングのレベルまで、非常に正確な位置オーディオを必要とするアプリを構築しています。これは、リスナーに対するサウンドの位置によって変化するステレオチャネル間のわずかな遅延差です。残念ながら、iPhoneのOpenALの実装にはこの機能がなく、SDKで遅延オーディオユニットが提供されていません。

少し読んだ後、この問題に取り組む最善の方法は、AudioQueueを操作して自分の遅延を実装することであると判断しました(将来、このようなことを学ぶ必要があるプロジェクトもいくつか見られるので、これは次のようになります学ぶための良い言い訳)。ただし、低レベルのオーディオプログラミングの経験はまったくなく、AudioQueueの経験もありません。両方を学ぼうとしています:

a)オーディオ処理の一般理論

b)AudioQueueがその理論を実装する方法の詳細

一度にすべてを取り込むにはあまりにも多くを証明しています:(


だから、私の質問は次のとおりです。

1)DSPと、オーディオの生成と処理が一般的にどのように機能するか(オーディオデータがメモリ内でどのように構造化されているか、ミキシングがどのように機能するかなど)について学び始めるのに適した場所はどこですか?

2)AudioQueueがこれをどのように行うかを理解するための良い方法は何ですか?AudioFileReadPacketsAppleのSpeakHereの例のように、ファイルのビットをオンデマンドでフェッチするのではなく、生成されたリングバッファから読み取る方法の良い例はありますか?

最も重要な

3)私が見落としていたこれを行うためのより簡単な方法はありますか?

0 投票する
1 に答える
904 参照

iphone - Open AL からの深刻なメモリ リークを修正できない

私は大規模な iPhone プロジェクトの終わりに近づいており、メモリ リークをチェックしているときに、この巨大なプロジェクトに出くわしました。このチュートリアルに従ってサウンドを実装しました。

http://www.gehacktes.net/2009/03/iphone-programming-part-6-multiple-sounds-with-openal/

魅力的に機能し、多くの人が使用していますが、サウンドが最初にロードされたときにプロジェクトの開始時に大きなリークが発生します。以下は、リークの開始コード行です。

etc.etc.全部で20音を搭載。より具体的には、Audio.m ファイルで、このコードのチャンク:

これを解決する方法がわかりません。この問題に関するヘルプをいただければ幸いです。

ありがとう。