Facebook
From f, 2 Weeks ago, written in Plain Text.
This paste is a reply to zr from r - view diff
Embed
Download Paste or View Raw
Hits: 122
  1. # Fonction pour calculer la fréquence d'une note en fonction de l'octave et de la valeur de la note
  2. function Get-FrequenceNote {
  3.     param (
  4.         [int]$octave,
  5.         [string]$valeurNote
  6.     )
  7.  
  8.     $tableauNotes = @{
  9.         'do' = 261.63
  10.         're' = 293.66
  11.         'mi' = 329.63
  12.         'fa' = 349.23
  13.         'sol' = 392.00
  14.         'la' = 440.00
  15.         'si' = 493.88
  16.         'do_diese' = 554.37
  17.         're_diese' = 587.33
  18.         'fa_diese' = 369.99
  19.         'sol_diese' = 415.30
  20.         'la_diese' = 466.16
  21.     }
  22.  
  23.     # Calcul de la fréquence en fonction de l'octave et de la valeur de la note
  24.     $frequence = $tableauNotes[$valeurNote] * [Math]::Pow(2, $octave - 1)
  25.     return $frequence
  26. }
  27.  
  28. # Charger le contenu du fichier CSV
  29. $notes = Import-Csv -Path "chemin/vers/le/fichier.csv" -Delimiter ';'
  30.  
  31. # Parcourir chaque ligne du fichier CSV
  32. foreach ($ligne in $notes) {
  33.     # Calculer la fréquence de la note
  34.     $frequence = Get-FrequenceNote -octave $ligne.Octave -valeurNote $ligne.Note
  35.  
  36.     # Afficher la note et jouer le son
  37.     Write-Host "Note: $($ligne.Note) - Octave: $($ligne.Octave) - Durée: $($ligne.Durée) ms"
  38.     [console]::beep($frequence, $ligne.Durée)
  39. }
  40.