LoginSignup
23
12

🐸PowerShellのビープ音で「カエルの歌」を奏でる🐸

Last updated at Posted at 2023-12-31

概要

PowerShellのBeep音で音階を指定することができます。
それを利用し「カエルの歌」をBeep音で奏でるプログラムを作成します。

(本当に2023年最後の記事がネタ記事で良いのだろうか...

環境

  • Windows: 10
  • Powershellバージョン
$ PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.19041.3803
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.3803
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

プログラム

下記プログラムが「カエルの歌」となります

kaerunouta.ps1
$Rhythm = 1000

[Console]::Beep(262, $Rhythm/4) #ド
[Console]::Beep(294, $Rhythm/4) #レ
[Console]::Beep(330, $Rhythm/4) #ミ
[Console]::Beep(349, $Rhythm/4) #ファ
[Console]::Beep(330, $Rhythm/4) #ミ
[Console]::Beep(294, $Rhythm/4) #レ
[Console]::Beep(262, $Rhythm/4) #ド

Start-Sleep -Milliseconds ($Rhythm/4)

[Console]::Beep(330, $Rhythm/4) #ミ
[Console]::Beep(349, $Rhythm/4) #ファ
[Console]::Beep(392, $Rhythm/4) #ソ
[Console]::Beep(440, $Rhythm/4) #ラ
[Console]::Beep(392, $Rhythm/4) #ソ
[Console]::Beep(349, $Rhythm/4) #ファ
[Console]::Beep(330, $Rhythm/4) #ミ
Start-Sleep -Milliseconds ($Rhythm/4)

[Console]::Beep(262, $Rhythm/4) #ド
Start-Sleep -Milliseconds ($Rhythm/4)
[Console]::Beep(262, $Rhythm/4) #ド
Start-Sleep -Milliseconds ($Rhythm/4)
[Console]::Beep(262, $Rhythm/4) #ド
Start-Sleep -Milliseconds ($Rhythm/4)
[Console]::Beep(262, $Rhythm/4) #ド

Start-Sleep -Milliseconds ($Rhythm/4)

[Console]::Beep(262, $Rhythm/8) #ド
[Console]::Beep(262, $Rhythm/8) #ド
[Console]::Beep(294, $Rhythm/8) #レ
[Console]::Beep(294, $Rhythm/8) #レ
[Console]::Beep(330, $Rhythm/8) #ミ
[Console]::Beep(330, $Rhythm/8) #ミ
[Console]::Beep(349, $Rhythm/8) #ファ
[Console]::Beep(349, $Rhythm/8) #ファ
[Console]::Beep(330, $Rhythm/4) #ミ
[Console]::Beep(294, $Rhythm/4) #レ
[Console]::Beep(262, $Rhythm/4) #ド
Start-Sleep -Milliseconds ($Rhythm/4)

プログラム説明

音楽はあんまり詳しくないので、表現や説明が間違っていたらご指摘ください。

テンポ

$Rhythmを値を変更すると、音楽のスピードを変更することができます。

$Rhythm = 1000

音符

Beep()でBeep音を鳴らすことができます。
第1引数は、音階です。#や♭も数値を調整すればできます。
第2引数は、音の長さです。$Rhythm/4は4分音符を表しています。$Rhythm/8は8分音符になります。

[Console]::Beep(262, $Rhythm/4) #ド

休符

Start-Sleepを使って音のなっていない時間を表現しています。
$Rhythm/4は四分休符です。

Start-Sleep -Milliseconds ($Rhythm/4)

実行方法

其壱) ファイルを作成し、右クリックから、「PowerShellで実行」を選択

image.png

其弐) 実行ポリシーの変更が出たらYまたはAを入力しEnter

image.png

これでカエルの歌が聞こえてきます。(2回目以降は、其弐の手順が不要となります)

おわりに

年を跨ぐときにカエルのようにジャンプはしませんが、今年は頑張ったので、おいしい料理を食べたいと思います。

2024年もよろしくお願いいたします!

ここまで読んでいただきありがとうございました!

23
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
12