web-dev-qa-db-ja.com

Conky&Ubuntu-音楽の視覚化(ミュージックバー)?

私は数日前にコンキーと遊び始め、これを達成することができました。

注:私は最初からそれを書いたが、私は この写真 に触発された、彼らの創造性に対する作者の功績

ご覧のとおり、デジタルクロック( "21:20")と接続統計の間に空きスペースがあります。

今、私はそのスペースに「ミュージックバー」と呼んでいるものを持ちたいです。つまり、現在音楽プレーヤー(現在はクレメンタイン)が現在再生しているサウンドに従って動くアニメーションバーです。いくつかのスクリプトとqbusコマンドのおかげで、現在のトラック、アーティスト、年などを表示することができました。

ただし、主な質問があります。

  • 実際の音楽データを取得するにはどうすればよいですか(振幅と呼ばれます)。
  • それをかなりスムーズにアニメーション化するにはどうすればよいですか?

Conkyとluaをcairographicsで使用していますが、lua/cairographicsを「再描画」する方法を見つけていないため、アニメーションは本当に複雑なようです。これにより、.conkyrcのupdate_intervalを減らして、アニメーションに「近い」何かを実現する必要があります。

残念ながら、update_intervalに非常に小さな値を設定すると、conkyは(たとえば)50ミリ秒ごとに再描画するだけでなく、必要に応じて変数を再計算し、スクリプトを再実行するため、CPUリソースを大量に消費します。

したがって、アニメーションについては、CPUリソースを使い果たさずにスムーズなアニメーション(10 fpsで十分)を実現する方法を探しています。

誰かが私にいくつかのアイデアを与えることができれば素晴らしいでしょう。必ずしもLUAにある必要はありません。conkyに代わる優れたもの(軽量なものであるべきです)がある場合は、お気軽にご連絡ください!

-

アイデアや提案をありがとう!

7
Mr. Pixel

PulseAudioを使用すれば可能だと思います。私はそれを完全に行う方法がわかりませんが、 ここにユーティリティがあります 振幅を得るのに役立つことがわかりました-それをコンキーチャートに変換するものを見つけることができると思います。

1
Vadim Peretokin

あなたがこれを投稿してからかなりの時間が経ったことを知っていますが、先日すばらしいCLIビジュアライザーを見つけました: https://github.com/dpayne/cli-visualizer

さて、これはもちろん更新間隔の問題を解決しませんが、それでも私と同じくらい面白いと思うかもしれません。

0
Rαωs