問題タブ [avaudioengine]
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.
ios - Swift で Accelerate フレームワークを使用した AVAudioPCMBuffer からのスペクトログラム
AVAudioPCMBuffer
Swiftからスペクトログラムを生成しようとしています。にタップをインストールAVAudioMixerNode
し、オーディオ バッファでコールバックを受け取ります。[Float:Float]
バッファ内の信号を、キーが周波数を表し、値が対応する周波数のオーディオの大きさを表す辞書に変換したいと思います。
Apple の Accelerate フレームワークを使用してみましたが、得られる結果は疑わしいようです。私はそれが信号を変換している方法にあると確信しています。
参考のために、とりわけこのブログ投稿を見ました。
ここに私が持っているものがあります:
私の質問は
buffer.floatChannelData
toを変換して関数UnsafePointer<DSPComplex>
に渡すにはどうすればよいですか?vDSP_ctoz
おそらくバイパスする別の/より良い方法はありvDSP_ctoz
ますか?- バッファに複数のチャンネルからのオーディオが含まれている場合、これは異なりますか? バッファー オーディオ チャネル データがインターリーブされている場合とインターリーブされていない場合の違いは?
fft
配列内のインデックスを Hz 単位の周波数に変換するにはどうすればよいですか?- 他に何か間違っていることがありますか?
アップデート
提案してくれてありがとう。受け入れられた回答で提案されているように、複雑な配列を埋めることになりました。値をプロットして音叉で 440 Hz の音を鳴らすと、音叉は正確な位置に登録されます。
配列を埋めるコードは次のとおりです。
配列は、各チャネルのサンプルの個別のchannelSamples
配列を保持します。
マグニチュードを計算するには、これを使用しました:
ios - AVAudioSession を使用して音楽からボーカルを削除/音量を下げる方法
音楽の再生中にオーディオを録音する必要があるアプリを開発しています。音楽と一緒に音をうまく録音できます。しかし、音楽からボーカルを取り除くことはできません。ボーカルの立ち上がり時に音量を下げることもできれば最高です。
音楽再生中の録音にはAVAudioSession、AVAudioPlayerNodeを使用しています。
どんな助けでも感謝されます。
ios - AVAudioEngine で musicSequence を再生する
AVAudioEngine
musicSequence
設定できるプロパティがあります。とはいえ、遊び方が分からなくて困っていませんか?使ってみstartAndReturnError
たけどダメだった
ios - AVAudioUnitEffects のチェーンを正しく構成する方法
次のコードは、1 つのサウンド フォントでセットアップされたサンプラーを作成するように iOS オーディオ エンジンを構成します (説明を簡単にするため)。次に、サンプルを使用して MIDI ノートを再生すると、一連の標準エフェクト (ディストーション -> ディレイ -> リバーブ) を導入しようとするまで、すべてうまく機能します。
サンプラーの出力がオーディオ エンジンの MainMixerNode に直接接続されている場合、それは機能します。サンプラーをディストーション エフェクト (チェーンの最初のエフェクト) に接続すると、最初の MIDI ノートを再生しようとするとすぐにエラーが発生します " AVAudioUnitMIDIInstrument.mm:103: -[AVAudioUnitMIDIInstrument startNote:withVelocity:onChannel:]:エラー -10867"
注: 私は Mac で Xamarin を使用してコーディングを行っているため、次の内容は見慣れないかもしれませんが、コードが読みやすく、参考になることを願っています。
問題は、エフェクト/またはそのチェーンを初期化する際にどこが間違っているのかということです。
前もって感謝します、クリス
ios - AVAudioPlayerNode の音量をプログラムでフェードアウトする
バックグラウンド ミュージックを再生している AVAudioPlayerNode を使用して AVAudioEngine をセットアップしました。
ノードで 2 秒の時間枠でボリューム フェードアウトを作成する最善の方法を見つけようとしています。これを行うために CADisplayLink の使用を検討しています。誰かがこのシナリオの経験があり、彼らのアプローチについて私にアドバイスできるかどうか疑問に思っていましたか?
ios - AVAudioEngine Mic-Input のフォーマットを指定するにはどうすればよいですか?
AVAudioEngine
ユーザーのマイクを使用して音声を録音したいと思います。既に動作するサンプルがありますが、必要な出力の形式を指定する方法がわかりません...
私の要件は、AVAudioPCMBuffer
私が話すように、それが現在行っていることを必要とすることです...
トランスコーディングを行う別のノードを追加する必要がありますか? その問題に関する多くのドキュメント/サンプルが見つかりません...
また、オーディオ関連の初心者でもあります。NSData
最大サンプルレートが 16000 の PCM-16bit が必要であることはわかっています (8000 の方がよいでしょう)。
ここに私の作業サンプルがあります:
形式を変更して「言う」としたら
次に、サンプルレートが hwInput と同じである必要があるというエラーが生成される場合...
どんな助けでも大歓迎です!!!
編集:見つけAVAudioConverter
たばかりですが、iOS8にも対応する必要があります...
ios - AVAudioEngine マイク Float データ
AVAudioEngineでリアルタイムマイク入力のfloatデータを取得しようとしています。fft と fft の後に特別なアルゴリズムを実行します。
コードをコンパイルすると、コンソールに次の出力が表示されます: 0x0000000000000000
私は何を間違っていますか?助けてくれてありがとう
float データを取得するコードは次のとおりです。
ios - Tap On AudioEngine OutputNode のインストール方法
AudioEngine
OutputNode
処理されたオーディオをToから保存しようとしていますAVAudioFile
。
今まで私が知っていることは、タップを使用して実行できることですが、方法がわかりません.
Tap On のインストール方法を教えてAudioEngine
OutputNode
ください。