問題タブ [alsa]
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.
python - MP3 と OGG を再生でき、ALSA などをサポートするクロスプラットフォームの Python ライブラリを探しています
いくつかの異なるオーディオ ライブラリがありますが、私のニーズ
を正確に満たすものはありません。 - クロスプラットフォームである必要があります。
- Linux で ALSA、PulseAudio、またはその他の一般的なデフォルト ミキサーを使用できる必要があります。
- サンプル周波数を自動検出できる必要があります。
- 代わりに、誰かが私にとっても受け入れやすくする追加のスクリプトを提供できる場合は、使用法が (かなり) シンプルである必要があります。
- 私が必要とする唯一の機能は、再生/一時停止です。シークは素晴らしいボーナスです。
- MP3 と OGG を再生できる必要があります。私にとって他の形式は重要ではありません。
これまでに試したライブラリ:
PyGame - 曲の頻度の検出をサポートしていません
PyAudiere - 有望ですが、ミキシングに深刻な問題がある Linux でのみ OSS をロード
します 組み込みモジュール - 私が知る限り、MP3 と OGG をサポートしていません
PyMedia - 有望ですが、複雑です。また、使用しているミキシング デバイスを特定できませんでした。
PySonic - クローズド ソース ライブラリに依存しています。
PyQt4.phonon - 有望ですが、何も再生しません。次のエラーが発生しました。
gst_element_make_from_uri: アサーション `gst_uri_is_valid (uri)' が失敗しました
これに関する助けをいただければ幸いです。
c - デバイスを開かずに Linux でプログラムによって ALSA オーディオ デバイスの機能を見つける方法
最初にデバイスを開かずに ALSA デバイスの機能を確認するにはどうすればよいですか? 問題は、snd_pcm_open()
テスト関数を使用するために関数にパラメーターを提供する必要があることですが、これはばかげています。最初に open 関数に伝える必要がある場合、これが再生デバイスか録音デバイスかを尋ねるのはなぜですか?
例として、すべての再生デバイスをリストしたいと思いますが、私が考えることができる唯一の方法は、見つけたすべてのデバイスを ( でsnd_device_name_hint()
) 開き、再生モードでそれらを開こうとすることです。
問題は、考えられるすべてのバリエーション (サンプル レート、チャネルなど) を使用すると、パラメーターを見つけるために非常に多くの open() を実行する必要があることです。
c++ - alsa で 8 ビット符号付きモノラル 16khz サウンドを録音する最も簡単な方法 (パルスと互換性のある方法で) は?
私は完全に迷っています.c ++でALSAを使用してサウンドを録音する方法の非常に簡単な例はありますか? 必要なのは、プログラムの別の部分に供給するための符号付きバイトとしての生のサンプルだけです。グーグルで見つけたすべての例は、PulseAudio に問題があるか、必要なものをカバーしていないようです。
c - ALSA: デバイス リストでデバイスを見つけるにはどうすればよいですか?
提供されているほとんどのドキュメントを読んだ後でも、ALSA アーキテクチャを理解していないようです。
snd_device_name_hint() と snd_device_name_get_hint() を使用して、利用可能なすべての ALSA デバイスを一覧表示します。これは、特に hwdep クラスの下に「パルス」をリストしているため、私のシステムで PulseAudio が利用できるようです。しかし、snd_pcm_open() (ノンブロッキング モードで、in または out のいずれか) で開こうとすると、「そのようなファイルまたはディレクトリはありません」というメッセージが表示されます。
何を与える?他のデバイスを開くことができます。たとえば、内蔵の Intel チップは正常に動作しますが、PulseAudio はなぜ動作しないのですか?
c++ - ALSAのsnd_pcm_writei()の使い方は?
誰かがどのようにsnd_pcm_writeiを説明できますか
動作しますか?
私はそれをそのように使用しました:
http://pastebin.com/m2f28b578の完全なソースコード
これは、snd_pcm_writei()
のすべてのフレームの数を指定するのでbuffer
はなく、
sample_rate*レイテンシー=frames
?
したがって、たとえば次の場合:sample_rate=44100レイテンシ=0.5[s] all_frames = 100000
私が与えるべきフレームの数snd_pcm_writei()
は
sample_rate*レイテンシ=フレーム44100*0.5 = 22050
そして、forループの反復回数は次のようになりますか?:
(int)100000/22050 = 4; フレーム付き=22050
と1つ余分ですが、
100000 mod 22050 = 11800
フレーム?
それはどのように機能しますか?
ルイーズ
http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m.html#gf13067c0ebde29118ca05af76e5b17a9
android - アンドロイド OpenAL?
Android 用に OpenAL を構築した人や、システム上でその共有ライブラリを見つけた人はいますか? これは、あらゆる種類のゲームの明らかな必要性のように思えますが、そのためのリソースはありません. どうやら Android の Java サウンド ライブラリではピッチの変更ができないようで、OpenAL が必要なようです。OpenAL Soft が ALSA の上に構築できることは知っていますが、誰かがそれを行ったかどうかはわかりませんし、1 か月かかることは間違いありません。
OpenAL を使用しない Android でのサウンド操作に関する適切なガイドがどこかにあれば、それも問題ありません。ただ、OpenAL はゲーム メーカーにとって一種の標準であり、私の何千もの行をこのシステムに移植できればいいのですが、それを掘り下げる前に NDK の要点だと思っていたのですが、ほとんど何もないことがわかりました。システム上の共有ライブラリ アクセス。
ありがとう.. Java の専門家になることなく、実際に移植できることを願っています。これまでのところ、NDKが本当に嫌いです!
c++ - Linux、C++ オーディオ キャプチャ (マイクのみ) ライブラリ
私は音楽ゲームを開発しています。これはシングスターのようなものですが、歌う代わりにリコーダーを演奏する必要があります。それはoFluteと呼ばれ、まだ開発の初期段階にあります。
ゲームでは、マイク入力をキャプチャし、単純な FFT 分析を実行して、結果を一般的なレコーダーの周波数と比較し、演奏された音を取得します。
当初、使用していたオーディオ ライブラリはRtAudio でしたが、現在使用しているPortAudioに切り替えた理由は覚えていません。問題は、マイクから音が聞こえない場合のように、時々ランダムにクラッシュするか、キャプチャを停止することです。
私の質問は、Linux でマイク入力をキャプチャするための最良のオプションは何ですか? マイクからのバイト フローを開き、読み取り、閉じるだけです。
私はこのガイドを読んでいますが、(驚くべきことではありませんが)次のように書かれています。
PortAudio は、Unix ライクなオペレーティング システムにはあまり適した API ではないと思います。
それで、あなたは私に何を勧めますか?
c - Alsa バッファーの正しいサイズ設定、奇妙な API
私は現在、Alsa でサンプリングを行う必要があるプロジェクトに取り組んでいます。すべてを正しく設定しようとしていますが、読み値のサイズを正しく設定する方法に行き詰まっています。
私のタスクにとって興味深いと思われる2つのプリミティブがあります。
最初の名前は、出力がサンプリング期間の時間長になることを示唆していますが、それは奇妙です:f = 44100Hz
サンプリング期間にサンプリングレートを設定している場合 (ナノ秒単位) はT0 = 1e9 / 44100 ~= 22676 ns
、関数が応答する間T1 = 725 us = 725000 ns
です。
一方、非ロック プリミティブを使用するように依頼された場合でも、'readi' をロックするのに必要な時間をプロファイリングしようとしていT2 = 8028603 ns
ますT3 = 12436217 ns
。
最後に、次の 2 つの意味がわかりません。
バッファの時間と期間のサイズを測定する方法がわかりませんが、前者は と同じ値をget_buffer_size
返し、後者は と同じ値を返しますget_period_time
。
ヒントはありますか?
linux - aplay / alsaplayer - 通常のユーザーに対してサウンドが機能しない
通常のユーザーとして alsa を使用することはできません (その結果、クロムで音が聞こえなくなります)。
私はそれが許可と関係があると推測しています。グループオーディオに自分を追加しても役に立ちませんでした。
通常のユーザーとしてサウンドをテストする:
そしてルートとして...
コマンド「aplay -l」を通常のユーザーとして実行します。
そしてルートとして...
これを引き起こしている可能性のある手がかりをいただければ幸いです。おそらく、どこかで何かを変更する必要がありますか?
android - Androidエミュレータの音 - ubuntu
Android開発にUbuntu 10.04 64ビットを使用すると、サウンド以外はすべてうまくいきます。
-audio オプションと -audio-out をバックエンド パラメータとして alsa とともに使用しましたが、うまくいきませんでした。
何か案が?