salve a tutti,
sto cercando di creare un programmino che, premendo i tasti della tastiera emetta un bip di una determinata frequenza per ogno tasto: Es. Q = Do, W = Re, ecc.
Però mi si presenta un problema:
per emettere il bip sto usando

Declare Function Beep Lib "kernel32.dll" (ByVal dwFreq As Integer, ByVal dwDuration As Integer) As Boolean

e uso la durata di 100 ms in modo che tenedo premuto il tasto si ottengano molti bip di 100 ms che sembrano un suono unico. Il problema è che se tengo premuto il tasto si genera un bip seguito da una pausa e poi il bip continuato che avrei voluto che si sentisse.
ecco il codice che ho usato per i primi tre tasti do do# re:
codice:
    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        Dim tasto As String
        Dim dom As Double = 110
        Dim dis As Double
        Dim pot As Double
        tasto = Chr(e.KeyValue)
        Select Case tasto
            Case "Q"
                Beep(110, 100)
            Case "2"
                dis = 1
                pot = dis / 12
                Beep(Math.Pow(2, pot) * 110, 100)
            Case "W"
                dis = 2
                pot = dis / 12
                Beep(Math.Pow(2, pot) * 110, 100)
        End Select
    End Sub
e in un modulo
codice:
Module Module1
    Declare Function Beep Lib "kernel32.dll" (ByVal dwFreq As Integer, ByVal dwDuration As Integer) As Boolean
End Module

Ringrazio in anticipo per qualsiasi risposta.