# Importer les données depuis le fichier CSV $csvData = Import-Csv -Path "./donnees.csv" -Delimiter ';' # Créer des dictionnaires pour les données des octaves et des durées $octaves = @{ '1' = @{} '2' = @{} } $durees = @{} # Remplir les dictionnaires avec les données du fichier CSV foreach ($row in $csvData) { if ($row.Octave -eq '1') { $octaves['1'][$row.Note] = [int]$row.Frequence } elseif ($row.Octave -eq '2') { $octaves['2'][$row.Note] = [int]$row.Frequence } else { $durees[$row.DureeNote] = [int]$row.Duree } } # Parcourir les données pour jouer les notes ou les pauses foreach ($row in $csvData) { # Déterminer l'octave $octaveData = $octaves[$row.Octave] # Déterminer la note ou la pause if ($row.Note -eq 'pause') { $note = 'pause' } else { $note = $octaveData[$row.Note] } # Déterminer la durée $duree = $durees[$row.DureeNote] # Jouer la note ou la pause switch ($note) { 'pause' { Start-Sleep -Milliseconds $duree } default { Write-Host "La note est $note et la durée est $duree" [System.Console]::Beep($note, $duree) } } }