Raspberry Pi の Mathematicaで円周率の演奏をしてみた


2019年 05月 01日

MIDIでは、音色というか楽器を非常に多数用意している。
何もしなければ、ピアノの音が出るようだが、次のように楽器の名前を指定すれば、その楽器で演奏してくれる。

Sound[SoundNote["C", 10, "Violin"]]

楽器の種類はMIDIなので、128種類ある。
以下が、指定可能な名称である。

“Accordion” “Agogo” “AltoSax” “Applause”
“Atmosphere” “Bagpipe” “Bandoneon” “Banjo”
“BaritoneSax” “Bass” “BassAndLead” “Bassoon”
“Bird” “BlownBottle” “Bowed” “BrassSection”
“Breath” “Brightness” “BrightPiano” “Calliope”
“Celesta” “Cello” “Charang” “Chiff”
“Choir” “Clarinet” “Clavi” “Contrabass”
“Crystal” “DrawbarOrgan” “Dulcimer” “Echoes”
“ElectricBass” “ElectricGrandPiano” “ElectricGuitar” “ElectricPiano”
“ElectricPiano2” “EnglishHorn” “Fiddle” “Fifths”
“Flute” “FrenchHorn” “FretlessBass” “FretNoise”
“Glockenspiel” “Goblins” “Guitar” “GuitarDistorted”
“GuitarHarmonics” “GuitarMuted” “GuitarOverdriven” “Gunshot”
“Halo” “Harmonica” “Harp” “Harpsichord”
“Helicopter” “HonkyTonkPiano” “JazzGuitar” “Kalimba”
“Koto” “Marimba” “MelodicTom” “Metallic”
“MusicBox” “MutedTrumpet” “NewAge” “Oboe”
“Ocarina” “OrchestraHit” “Organ” “PanFlute”
“PercussiveOrgan” “Piano” “Piccolo” “PickedBass”
“PizzicatoStrings” “Polysynth” “Rain” “Recorder”
“ReedOrgan” “ReverseCymbal” “RockOrgan” “Sawtooth”
“SciFi” “Seashore” “Shakuhachi” “Shamisen”
“Shanai” “Sitar” “SlapBass” “SlapBass2”
“SopranoSax” “Soundtrack” “Square” “Steeldrums”
“SteelGuitar” “Strings” “Strings2” “Sweep”
“SynthBass” “SynthBass2” “SynthBrass” “SynthBrass2”
“SynthDrum” “SynthStrings” “SynthStrings2” “SynthVoice”
“Taiko” “Telephone” “TenorSax” “Timpani”
“Tinklebell” “TremoloStrings” “Trombone” “Trumpet”
“Tuba” “TubularBells” “Vibraphone” “Viola”
“Violin” “Voice” “VoiceAahs” “VoiceOohs”
“Warm” “Whistle” “Woodblock” “Xylophone”

もうちょっと分かりやすいもとのしては、WikipediaのMIDIの説明がある。

これによると、琴、尺八、三味線、和太鼓が入っている。



さて、タイトルにあった円周率を演奏することを考えよう。

円周率を40桁まで求め、各桁の数字(0から9)を音程として与えてることを考えよう。

以下、複数のステップに分けて示すが、実際には、最後のだけで演奏できる。

SoundPi-1.png

さて、次は音の長さを1から8までの乱数整数で与え、楽器にバイオリンをしてしてみた。

円周率の各桁の数字は note で参照できるようになっているので、Tableを使ってnoteを取り込んでみた。

SoundPi-2.png

音は奥がとても深く、延々と書くと切りがないので、ここらでやめておく。

もっと知りたい場合には、Wolfram Toneというサイトが用意されていて、ここで実際にどんな音が出るか試すことができるので見て(聴いて)みよう。
Mathematica/Wolfram が無くても、色々試すことができるようだ。