micro:bit電子音樂

播放音階

let 音階 = [262, 294, 330, 349, 392, 440, 494,

523, 587, 659, 698, 784, 880, 988,

1046, 1175, 1318, 1397, 1568, 1760, 1976]

basic.forever(function () {

})

for(let i = 0; i < 21; i++) {

music.playTone(音階[i], music.beat())

}

播放20-20000Hz的聲音

basic.forever(function () {

for(let i = 20; i < 20000; i++) {

music.playTone(i, 10);

}

})

播放逼逼聲

basic.forever(function () {

music.playTone(900, 200)

music.rest(music.beat(BeatFraction.Whole))

basic.pause(300)

})

滑音

由高音至低音

let s = 2000;

let v = 0;


basic.forever(function () {

while(s >50 ){

music.playTone(s, 10);

s = s - v;

v = v + 5;

}

})

由低音至高音

let s = 2000;

let v = 0;


basic.forever(function () {

while(s >50 ){

music.playTone(3500-s, 10);

s = s - v;

v = v + 5;

}

})

以上兩個程式的 「v = v +5」,你可以把5改成其他數字,聽聽看不同效果

用三角函數做音樂,試試看改變sin成為tan會怎樣。

basic.forever(function () {

for (let a = 0 ; a < 100 ; a++ ){

let freq = 1000+ 300*Math.sin(a);

music.playTone(freq, 30)

}

})

救護車或警車的聲音

let spd = 15;

basic.forever(function () {

for (let a = 420 ; a < 1300 ; a += spd ){

music.playTone(a, 20)

}

for (let a = 1300 ; a > 500 ; a -= spd ){

music.playTone(a, 20)

}

})

隨機產生亂數聲音

basic.forever(function () {

let freq = randint(100, 2000)

music.playTone(freq, 50)

})