問題タブ [rtaudio]
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.
c++ - RtAudioでオーディオパンニングを調整する方法
Rtaudioライブラリを使用していて、パンを制御できるオーディオプログラムを実装したいと思います(たとえば、サウンドを左チャンネルから右チャンネルにシフトする)。
私の特定のケースでは、デュプレックスモードを使用しています(例はここにあります:デュプレックスモード)。これは、マイク入力をスピーカー出力にリンクすることを意味します。
出力バッファーにフィルターを適用する必要がありますか?どんなフィルター?
誰か助けてもらえますか?
c++ - libpd で作業しているときに 64 で割り切れないオーディオ バッファ サイズを処理するにはどうすればよいですか?
libpd の API では、一度に 64 サンプルのフレームでのみオーディオを処理できます。私が過去に行ったことは、オーディオ デバイスのバッファ サイズを 64 で割り切れる数に設定することでした。問題はありません。
次に、ASIO 互換の Windows アプリを作成する必要があります。私は RtAudio を使用しています。問題は、RtAudio API を使用して ASIO サウンド カード (Roland FA-66) を初期化すると、バッファ サイズ パラメータが無視され、64 で割り切れない独自のいずれかが選択されることです。
回避策を考えました。これはオーディオ コールバック関数で行われます。
- バッファー サイズが 64 で割り切れないかどうかを確認します。割り切れる場合は、次のようにします。
- libpd に、必要なサイズよりも大きい数のフレームを処理し、それを一時バッファーに格納するように指示します。
- memcpy を使用して、適切な量のフレームを一時バッファーから出力バッファーにコピーします。
- memcpy を使用して追加のサンプルを別のバッファー (extra と呼ばれる) に保存し、次のオーディオ コールバックの呼び出しで使用します。
私はこれを試していませんが、うまくいくと思います。
ただし、この問題を処理するための「標準」または「よく知られている」手順があるかどうかを知りたいです。私が気付いていない警告やヒントがあるのではないでしょうか?
c++ - ポケットフィンクスの簡単な例は、基本的な c テストでは機能しますが、c++ プロジェクトに含まれている場合は機能しません
私はポケットフィンクスでプロジェクトを構築しようとしています。私は初期状態にあり、最初に、ファイルを読み取って単語を検出する単一の main.c のドキュメントから簡単な例を試しました。
今、マイクから RtAudio 経由でオーディオ データを読み取る C++ SDL プロジェクトにこれを含めようとしましたが、機能しません。
私は得る:
マイクは次のように初期化されます:
次に、私のC ++クラスには、次の保護変数があります。
コンストラクターで私は行います(読みやすくするためにエラーチェックを削除しました):
次に、ユーザーがスペースを押すと、startNextTime_ と spaceDown_ を true に設定し、スペースを解放すると、stopNextTime_ を true に設定します。
RtAudioコールバックは、次のことを行うクラスのメソッドを呼び出します(ユーザーがスペースを押してバッファに解放するまでのオーディオデータ全体をコピーします。これが必要かどうかはわかりませんが、害はないと思います):
上記の pocketphinx エラー メッセージの後に「no hyp」という出力が表示されます。私はそれを私の小さなテスト用の c ファイルと何度も比較しましたが、唯一の違いは、a) ファイルではなくマイクからデータを読み取っていることと、b) スレッドで実行されていることです。
何か案は?
編集:
これはポケットフィンクスのログです:
qt - QTでrtaudioをコンパイルするには?
C++ プロジェクトで使用するには、Windows にリアルタイム プロセス ライブラリ「rtaudio-4.1.1」をインストールする必要があります。
QTCreator を使用して、MIT Web サイトから提供されたライブラリ プロジェクトをコンパイルしてみます。qt プロジェクト RTaudio を開き、[コンパイル] をクリックすると、出力は次のようになります。
この件に関するいくつかの調査により、リンカーの構成を非難するようになりましたが、何が問題で、どのように解決するかはよくわかりませんでした。:'(
だから、私は私にいくつかの希望を与えるためにあなたを呼んでいます!
よろしくお願いします!=)
android - RtAudio ソフトウェアは、ルート化されていないユーザーの場合、Android OS デバイスの出力オーディオを録音できますか?
ルート化されていないユーザーの場合、RtAudio ソフトウェアが Android OS デバイスの出力オーディオを録音できるかどうかを知りたいと思いました。
RtAudio は http://www.music.mcgill.ca/~gary/rtaudio/index.htmlで入手できます。
ところで、root 化されていないユーザーが使用しているときに、RtAudio ソフトウェアが Android OS デバイスのヘッドフォンまたはイヤフォンからの出力オーディオを録音できるかどうかを知りたいと思いました。
私は、Android OS デバイスが ALSA や別の明確に定義されたオーディオ エンジンを使用していることを知っています...
助けてくれてありがとう。
c++ - C++ 定義済み定数への未定義参照
未定義の参照に関する StackOverflow に関する多くの質問を読みましたが、含まれているヘッダーで定義されている定数への未定義の参照に関するものは特にないようです。どこかで有効な答えを逃した場合はお詫び申し上げます。
Qt (5.5) 内で C++ をコンパイルするために MinGW 32 ビット (4.9.2) を間接的に使用しています。
含まれているファイルの 1 つで定数が定義されています#define
が、プロジェクトがビルドされると、コンパイラは .cpp 内の未定義の参照について不平を言います。
奇妙なことに、定数がその使用の上の行に存在するかどうかをテストしようとしましたが、これは問題ありません。
コンパイラの出力は次のとおりです。
.cpp の前半には、
それは順番に持っています
mmreg.h 内で定数が定義されています
ksmedia.h 内でも定義されていることに注意してください。#error ディレクティブを配置 (および後で削除) することで、この定義が実行されることがわかりますが、奇妙なことに「再定義」警告はスローされません。#ifndef
つまり、それをバイパスしているようには見えません。
.cpp ファイル内で定数が使用されます
この上の行で、次のようにして定数をテストしました
#pragma message: KSDATAFORMAT_SUBTYPE_IEEE_FLOAT
これは、失敗する直前に正常に出力されます。これがコンパイラのフラグメントです
これはおそらく本当にばかげた間違いですが、私はここ 2 日間ヘッドバンギングをしています。手がかりはありますか?
編集:mmreg.hの内容へのより完全な参照を含めました
c++ - オンラインでダウンロードしたライブラリをコンパイルまたは使用する方法
私は C++ に慣れていませんが、それに対処する必要があるプロジェクトを取得しました。
オンラインで入手できるライブラリ RtAudio を使用する必要があり、もちろんそれを自分のプログラムにインポートする必要があります。
私の質問は、どのように使用/実行するのですか?
これが図書館に関する私の理解です。私は完全に間違っていると確信していますが、私がどこにいるかを伝えるだけです。
私は直接ダウンロードしたファイルを使用することはできないと思いますが、それをlibファイルとdllファイルに変更します(以前に他のプリコンパイルライブラリを使用したことがあり、dllとlibファイルのみが必要なため[もちろん.hも];私はこれらを MSVC 2015 に入れて使用する方法を知っている)。
また、ライブラリをdllおよびlibファイルにコンパイルするには、ウィンドウのcmdで次のファイルを使用して何かを行う必要があると思います:configure、install、およびmakefile.in
これに対処する方法がわからないため、以前に別のライブラリの使用をあきらめていたので、私は必死です。誰かが助けてくれるとうれしいです。ありがとう。