At line:32 char:9
+
$frequences = @{
'do' = @( 261.63, 523.25, 1046.50 );
're' = @( 293.66, 587.33, 1174.66 );
'mi' = @( 329.63, 659.26, 1318.51 );
'fa' = @( 349.23, 698.46, 1396.91 );
'sol' = @( 392.00, 783.99, 1567.98 );
'la' = @( 440.00, 880.00, 1760.00 );
'si' = @( 493.88, 987.77, 1975.53 );
}
# Définir les durées des notes
$durees = @{
'E' = 250;
'D' = 500;
'Q' = 1000;
'H' = 2000;
'S' = 4000;
}
# Importer le fichier CSV
$enchainement = Import-Csv -Path "enchainement.csv"
# Parcourir chaque ligne du fichier CSV
foreach ($ligne in $enchainement) {
# Vérifier si la ligne est une note ou une pause
if ($ligne.Type -eq 'Note') {
# Calculer la fréquence de la note
$frequenceNote = $frequences[$ligne.ValeurNote][$ligne.Octave - 1]
# Calculer la durée de la note en millisecondes
$dureeNote = $durees[$ligne.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : NullArrayIndex
Exception calling "Beep" with "2" argument(s): "Positive number required.
Parameter name: duration
Actual value was 0."
At line:35 char:9
+
# Vérifier si la durée de la note est valide
if ($dureeNote -gt 0) {
# Jouer la note
[console]::beep($frequenceNote,
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ArgumentOutOfRangeException
Start-Sleep : Cannot validate argument on parameter 'Milliseconds'. The argument is null, empty, or an element of
the argument collection contains a null value. Supply a collection that does not contain any null values and then
try the command again.
At line:39 char:39
+
}
# Vérifier si la durée de la pause est valide
if ($ligne.DuréePause -gt 0) {
# Faire une pause
Start-Sleep -Milliseconds $ligne.DuréePause
+ CategoryInfo : InvalidData: (:) [Start-Sleep], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.StartSleepCommand
} elseif ($ligne.Type -eq 'Pause') {
# Vérifier si la durée de la pause est valide
if ($ligne.DuréePause -gt 0) {
# Faire une pause
Start-Sleep -Milliseconds $ligne.DuréePause
}
}
}