音楽を一連の周波数とそのメモの期間に解析する方法
-
14-10-2019 - |
質問
ご挨拶、
私はに取り組んでいます 低レベル プログラミングプロジェクトと私はコンピューターで音楽を再生したい スピーカー.
私はすでにスピーカーを使用できます( timer2
)そして、歌は次の方法で表されます。
note_t *music;
どこ note_t
メモを表し、それは次のような化合物です。
typedef struct {
int freq; /* note frequency */
int dur; /* note duration in miliseconds */
} note_t;
さて、音楽ファイルからノートの周波数と期間を取得する最良の方法は何ですか?
前もって感謝します!
編集
いくつかの疑問を明確にするために、私が知りたいのは、上記の構造が示された曲を作成するために必要な情報を取得するのに最適な形式です。
解決
anatolygの答えは良いです。このようなタスクがどれほど複雑であるかを示したいだけです。インスピレーションを得るためにMIDIを見てください。
http://en.wikipedia.org/wiki/musical_instrument_digital_interface
MIDIファイルは、音楽ソフトウェアの「仮想楽譜」として使用できます。ノートを保存し、プレイのニュアンスを説明する多くの追加情報(速度、ピッチベンド、変調など)です。音楽全体を複数の楽器とポリフォニーで保管するために構築されました。
他のヒント
正確な目的に応じて、着メロ形式の1つを使用したり、独自の形式を発明したりできます。
単純な着信音形式の例は次のとおりです rtttl.
所属していません StackOverflow