PowerShell/Scripts/play-jingle-bells.ps1
2022-02-10 08:57:52 +01:00

162 lines
6.5 KiB
PowerShell

<#
.SYNOPSIS
Plays Jingle Bells
.DESCRIPTION
This PowerShell script plays the Jingle Bells song.
.EXAMPLE
PS> ./play-jingle-bells
(listen and enjoy)
.NOTES
Author: Markus Fleschutz / License: CC0
.LINK
https://github.com/fleschutz/PowerShell
#>
$Notes = New-Object -TypeName psobject -Property @{
REST = 0
GbelowC = 196
A = 220
Asharp = 233
B = 247
C = 262
Csharp = 277
D = 294
Dsharp = 311
E = 330
F = 349
Fsharp = 370
G = 392
Gsharp = 415
AA = 440
AAsharp = 466
BB = 493
CC = 523
CCsharp = 554
DD = 587
DDsharp = 622
EE = 659
FF = 698
FFsharp = 740
GG = 784
GGsharp = 830
}
$Duration = New-Object -TypeName psobject -Property @{
WHOLE = 1600
HALF = 800
QUARTER = 400
EIGHTH = 200
SIXTEENTH = 100
}
[System.Console]::Beep($Notes.C, $Duration.EIGHTH )
[System.Console]::Beep($Notes.C, $Duration.EIGHTH )
[System.Console]::Beep($Notes.C, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.G, $Duration.QUARTER)
[System.Console]::Beep($Notes.F, $Duration.QUARTER)
[System.Console]::Beep($Notes.C, $Duration.HALF )
[System.Console]::Beep($Notes.C, $Duration.EIGHTH )
[System.Console]::Beep($Notes.C, $Duration.EIGHTH )
[System.Console]::Beep($Notes.C, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.G, $Duration.QUARTER)
[System.Console]::Beep($Notes.F, $Duration.QUARTER)
[System.Console]::Beep($Notes.D, $Duration.HALF )
Start-Sleep -m $Duration.EIGHTH
[System.Console]::Beep($Notes.D, $Duration.EIGHTH )
[System.Console]::Beep($Notes.E, $Duration.QUARTER)
[System.Console]::Beep($Notes.BB, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.G, $Duration.QUARTER)
[System.Console]::Beep($Notes.E, $Duration.HALF)
Start-Sleep -m $Duration.EIGHTH
[System.Console]::Beep($Notes.E, $Duration.EIGHTH)
[System.Console]::Beep($Notes.CC, $Duration.QUARTER)
[System.Console]::Beep($Notes.CC, $Duration.QUARTER)
[System.Console]::Beep($Notes.BB, $Duration.QUARTER)
[System.Console]::Beep($Notes.G, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.HALF)
[System.Console]::Beep($Notes.C, $Duration.EIGHTH )
[System.Console]::Beep($Notes.C, $Duration.EIGHTH )
[System.Console]::Beep($Notes.C, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.G, $Duration.QUARTER)
[System.Console]::Beep($Notes.F, $Duration.QUARTER)
[System.Console]::Beep($Notes.C, $Duration.HALF )
[System.Console]::Beep($Notes.C, $Duration.EIGHTH )
[System.Console]::Beep($Notes.C, $Duration.EIGHTH )
[System.Console]::Beep($Notes.C, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.G, $Duration.QUARTER)
[System.Console]::Beep($Notes.F, $Duration.QUARTER)
[System.Console]::Beep($Notes.D, $Duration.HALF )
Start-Sleep -m $Duration.QUARTER
[System.Console]::Beep($Notes.D, $Duration.EIGHTH )
[System.Console]::Beep($Notes.E, $Duration.QUARTER)
[System.Console]::Beep($Notes.BB, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.G, $Duration.QUARTER)
[System.Console]::Beep($Notes.CC, $Duration.QUARTER)
[System.Console]::Beep($Notes.CC, $Duration.QUARTER)
[System.Console]::Beep($Notes.CC, $Duration.QUARTER)
[System.Console]::Beep($Notes.CC, $Duration.EIGHTH)
[System.Console]::Beep($Notes.DD, $Duration.QUARTER)
[System.Console]::Beep($Notes.CC, $Duration.QUARTER)
[System.Console]::Beep($Notes.BB, $Duration.QUARTER)
[System.Console]::Beep($Notes.G, $Duration.QUARTER)
[System.Console]::Beep($Notes.F, $Duration.HALF)
[System.Console]::Beep($Notes.CC, $Duration.HALF)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.HALF)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.HALF)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.CC, $Duration.QUARTER)
[System.Console]::Beep($Notes.F, $Duration.QUARTER)
[System.Console]::Beep($Notes.G, $Duration.EIGHTH)
[System.Console]::Beep($Notes.AA, $Duration.HALF)
Start-Sleep -m $Duration.EIGHTH
[System.Console]::Beep($Notes.BB, $Duration.QUARTER)
[System.Console]::Beep($Notes.BB, $Duration.QUARTER)
[System.Console]::Beep($Notes.BB, $Duration.QUARTER)
[System.Console]::Beep($Notes.BB, $Duration.EIGHTH)
[System.Console]::Beep($Notes.BB, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.EIGHTH)
[System.Console]::Beep($Notes.AA, $Duration.EIGHTH)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.G, $Duration.QUARTER)
[System.Console]::Beep($Notes.G, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.G, $Duration.HALF)
[System.Console]::Beep($Notes.CC, $Duration.HALF)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.HALF)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.HALF)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.CC, $Duration.QUARTER)
[System.Console]::Beep($Notes.F, $Duration.QUARTER)
[System.Console]::Beep($Notes.G, $Duration.EIGHTH)
[System.Console]::Beep($Notes.AA, $Duration.HALF)
Start-Sleep -m $Duration.EIGHTH
[System.Console]::Beep($Notes.CC, $Duration.QUARTER)
[System.Console]::Beep($Notes.CC, $Duration.QUARTER)
[System.Console]::Beep($Notes.CC, $Duration.QUARTER)
[System.Console]::Beep($Notes.CC, $Duration.EIGHTH)
[System.Console]::Beep($Notes.CC, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.QUARTER)
[System.Console]::Beep($Notes.AA, $Duration.EIGHTH)
[System.Console]::Beep($Notes.AA, $Duration.EIGHTH)
[System.Console]::Beep($Notes.CC, $Duration.QUARTER)
[System.Console]::Beep($Notes.CC, $Duration.QUARTER)
[System.Console]::Beep($Notes.BB, $Duration.QUARTER)
[System.Console]::Beep($Notes.G, $Duration.QUARTER)
[System.Console]::Beep($Notes.F, $Duration.HALF)
exit 0 # success