Facebook
From dsd, 4 Weeks ago, written in Plain Text.
This paste is a reply to Re: sd from rrt - go back
Embed
Viewing differences between Re: sd and Re: Re: sd
# Définir les fréquences des notes pour chaque octave
$frequences 
$csvoct1 @{
    'do'  
Import-Csv "./oct1.csv" -Delimiter ';'
$csvoct2 
@( 261.63, 523.25, 1046.50 );
    're'  
Import-Csv "./oct2.csv" -Delimiter ';'
$csvduree 
@( 293.66, 587.33, 1174.66 );
    'mi'  
Import-Csv "./duree.csv" -Delimiter ';'
$sheet 
@( 329.63, 659.26, 1318.51 );
    'fa'  
Import-Csv "./sheet.csv" -Delimiter ';'

$oct1 
@( 349.23, 698.46, 1396.91 );
    'sol' 
@{}
foreach ($row in $csvoct1) {
    $key 
@( 392.00, 783.99, 1567.98 );
    'la'  
$row.note
    $value 
@( 440.00, 880.00, 1760.00 );
    'si'  
$row.frequence
    $oct1[$key] 
@( 493.88, 987.77, 1975.53 );
$value
}

# Définir les durées des notes
$durees 
$oct2 @{
    'E' 
@{}
foreach ($row in $csvoct2) {
    $key 
250;
    'D' 
$row.note
    $value 
500;
    'Q' 
$row.frequence
    $oct2[$key] 
1000;
    'H' = 2000;
    'S' = 4000;
$value
}

# Importer le fichier CSV
$enchainement 
$duree Import-Csv -Path "enchainement.csv"

# Parcourir chaque ligne du fichier CSV
@{}
foreach ($ligne ($row in $enchainement) $csvduree) {
    # Vérifier si la ligne est une note ou une pause
    if ($ligne.Type -eq 'Note') 
$key = $row.DureeNote
    $value = $row.Valeur
    $duree[$key] = $value
}

foreach ($row in $sheet){
    switch ($row.Octave) 
{
        # Calculer la fréquence de la note
        $frequenceNote 
"1" { $oct $frequences[$ligne.ValeurNote][$ligne.Octave - 1]

        # Calculer 
$oct1 }
        "2" { $oct = $oct2 }
        default { $oct = "pause" }
    }
    switch ($row.Note) {
        "pause" { $note = "pause" }
        default { $note = [int]$oct[$row.Note] }
    }
    switch ($row.Duree) {
        "pause" { $length = $row.Duree }
        default { $length = $duree[$row.Duree] }
    }
    switch ($note) {
        "pause" { start-sleep -m $length*1000 }
        Default {
            Write-Host  "La note est $note et 
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
        
$length"
            [System.Console]::beep($note, $length) 
}
    }
}

Replies to Re: Re: sd rss

Title Name Language When
Re: Re: Re: sd dsq text 4 Weeks ago.