Ruby での波形視覚化
-
09-06-2019 - |
質問
オーディオ ファイルを録音および編集するプロジェクトを開始しようとしています。波形をオンザフライで視覚化するための優れたライブラリ (できれば Ruby ですが、Java または .NET 以外も検討します) を探しています。
どこから検索を始めればよいか知っている人はいますか?
解決
ブラウザにストリーミングするには大量のデータが必要です。Flash チャートまたは Flex チャートは、おそらくメモリ効率が高い唯一のソリューションです。Javascript のグラフ作成は、大規模なデータ セットの場合に壊れる傾向があります。
他のヒント
オーディオ波形を表示するときは、元のデータに対して何らかのデータ削減を行う必要があります。通常、オーディオ ファイルには画面上のピクセルよりも多くのデータが含まれるためです。ほとんどのオーディオ エディタは、さまざまなズーム レベルで使用するために、オーディオ データのサブセット (通常は波形の山と谷) を保存する別のファイル (ピーク ファイルまたはオーバービュー ファイルと呼ばれます) を構築します。次に、特定の点を超えてズームインすると、生のオーディオ データ自体の参照が始まります。
これに関する良い記事をいくつか紹介します。
ソースコードに関しては、次の内容に目を通すことをお勧めします。 大胆さ ソースコード。Audacity の波形表示は非常に優れており、波形をレンダリングするときに同様のデータ削減を行う可能性が高くなります。
もう 1 つのオプションは、GD または RMagick を使用してサーバー側で波形を生成することです。でも頑張って RubyGD をコンパイルできるようにしてください。
処理は視覚化によく使用され、Ruby ポートがあります。