問題タブ [audiounit]

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 に答える
189 参照

objective-c - AudioUnit:CocoaViewからComponentKernelプロパティにアクセスします

AudioUnitコンポーネントのcocoaビューで定義されたアクションメソッドからAudioUnitコンポーネントカーネルメンバーにアクセスしたいのですが:

(たとえば、シグナルで計算された統計を操作します...)。しかし、Cocoa Viewのメンバーを使用してカーネル(およびそのメンバー)を取得する方法がわかりませんAudioUnit mAU...どうしますか?(多分私はそれをすることになっていないのですか?)ありがとう。

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

core-audio - Audio Unit はホストの開始と停止をどのように検出できますか?

Audio Unit コンポーネントは、Audio Unit ホストの開始と停止をどのように検出できますか?

コンポーネントの Kernel Process() 内で、ホストが再生中かどうかを返す CallHostTransportState(...) メソッドを試してみたので、最初の起動を検出できました。しかし、ホストが停止すると Process() はもう呼び出されないため、この方法で停止を検出することはできません。そして、停止が検出されないため、「停止」状態が検出されていないため、次の開始を検出できません。

何か案が?

ありがとう。

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

ios - iOS: Audio Units vs OpenAL vs Core Audio

OpenAL が iPhone のサウンドのスキーマにどのように適合するかを誰か説明してもらえますか?

サウンドを処理するためのさまざまなレベルの API があるようです。より高いレベルのものは理解するのに十分簡単です。

しかし、私の理解は底に向かって曖昧になります。Core Audio、Audio Units、OpenAL があります。

これらの関係は何ですか?openAL はコア オーディオ (下位レベル オブジェクトの 1 つとしてオーディオ ユニットを含む) が置かれている基盤ですか?

OpenAL は Xcode によって文書化されていないようですが、その関数を使用するコードを実行できます。

0 投票する
5 に答える
15852 参照

iphone - iOS で簡単な EQ AudioUnit (低音、中音、高音) を作成するには?

iOS でシンプルな EQ オーディオ ユニット (低、中、高の 3 バンド) を作成する方法を知っている人はいますか? AU Graph に iPod EQ Audio Unit を追加する方法を知っています。しかし、それはプリセットへのアクセスしか与えず、EQ を適切に制御する必要があります。

いくつかのチュートリアルや説明を探しましたが、運がありません。

ありがとう。

アンドレ

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

iphone - kAudioUnitProperty_StreamFormatをいつ設定しますか?

kAudioUnitProperty_StreamFormat(およびkAudioUnitProperty_SampleRateも)を設定するのはいつですか?AUGraphのAUごとに?それとも、AUミキサー用に設定するだけで十分ですか?

アンドレ

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

ios - CAStreamBasicDescription と AudioStreamBasicDescription の違いは何ですか?

CAStreamBasicDescriptionとはどう違いAudioStreamBasicDescriptionますか?ありがとう。

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

iphone - 無限に重なる音を奏でるには?

iPhoneでサウンドをトリガーするボタンがあります。レイテンシを最小限に抑えるために AudioUnits を使用しています。

現在、ユーザーがボタンを 2 回タップすると、サウンドが重ならず、最初にトリガーされたサウンドが 2 番目のサウンドによってカットされます。ユーザーがボタンをタップする回数だけ (同じ) サウンドを重ねる簡単な方法はありますか?

ありがとう。

アンドレ。

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

iphone - ExtAudioFileSeekとExtAudioFileWriteを同じファイルに一緒に

トラックの最後から操作されたバッファを取得し、それらを出力ファイルの最初に書き込むことで、オーディオを介した後処理パスを保存できる状況があります。

私はもともと、を使用して書き込みポインタをリセットすることでこれを実行できると考えていExtAudioFileSeekましたが、ドキュメントでこの行を見たときに実装しようとしていました

これで、書き込み用にファイルを閉じてから再度開くことができることがわかりましたが、プロセスはそれよりも少し複雑です。私が行っている操作の一部は、書き込みを行っているファイルにあるバッファーからの読み取りです。全体的なプロセスは次のようになります。

  1. 読み取ったファイルの最後からバッファを読み取ります
  2. 書き込みファイルの先頭からバッファを読み取ります
  3. バッファを処理します
  4. 手順2で読み取ったバッファを上書きして、書き込みファイルの先頭にバッファを書き戻します。

論理的には、これは1パスで問題なく実行できます。プログラム的に、データを破壊したり、効率を低下させたり(目標の反対)、宇宙を爆縮させたりすることなく、同じことをどのように達成できますか?

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

iphone - 拡張オーディオ ファイル サービスを使用して 2 つのファイルをミックス ダウンする

オーディオ ユニットを使用してカスタム オーディオ後処理を行っています。2 つのファイルをマージしていますが (以下のリンク)、出力に奇妙なノイズが発生しています。私は何を間違っていますか?

このステップの前に、2 つのファイル (workTrack1workTrack2) が適切な状態にあり、良好なサウンドであることを確認しました。プロセスでもエラーは発生しません。

バッファ処理コード:

ミックスダウン コード:


仮定

  • mixAudioFile1Ref常により長いmixAudioFile2Ref
  • mixAudioFile2Refがバイトを使い果たした後、は次のようにoutputAudioFileRef聞こえるはずです。mixAudioFile2Ref

予想されるサウンドは、トラックがループされたときに自己クロスフェードを生成するために、最初にフェードアウトの上にフェードインをミックスすることになっています。出力を聞いて、コードを見て、どこが間違っているか教えてください。

元のトーン音: http://cl.ly/2g2F2A3k1r3S36210V23
結果のトーン音: http://cl.ly/3q2w3S3Y0x0M3i2a1W3v

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

ios - iOS: Audio Unit: 任意のサンプルレートを設定する

任意のサンプルレートを設定できますか? 制限事項は何ですか?

ハードウェアのサンプルレートはどうですか? それが設定されたら、ユニット間で渡される内部サンプルレートの制限は何ですか?

実際のハードウェア レートは 44.1KHz のビット シフトである必要があり、内部サンプル レートはこの元の値の下方へのビット シフト (例: 22.1KHz、11.05KHz) である必要があると推測しています。これは近いですか?

私が理解している限りでは、
1.オーディオ セッションからハードウェアのサンプル レートを設定しました。
2.システムは、指定したサンプル レートにできるだけ近いサンプル レートを設定します。 3. 次に、設定した同じプロパティのオーディオ セッションをクエリします。これにより、使用している実際のサンプル レートが得られます。

オーディオ ユニット、特に RemoteIO ユニットのレベルでは、ドキュメントには、ユニットがハードウェアに接続する 2 つのポイント (つまり、マイク (入力) バスの入力範囲とスピーカー (出力) バスの出力範囲) が記載されています。 、サンプルレートは取得できますが、設定はできません

しかし、リモート I/O ユニットの構築中にこの値にアクセスしようとすると、0 が返されます。おそらく、接続から意味のあるデータを取得する前に、ユニットを開始する必要があると思います (開始することで接続が作成される可能性があります)。したがって、ここでの解決策は、上記のように、オーディオ セッションからサンプル レートを取得し、それを使用することです。

NEED TAG: オーディオユニット