PulseAudioは、Linuxや他のUNIXライクなオペレーティングシステム用のオープンソースのネットワークサウンドサーバです。これは、古いESOUND(Enlightened Sound Daemon)に代わる信頼性の高い代替手段をユーザに提供するために設計されています。
モジュラーサウンドサーバー
あらゆるコンピューティング環境において非常に重要な部分であるため、サウンドサーバーは主に、いくつかのオーディオストリームのソフトウェアミキシング、汎用ハードウェアとサウンドAPIの抽象化、ネットワークの透過性に使用されます。サウンドプロトコル、サウンドデバイス、Xウィンドウシステム、ブルートゥース、JACK接続、RTP、SAPとSDPのトランスポート、ボリュームコントロール、フィルター、さらには様々なプロトコルをサポートするための多数のプラグインモジュールを組み込んだモジュラーサウンドサーバーです。
拡張可能なプラグインのアーキテクチャ
プラグインアーキテクチャが拡張可能であっても、モジュールの静的なリンクと自動ロード、複数のソースまたはシンク、クライアント側の待ち時間補間、許容される低遅延機能、サンプルタイプのリサンプリングと変換をサポートしています。録音と再生のために、プロジェクトは非常に正確なレイテンシ測定を提供します。これは他のプログラムに簡単に組み込むことができ、Zero-Copyアーキテクチャと、経験豊富なユーザーが実行中にデーモンをセットアップできるようにする簡単なコマンドラインインターフェイスを備えています。
フードの下
PulseAudioには、完全非同期C API(アプリケーションプログラミングインターフェイス)、2つの同期API、およびいくつかのネットワークオーディオストリーミングオプションが含まれています。サウンドサーバーを使用すると、複数のサウンドカードを簡単にミックスしたり、複数の再生ストリームを同時に同期させることができます。いくつかのオープンソースプロジェクトは、ALSA、LiVES、MPD、MPlayer、xine、VLC Media Player、SXEmacsなどのPulseAudioサウンドサーバをサポートしています。
最新のLinuxディストリビューションでサポートされています
現時点では、PluseAudioは現代のLinuxディストリビューション、FreeBSD、NetBSD、Solaris、Mac OS XおよびMicrosoft Windows(Win32)オペレーティングシステムでサポートされています。また、多くのよく知られているLinux OSのデフォルトサウンドサーバでもあり、PulseAudio Volume ControlやPulseAudio Preferencesグラフィカルアプリケーションから簡単に設定できます。
このリリースの新機能:
12.1のtarballにconfigureスクリプトが壊れていました(gsettingsが有効なときにビルドに失敗しました)ので、使用しないでください! PulseAudio 12.2を使用してください。 configureスクリプトと更新されたNEWSファイルを使用して、再生成されたtarballの他に変更はありません。
バージョン11.1の新機能:
A2DPブルートゥースプロファイルによるレイテンシレポートの改善(したがって、より良いA / V同期)
AirPlayデバイスのレイテンシをより正確に報告
Intel HDMI LPEのクラッシュやCPU使用率の問題を修正しました。
module-switch-on-connectは仮想デバイスを無視するようになりました
圧縮されたオーディオにパススルーを使用する場合は、「非音声」を設定します。ビット
HDMI出力をS / PDIF出力に優先させる
より多くのBluetoothヘッドセットのHSPサポート
HSPの代わりにデフォルトでA2DPブルートゥースプロファイルを選択する
新しい" sink_input_properties" module-ladspa-sinkのモジュール引数
新しい "use_system_clock_for_timing" module-pipe-sinkのモジュール引数
module-pipe-sinkは既存のパイプを使用できるようになりました
Steelseries Arctis 7 USBヘッドセットステレオ出力のサポート
Dell Thunderbolt Dock TB16スピーカージャックのサポート
一部のUSBサウンドカードのデジタル入力のサポートを修正
固定ネイティブインストゥルメントTraktor Audio 6検出
macOSで入力または出力を無効にする機能
新しい「dereverb」は、 Speexエコーキャンセラのオプション
新しいモジュール:module-always-source
状態ファイルは、システムモードではすべてのユーザが読むことができません。
module-augment-propertiesはXDG_DATA_DIRSを使用して.desktopファイルを検索するようになりました
Valaバインディングの更新
GConfの依存関係を回避できるようになりました
qpaeqライセンスがAGPLからLGPLに変更されました
qpaeqをQt 5に移植
glibc 2.27との互換性
esoundサポートが無効になっている場合、esdcompatツールはインストールされません
バージョンの新機能:
自動ルーティングの改善
BeamformingとWebRTCエコーキャンセラのその他の新機能
モジュールロールコルクとモジュールロールダッキングのさまざまな改良
デフォルトではLFEリミックスが無効になっています
memfdがサポートする共有メモリ転送
最大384 kHzのサンプルレートをサポート
0.2にbumpされたwebrtc-audio-processing依存性最小バージョン
Cの標準をC99からC11に変更しました。
バージョン8.0の新機能:
プロファイルを変更する可能性が高い自動ルーティング
OS XとNetBSDのサポートの改善
クライアントのシステムジャーナルロギング
新しいLFEバランスプログラミングインターフェース
Module-dbus-protocolの改善
より柔軟な設定ファイル処理
pulsecore-8.0.soがプライベートディレクトリに移動しました
メモリ消費を測定するための新しいスクリプト
さまざまなバグ修正と小さな改善
バージョン7.1の新機能:
srbchannelを使用するときにクラッシャーを修正しました。
シンボリックリンクが/になるようにビルドシステムのタイプミスを修正しました。
Xonarカードをより良く動作させる
その他のマイナーなバグの修正と改善
バージョン7.0の新機能:
ローパスフィルタリングを使用したLFEチャネル合成
新しいlibsoxrベースのリサンプラ
TCPのソケットアクティベーションサポート
「srbchannel」は、デフォルトで有効になっているIPCメカニズム
UCM使用時のより柔軟なジャック検出のサポート
SIGTERMによる終了は失敗とはみなされません
Creative SoundBlaster Omni Surround 5.1のサポート強化
バージョン6.0の新機能:
BlueZ 5ネイティブHSP(ヘッドセット)のサポート
oFonoを使用したBlueZ 5 HFP(ハンズフリー)プロファイルのサポート
システムドソケットアクティベーションサポート
マルチチャネルおよび2.1プロファイルのサポート強化
最適化のリマップ
マイナーな改善、バグ修正、およびi18nアップデート
バージョン4.0の新機能:
待ち時間の短いリクエストの処理の改善
混合中の最適化(汎用、ARM NEON)
デフォルトのリサンプラはspeex-float-1になりました(CPU使用率の低下)
主要なBluetoothリファクタリングにより信頼性が向上し、メンテナンスが容易
JACKへの/からの優雅なハンドオフのための修正
ストリームの役割に基づいてダッキングを適用する新しいモジュール
エコーキャンセラインフラストラクチャの修正
コマンドラインツールのBashとzsh補完
SolarisおよびOS Xの修正
その他の多くの機能拡張、バグ修正、文書化、i18nアップデート
バージョン3.0の新機能:
ALSAユースケースマネージャ(UCM)のサポート:
デスクトップおよびラップトップコンピュータのオーディオハードウェアは、通常、PulseAudioが共通の設定ファイルセットを使用して処理するのに十分な標準です。状況は、例えば、携帯電話とタブレット。実際には、これらのデバイスはすべて、PulseAudioがハードウェアのすべての基本機能を適切に使用できるように、ハードウェアを記述するための個別の設定ファイルを必要とします。設定はPulseAudio設定ファイルとして出荷できますが、PLSAなどのアプリケーションでアプリケーションで特別な設定をせずにハードウェアを使用できるようにするシステムでは、ALSAのメンバーが作業しています。このシステムはUCMと呼ばれ、PulseAudioはこれをサポートしています。
実行時編集可能なLADSPAフィルタのパラメータ:
LADSPAモジュールは、その場でフィルタパラメータを変更するための基本的なD-Busインタフェースを公開するようになりました。以前は、フィルターをロードした後でパラメーターを変更できませんでした。
Bluetoothソースのすぐに使用できるサポート:
ARM NEONの最適化:
ARM NEON命令を使用して、S16LEフォーマットと浮動小数点フォーマットの間のサンプルフォーマット変換用に最適化が追加されました。これらのサポートはコンパイル時(FPUフラグに基づく)および実行時(/ proc / cpuinfoに基づく)で検出されます。この取り組みの一環として、今後NEONの最適化を追加するための基盤が整いました。
設定可能なデバイスのレイテンシオフセット:正確な待ち時間レポートは、たとえば「リップシンク」は、ビデオ再生時。 PulseAudioはオーディオハードウェアを利用してオーディオ遅延に関する正確な情報を提供します。その情報が何らかの理由で正確でない場合、Damir JelicのGoogle Summer of Codeのおかげで、各レイテンシレポートに適用されるオフセットを設定できるようになりました。たとえば、ビデオを見ていて、オーディオ出力用にBluetoothヘッドセットを使用している場合、PulseAudioは現在、Bluetoothデバイスの待ち時間を照会するための適切なサポートを持っていないため、リップシンクを少しオフにすることができます。今後のバージョンのpavucontrolでは、Bluetoothヘッドセットのレイテンシーオフセットを調整することで、同期の問題を解決できます。
XDGベースディレクトリ仕様に準拠する:
設定ファイルの場所が〜/ .pulseから〜/ .config / pulseに移動しました(または$ XDG_CONFIG_HOMEが設定されている場合は、それを使用します)。ただし、〜/ .pulseが存在する場合は、PulseAudioの更新時にユーザー設定が失われないように、引き続き使用されます。認証クッキーも〜/ .pulse-cookieから〜/ .config / pulse / cookieに移動しました。ランタイムファイル(つまり、再起動時に保持する必要のないファイル、ソケットなど)の場所は、/ tmpの下のランダムディレクトリから$ XDG_RUNTIME_DIR / pulseに移動されています。 $ XDG_RUNTIME_DIRが設定されていない場合、古いスキームは引き続きフォールバックとして使用されます。
さまざまなALSAの変更:
2.0の回帰は、いくつかのマシンに「スピーカー」を持たせない可能性があります。または「内部マイクロホン」と呼ばれる。 portsは、Linux 3.6以降と一緒に使用された場合、ほとんどが3.0で修正されています。また、より古いカーネルの回避策は、一般的な特定のマシンに適用されます。
Pierre-Louis Bossartは、ALSAのタイミングパラメータのいくつかをアトミックに照会することで、タイムスタンプ照会の精度を向上させ、タイマーベースのスケジューリングを改善するという変更を導入しました。
ALSAポートにアイコン名プロパティを追加しました。これにより、UIメーカーがポート単位でより良いアイコンを表示できるようになります。
また、厄介なlfe-on-monoポートを削除したり、ミキサーのコントロール名を追加してカーネルとの同期を保つなど、いくつかの変更がありました。
自動テストの改善点:Deng Zhengrongは、Google Summer of Codeの作業の一部としてPulseAudioの自動テストサポートを改善しました。この改善には、gcovによるテストカバレッジレポートのサポート、既存のテストを変更して「チェック」機能を使用すること、通常のデーモンを実行しながら同時にテスト目的でPulseAudioデーモンを起動することができます。
名前でモジュールをアンロードする:
pactlとpacmdはモジュール名のアンロードをサポートするようになりました。以前はアンロードはモジュールインデックスでしかできませんでしたが、これは少し不便でした。なぜなら、通常は何らかの方法でインデックスを探すことなくインデックスを知ることができないからです。
ロギングの改善:
自動試験の改善に加えて、GSoCの学生DengはPulseAudioの伐採施設でも働いていました。 set-log-targetコマンドを使用して、実行中のデーモンのログターゲットをpacmdで変更することができるようになりました。また、新しいログターゲットタイプ、「newfile」が追加されました。 「newfile」は、ターゲットは古い"ファイル"指定されたファイル名がすでに存在する場合、そのファイルは上書きされず、新しいファイルが番号のついた接尾辞で作成されます。
Bluetoothコードリファクタリング:
今後のBlueZ 5サポートの準備として、そして一般的に作業するコードをより快適にするために、Bluetoothモジュールで多くのリファクタリング作業が行われています。これらはユーザーが直接見ることのできる変更ではありませんが、ここではMikel Astizに感謝の意を表したいと思います。
次のステップ:
開発はいつものように続き、4.0リリースは4月にリリースされることを目標にしています(これまでのところ、4か月のリリースサイクルを維持することはあまり良くありませんでした。 PulseConf 2012のレポートには、次に何が来るのかについての手掛かりがいくつかあります。
バージョン2.0の新機能:
代替サンプルレート
ジャック検出
エコーキャンセレーション:WebRTCキャンセラー、自動ゲインコントロール、ドリフト補正
バーチャルサラウンドモジュール
Xen準仮想化オーディオシンク
固定HURDサポート
A2DPデコーダの品質向上
バージョン0.9.17の新機能:
Lennart Poettering(13):
libpulse:新しいエラーコードPA_ERR_BUSYを追加する
alsa:サンプルバッファサイズを適切に変換する
alsa:停止エラーコードを適切に報告する
i18n:LINGUASにjaを追加する
i18n:make update-poを実行する
build-sys:ライブラリのバージョンを増やす
doxygen:例として、pacat.cとpaplay.cへの参照を削除すると便利です.paplayの場合はそれ以上存在しないので
doxygen:ドキュメントにrtclock.hを追加する
doxygen:doxygenと擬似的なものを混同しないでください。
プロプリスト:ウィンドウの位置を保存するプロパティを定義する
position-event-sounds:設定されている場合はウィンドウの位置を指定し、垂直方向と水平方向の両方向に位置付ける
コア:リサンプリング後に適用される追加の音量係数を追加する
position-event-sounds:リサンプリング前ではなく、音量係数を適用する
amitakhya(1):
Assameseの翻訳を送信中
アノニター(1):
Malayalamの翻訳を送信する
ヒュウガ(1):
po / ja.poの翻訳を送信中
ifelix(1):
タミル語の翻訳を送信中
ジャッシー(1):
Punjabiの翻訳を送信する
kkrothap(1):
Teluguの翻訳を送信する
rajesh(1):
ヒンディー語の翻訳を送信する
runab(1):
ベンガル語(インド)の翻訳を送信する
sandeeps(1):
Marathiの翻訳を送信中
swkothar(1):
Gujaratiの翻訳を送信する
ウォーラック(1):
オランダ語の翻訳を送信する
コメントが見つかりません