テキスト・コマンドで音(音楽)を鳴らす | 貯え 小道具 興味ない?

貯え 小道具 興味ない?

「貯えもの」とは、いってもお金をご想像の方は、ご遠慮くださいまし。
Storage = Data Storage
関わってお仕事したり、使ってて感じたことなり
記すBlogでございます。
トラックバックを時折頂きますが、削除する場合がございます。

C/C++言語での曲作り」は書籍

の試みではあったのですが、C/C++言語を扱うのは面倒に感じます(OSに合わせてプログラミング環境を整えないといけないなど)。

 

そこで、簡単なテキストで音(音楽)を鳴らすやり方を探してみました。

最初に見つけたのは「CUIで音楽製作環境の構築(macOS版)」で、「timidity++とテキスト音楽サクラを使う方法を紹介する。」とありました。「テキスト音楽「サクラ」v2」を使うのですが、「テキスト音楽「サクラ」は、エディタに『ドレミ』と書けば、その通りに音楽を演奏することができる音楽制作ツールです。」というものです(  参考:「サクラとは...」 )。

 

今はマルチプラットホーム対応コマンドライン版「csakura」やWeb版(「PicoSakura」)もあって、これが遊ぶなら簡単でした。例として童謡「チューリップ」のメロディーをバイオリンの音色で鳴らしてみました。「PicoSakura」を開いて音程を並べてテキストで書いて、「PLAY」ボタンを押すだけです。

 

 

音程、音長、和音など「サクラの簡単な使い方」にありますが、「文法の概要(ストトン表記)」に簡易的な書き方があります。「→もうちょっと詳しい解説はこちら」になっています。これは音で遊ぶときにはとても簡単で良いと思います。これらのページには試して鳴らせる様になっているので、それだけでも雰囲気は判ります。

 

また「サクラ」ではMML(Music Macro Language)をMIDIに変換(コンパイル)して音を鳴らすので、「MML文法」の説明も「MMLの基礎」に説明されています。また「リズムパートを入力しよう!」もあります。

(ピコサクラでのリズムの例)

 

MMLはPCがまだ8bit CPUの時代からある音楽のPCでの文法で様々な記法がありますが、その一例を使っている様です。エディタで記載してMIDIファイルに変換して鳴らせます。例えば「ドレミファソラシ」をMMLで記載すると「cdefgab」と書きます。

Windowsなら「コマンドプロンプト」Macなら「ターミナル」で MIDI再生コマンドでこのMIDIファイルを再生すると指定したMML(MIDIに変換したもの)が音になります。「CUIで音楽製作環境の構築(macOS版)」では「timidy」、「fluidsynth」を使う例が紹介されていました。

 

$ timidity -Od music.mid
 

の様に使います。なので、このMML文法をもっと簡便にしたものが、「文法の概要(ストトン表記)」だと思います。

 

「fluidsynth」( 参考:「[Shell] オープンソースなFluidSynthでMIDIファイルを再生する」 )の場合は「サウンドフォント」が必要になるので、コマンドは

 

$ fluidsynth -i GeneralUser_GS_v1.471.sf2 octave.mid

fluidsynth {オプション} {SoundFontのパス} {MIDIファイル}

 

の様にサウンドフォントファイルとMIDIファイルを指定して音を鳴らします(動作確認が取れました)。

サウンドフォントはWebを検索すれば様々なものが見つかります( 「Yamaha XG Sound Set.sf2」など )。

 

できればMIDIファイルを簡単に作りたいと思っているので、もう少し調べます。