Skip to content

アクティビティ

ギター3 - オクターブ

上級 | MakeCode, Python | 端子, | かけ算, 割り算, 和音, 変数, 算術演算子, 電子工学, 電気,

ステップ1: 作る

説明

ピッチを1オクターブ上下できるように、micro:bitギターを改良しましょう。

micro:bitのピン0とGNDに接続されたヘッドフォン、ピン1、2とGNDに接続されたアルミホイルパッド。

動作の仕組み

  • 音が聞こえるように、micro:bitをヘッドフォンやスピーカーに接続します
  • アルミテープをmicro:bitのピンギター1ギター2プロジェクトのように接続します。
  • このプログラムは、演奏するために譜面を使うのではなく、各音符周波数変数F、A、C、Eに格納しています。
  • ピン1またはピン2とGNDに触れると、分散和音が再生されます。つぎにAボタンを押すと1オクターブ下げて(ピッチを下げて)、 Bボタンを押すと1オクターブ上げる(ピッチを上げる)ようにしてみましょう。
  • 音符のピッチ(周波数)が倍になると、1オクターブ上の音になります。真ん中のAの周波数は440ヘルツ(毎秒440回の振動)です。 1オクターブ高いAの周波数は880ヘルツです。 これがギターの弦の振動部分を指で長さを変えると演奏される音の音程が変わる理由です。
  • ボタンAとBはそれぞれ各変数に格納された周波数の半分または倍にし、各音符の演奏が1オクターブだけ上下する効果があります。

必要なもの

  • micro:bitと電池ボックス(オプション)
  • ヘッドフォンやブザーやアンプ付きスピーカー
  • ワニ口クリップケーブル 5本
  • ギターやキーボード作成用の段ボール、アルミホイル、スティックのり、はさみ

ステップ2: プログラムする

1from microbit import *
2import music
3F = 349
4A = 440
5C = 523
6E = 659
7
8while True:
9    if pin1.is_touched():
10        music.pitch(int(F), 500)
11        music.pitch(int(A), 500)
12        music.pitch(int(C), 500)
13    if pin2.is_touched():
14        music.pitch(int(A), 500)
15        music.pitch(int(C), 500)
16        music.pitch(int(E), 500)
17    if button_a.was_pressed():
18        F = F / 2
19        A = A / 2
20        C = C / 2
21        E = E / 2
22    if button_b.was_pressed():
23        F = F * 2
24        A = A * 2
25        C = C * 2
26        E = E * 2
27        

ステップ3: 改善する

  • ギター型の段ボール切り抜きを作り、micro:bitに取り付ければ、立って演奏ができます。
  • オクターブを上げすぎ下げすぎたりするとプログラムは動作を停止します。そして、非常に低い周波数や高い周波数の音は聞こえません。
    こうならないようにプログラムを変更します。
  • micro:bitを傾け方によってテンポを上げたり下げたりします。