micro:bit(マイクロビット)とは
- 2016年に非営利団体として、ザック・シェルビーによりMicro:bit財団を設立
- イギリスでは2016年に100万人の児童に対し、Micro:bitを無償配布
micro:bit(マイクロビット)仕様
- イギリスの公共放送局であるBBCが中心となって開発
- プログラミング教育を目的とした小型のコンピューター
- 25個の赤色LED
- 2個のボタン
- 三軸加速度センサー
- 地磁気センサー(コンパス)
- BLE(BluetoothLow Energy)などを搭載
- プログラムで容易に制御できる
- 価格は2000円程度
- Mac、Windows両方に対応
- 環境構築不要(USBにさすだけ)
Micro:bitプログラミング(JavaScripやグラフィカル言語)
Web上でプログラミングできます。(環境構築不要)
https://makecode.microbit.org/
###プログラミング(Pythonでも動きます)
中身は、microPython
BBC micro:bit MicroPython ドキュメント
Micro:bitで簡単音楽(MicroPythonを利用)
目的:Micro:bitのmusic機能を用いて、自分で打ち込んだ曲を演奏させます。
(今回は、久喜市の市民歌)
JavaScriptブロックエディタではなく、Pythonエディタでプログラミングします。
音符の記述方法
ミュージック表記
コンピューターに譜面を読み込ませることはできないので、コンピューターが読める形式で記述する必要があります。
譜面の記述方法はいくつかありますが、Pythonでは、ABC譜で記述します。
MicroPython Document Music
####音程
ド:C レ:D ミ:E ファ:F ソ:G ラ:A シ:B
フラット:b シャープ:# 休符(無音):R
Ab:フラット C#:Cシャープ
音名:大・小文字を区別なし
####音の長さ
4ティックが4分音符の場合
2分音符:8, 4分音符:4, 8分音符:2
####例えば:A4:4
音名(NOTE)"A“
オクターブ(octave)4(中間の音域)
長さ(duration)が4 ティック(4分音符)
音の名前にR が指定されている場合は、休符(無音)
4分音符ド、8分音符レの場合:
C4:4、d4:2
### 市民歌をABC譜で記述
ちなみに、久喜市民歌をアレンジしてダンスにした動画「クッキーダンス」というものがあります。
3058人がダンス!平成28年度久喜市PRビデオ「1000人クッキーダンス」
Pythonプログラミング
譜面から打ち込むと実際にはこんな感じになります。
from microbit import *
import music
#笑顔のまち永遠なれ
#作詞・作曲タケカワユキヒデ
#4分音符=120
kukishi=['d4:2','eb4:2','f4:2','f4:2','f4:2','f4:2','f4:2','f4:2','g4:4','a4:4','bb4:8',
'g4:2','a4:2','bb4:2','bb4:2','a4:2','a4:2','g4:2','f4:10','r:4',
'r:2','g4:2','g4:2','g4:2','g4:2','g4:2','a4:4','bb4:2','c5:2','a4:2','g4:2','f4:2','g4:6','r:4',
'g4:2','g4:2','g4:2','g4:2','a4:4','bb4:4','a4:8','r:8',
'd4:2','eb4:2','f4:2','f4:2','f4:2','f4:2','f4:2','f4:2','g4:4','a4:4','bb4:4',
'r:2','a4:2','a4:2','bb4:2','c5:2','bb4:2','a4:2','g4:2','f4:2','g4:10','r8',
'bb4:2','bb4:2','bb4:2','bb4:2','a4:4','bb4:4','c5:4','bb4:4','bb4:4','r:4',
'g4:2','g4:2','g4:2','bb4:2','a4:2','a4:2','a4:2','bb4:10','r:8',
'r:4','c5:2','c5:6','c5:2','c5:6','bb4:4','a4:4','bb4:4','a4:4','d4:4','d5:2','c5:2','c5:2','bb4:10','r:8',
'r:4','g4:4','a4:4','bb4:4','g4:4','a4:4','bb:4','bb:4','bb4:4','a4:4','bb4:4','c5:2','c5:10',
'r:2','bb4:2','a4:2','bb4:10','r:2','bb4:2','a4:2','bb4:10',
'r:4','bb4:2','a4:6','bb4:4','c5:4','d5:2','c5:4','bb4:2','bb4:4','r:8',
'g4:2','a4:2','a4:2','a4:2','bb4:4','c5:4','eb5:4','d5:4','c5:4','d5:4','c5:4','bb4:2','bb4:10',
'r:4','bb4:4','bb4:2','a4:2','a4:2','bb4:10','r:8','r:16']
while True:
#Aボタンを押すと始まります。
if button_a.is_pressed():
#テンポはbpmの値で変えられます。
music.set_tempo(ticks=4, bpm=150)
music.play(kukishi)
#Bボタンを押すとプログラム終了です。(演奏途中で停止はできません)
elif button_b.is_pressed():
break
else:
pass
ソースコードは、
https://github.com/SGyutan/microbti_shiminka
に上げています。
### 実行方法
実行ファイルの作成
Downloadボタンを押して、hexファイルを作成します。それをUSB接続されたMicrobitのホルダーに入れます。
接続方法
Micro:bitの端子をスピーカーかイヤホンに接続します。
イヤホンの場合:決して耳にイヤホンを着けないでください。危険です。
かなり音が大きいです。
イヤホンのジャック端子では、端子の外側がGND、中心の端子が0です。
##(参考)音楽をコンピューターで扱うためのデータフォーマット
音楽をコンピューターで扱うためのデータフォーマット
紙やPDFで人間が可読できるものからコンピューターが可読できるものへの変換
MusicXML
- XML形式の楽譜表記のためのオープンなファイルフォーマット
- Recordare(現MakeMusic)によって開発
- FinaleやSibelius、Rosegarden、Notionなどの楽譜作成ソフトウェアによって作成することが可能
ABC記譜法
- パソコン等で使われる音楽記述言語の一つ
- イギリスのChrisWalshawによって考案
- 単に「ABC」とも、また小文字で「abc」とも言う。
- 音高を表すアルファベットと、音長を表す数字、その他の若干の記号を組み合わせて表記
MIDI(Musical Instrument Digital Interface の略称)
- シンセサイザーを搭載する電子楽器の演奏情報のデータ形式、プロトコル、物理的インターフェイスの規格。
- MIDIデータは小節・拍といった時間概念を持っており、そのスケール上のどのタイミングでどのキーをどの位の強さ、長さで押したかというノート(音符)情報を記録.(MIDIデータとは電子楽器にとっての楽譜)
- この他、各パートの音色選択やボリュームやパン(左右の定位)の情報、リバーヴやコーラスといったエフェクトの度合いなど、楽器のコントロールに関する様々な情報を取り扱う。(これにより、ひとつの鍵盤で複数の電子楽器(以下MIDI音源と呼ぶ)を同時に演奏したり、パソコンなどからMIDIデータを再生することによって、MIDI音源を演奏することができる。)
- MIDIデータとは演奏情報であり、音そのものではない。つまり、MIDIデータだけでは音は鳴らず、それを受けて演奏するシンセサイザーがあって初めて音楽として再生できる。
WAV
- WAVまたはWAVE(ウェーブ、ウェブ)(RIFF waveform Audio Format) は、マイクロソフトとIBMにより開発された音声データ記述のためのフォーマット
- 主としてWindowsで使われるファイル形式
- ファイルに格納した場合の拡張子は.wav
MP3
- MP3(エムピースリー、英:MPEG-1 Audio Layer-3)は、音響データを圧縮する技術の1つ
- それから作られる音声ファイルフォーマット
- ファイルの拡張子は.mp3
- MP3は、音声の周波数帯域では極端な声質の劣化を伴わずに圧縮
- 音声をデジタル化するために用いられる
- 後に音楽をCDなどの音源媒体からパーソナルコンピュータ(PC) のハードディスクドライブ(HDD) に取り込む用途で広く普及