
こんばんは。PICやH8などのマイコンを使って遊んでいます。プログラムの開発にはC言語を使用しています。
メロディを演奏するのに、どうしたら簡単に楽譜を入れることができるか、皆さんの知恵を貸してください。
圧電サウンダーをH8/3052Fに繋げて、
- オクターブ3のラ(220Hz)~オクターブ5のラ(880Hz)の音を出す
- 十六分音符~全音符で音の長さを決める(付点、休符もOK)
- テンポ60~テンポ160でメロディラインのスピードを制御する
まではできて、次のような構造体で耳コピで作ったドラえもんのイントロ部分を演奏するところまでできました。
/* ドラえもんの曲の頭のつもり */
#define TEMPO TEMPO_140
static const short DoraemonIntro[8][2] = {
{ Do4, EIGHTH_NOTE },
{ Fa4, EIGHTH_NOTE },
{ Fa4, EIGHTH_NOTE },
{ La4, EIGHTH_NOTE },
{ Re5, QUARTER_NOTE },
{ La4, QUARTER_NOTE },
{ Do5, HALF_NOTE },
{ Do5, QUARTER_NOTE },
};
しかし、このように耳コピ+手打ちで楽譜を作っていたのでは、簡単な曲を1曲入れるだけで数時間かかってしまいます。もっと楽をしたいのですが、どうやったら楽に楽譜を入力出来るでしょうか?
全然別なやり方でも歓迎いたします。
また、簡単な曲の楽譜がある場所なども教えていただけると助かります。
No.1ベストアンサー
- 回答日時:
この程度の音源であれば、MML(Music Macro Language)を使うのが一番かと思います。
MMLは楽譜を単純に文字列で表現する方法です。MMLコンパイラを自作して構造体を吐かせるのもよし、インタープリタのように逐次解釈するのもよしといったところです。
MMLの文法そのものについては、Googleで検索するなどすれば入手できると思います。
回答ありがとうございます。
MMLという言葉ははじめて聞きました。Googleで検索してみたら、かなりの数がヒットしました。しかし、MMLの仕様は皆さん独自に定義しているように見えたのですが、オリジナル(源流)はどこにあるのでしょうか?
MMLの楽譜もインターネット上で公開されているようですね。
C言語用の構造体を吐き出すMMLコンパイラ(というより、各音の高さと長さに切り分けるパーサーで十分?)くらいなら作れそうな気がしますので、チャレンジしてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Replace関数について教えて...
-
CSSが全く分かりません、お助け...
-
CPUが16bitでも32bitOSでコンパ...
-
最初に聞かれたこと
-
c言語の問題の説明、各所ごとに
-
Cのオブジェクトファイルの逆ア...
-
C言語 関数、変数の宣言について
-
C言語について。
-
C言語でファクト関数を使わずに...
-
プログラミング 素数か素数では...
-
あってる
-
DNCL(共テ用プログラミング言語...
-
int16_t の _t は何?
-
DLLファイルの逆コンパイラにつ...
-
visual studio 2022でのC#プロ...
-
プログラミングc++を全く分か...
-
DNCL(共テ用プログラミング言語...
-
C言語 配列と関数の練習問題
-
gccを行ってもexeファイルが生...
-
C言語 列挙型(enum型)変数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
楽譜の読み方が分かりません
-
「いつか夢がかなうように」
-
「スカボロフェアの著作権につ...
-
C言語でメロディを演奏したい
-
ピアノ初心者です。楽譜でどこ...
-
楽譜がよめない・・・
-
知的障害者で楽譜が読めません
-
楽譜を演奏してくれるアプリを...
-
Musescoreの使い方 いま私はMus...
-
ピアノ楽譜の「上向き 2x」が...
-
ピアノの「二分音符スタッカー...
-
ビンクスの酒の楽譜
-
この楽譜の音階をカタカナで書...
-
楽譜作成の際のDSとリピート...
-
英語で「楽譜」という時いつも...
-
戦場のメリークリスマス 楽譜
-
牧 伸二さんの ウクレレの伴...
-
ギターのフレットを指で押さえる形
-
この、上から2行目の楽譜につい...
-
詩吟の尺八伴奏について
おすすめ情報