信号処理について私が最も興味を持っているのは、音楽への応用の可能性です。少し前にアプリケーションのプレビューを見たのを覚えています (名前を忘れてしまいました)
もしかしてキューバ?
誰かがギターを弾いている録音を聞いて、実際に演奏された音符/コードをタイムラインに沿って自動的にグラフ化することができます
非常に単純化すると、ノートを演奏すると、特定の周波数で周期的な波が生成されます。波をスペクトルに変換する数学的トリック (フーリエ変換 DFT) があります。これは、強度を時間に対して示す代わりに、波の周波数に対して表示します。たとえば、音叉からの完全な A 音は、440 Hz の振動波を生成します。時間領域では、これは正弦波として表示されます。周波数領域では、440 Hz を中心とする単一の狭いスパイクとして表示されます。
さて、ギターを弾いても完全な正弦波は発生しません。A を叩くと、基本周波数 440 Hz が生成されますが、多くの追加周波数 (たとえば 880、オクターブ高いだけでなく、他の多くの高低周波数も) が生成されます。これらの追加の周波数はハーモニクスと呼ばれ、基音と混ざり合って「ギターの音」(音楽用語で音色と呼ばれるもの)を生成します。別の楽器 (ピアノなど) では、ハーモニクスと基音の混合が異なり、異なる音色が生成されます。
DSP プログラムが行うことは、入力信号に対して DFT を実行することです。追加のトリックで、彼らは基音とハーモニクスを見つけ、見つけたものに従って、あなたが演奏した音を推測します。ライブ演奏中に音符を見つけて特別なトリックをトリガーする可能性があるため、これは迅速に行われる必要があります。たとえば、ギターで A の音を叩くと、DSP が A であると認識し、ピアノの A に置き換えて、スピーカーからピアノの音を得ることができます。
プログラムを使用すると、ユーザーはこれらを移動したり、編集したりすることさえできました。さて、明らかにこれはもっと複雑ですが、同じことが関係しているのでしょうか? 信号処理?また、音楽ビジュアライザーやインテリジェント照明システムへの応用にも興味があります。
はい。周波数ドメインに入ると、物事は非常に簡単になります。たとえば、声の周波数に応じて特定のライトを点灯させ、バスドラムで別のライトを点灯させることができます。
私の理解では、MP3 などの圧縮されたオーディオ形式でこの処理を行っても、別のトラックを含む MIDI と同じ結果が得られないということです (私の誤解かもしれません)。
それらは2つの異なるものです。MP3 は、音波を圧縮した形式です。基本的には、スピーカーを操縦するものを取り、それを圧縮します。考え方は同じです。DFT を行ってから、聞こえにくいものを削除します (たとえば、高強度の音の直後に発生する高いピッチは聞こえにくいため、削除されます)。
一方、MIDI はイベントの巻物です (ご存じのとおり、極西部のピアノのように巻物が巻かれています)。ファイルには音楽が含まれていません。代わりに、MIDI プレーヤーが特定の楽器で特定の時間に特定の音符を演奏するための指示が含まれています。「楽器バンク」の品質は、(とりわけ) 悪い MIDI プレーヤー (子供のおもちゃのように聞こえる) と良い MIDI プレーヤー (特にピアノやバイオリン、管楽器ではリアルに聞こえる) を区別するものです。現実的なものを聞く必要があります)。
MIDI から MP3 に移行するには、MIDI プレーヤーを介して演奏するだけです。あなたが言ったように、逆を行うことはまったく別の話であり、はるかに複雑です.DSPが登場するのはここです.
フィスクタンクを沸騰させるようなものです。あなたは魚のスープを手に入れます。しかし、魚のスープから水槽に戻すのは、はるかに困難です。
PCM などの非圧縮形式は MP3 よりも優れていますか?
PCMは、アナログ信号をデジタル信号に変換する技術です。したがって、あなたの質問には、PCM形式が存在しないという根本的な誤解があります(RAW形式は危機に瀕しており、基本的には粗いデータしか含まれていません)。非圧縮の WAV (PCM データを含む) が MP3 よりも優れているかどうかを尋ねる場合は、イエスですが、人間の耳にとってこれがどれほど重要であるか、およびそのデータに対してどれだけの後処理を実行する必要があるかという疑問が生じることがあります。
これを容易にする既存のライブラリがあるかどうか、またはこのテーマに関連するコンピューター サイエンス/プログラミング向けの記事がサンプル コードとともにあるかどうかを確認してください。オープン ソースのサウンド/ミュージック ビジュアライザーや、その他のオープン ソースのサウンド処理コードも素晴らしいでしょう。
Pythonが好きなら、このページを見てください
意味がわからなかったらごめんなさい。おっしゃるとおり、何を言っているのかわかりません。
私もそうではありませんが、少しいじってみました。