# Définir les fréquences des notes pour chaque octave $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.DuréeNote] # Vérifier si la durée de la note est valide if ($dureeNote -gt 0) { # Jouer la note [console]::beep($frequenceNote, $dureeNote) } # 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 } } 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 } } }