Results 1 to 6 of 6

Thread: How to Console.Beep like Microsoft does

  1. #1

    Thread Starter
    Hyperactive Member pourkascheff's Avatar
    Join Date
    Apr 2020
    Location
    LocalHost
    Posts
    354

    How to Console.Beep like Microsoft does

    We already know that Console.Beep(Frequency, Duration) is the way to do that.

    A) I want to use mainboard piezoelectric buzzer (sounds more intense and alert) and in this case if your device does not have any built-in sound card, audio will not feed through in its stereo out. Comes out to buzzer instead. I ONLY want to use it directy.

    B) I want to perform a sort of meaningful sounds (like removable devices insert/eject high-low and low-high pitch sequences or multiple shift pressing) but when we execute
    Code:
    Console.Beep(1800, 50)
    Console.Beep(2200, 50)
    right after eachother, a mute (or a distinguishable pause) will be heard.

    1) Is it because external audio actuator?
    2) Does piezo follow the way I want?
    3) How othe application authors come up?
    4) What is the shortest delay (2nd part of argument)? I experimentally achieved between 20 to 30 ms as my shortest possible duration. their shortest (1 and 1 ms) only performs 2 ticks.

  2. #2

    Thread Starter
    Hyperactive Member pourkascheff's Avatar
    Join Date
    Apr 2020
    Location
    LocalHost
    Posts
    354

    Re: How to Console.Beep like Microsoft does

    https://www.vbforums.com/showthread....System-Speaker
    Would be the nearest unresolved thread. It was started back in 2005 so I suppose eighter Microsoft do not want us to know how is going on OR it is happening in a low-level based thing that is a nightmare to us. (All hypothetically)

  3. #3
    King of sapila
    Join Date
    Oct 2006
    Location
    Greece
    Posts
    6,597

    Re: How to Console.Beep like Microsoft does

    Hi Puka.
    Using Console.beep here are the frequencies for notes:
    https://learn.microsoft.com/en-us/do...p?view=net-7.0

    I have a class can't recall from where that the notes are in decimal so I'm not sure how well will they apply in int32 but here goes:

    Code:
    Imports System
    
    Namespace Note_Frequencies
        Public Class note
            Public ReadOnly C0 As Decimal
    
            Public ReadOnly D0 As Decimal
    
            Public ReadOnly E0 As Decimal
    
            Public ReadOnly F0 As Decimal
    
            Public ReadOnly G0 As Decimal
    
            Public ReadOnly A0 As Decimal
    
            Public ReadOnly B0 As Decimal
    
            Public ReadOnly C1 As Decimal
    
            Public ReadOnly D1 As Decimal
    
            Public ReadOnly E1 As Decimal
    
            Public ReadOnly F1 As Decimal
    
            Public ReadOnly G1 As Decimal
    
            Public ReadOnly A1 As Decimal
    
            Public ReadOnly B1 As Decimal
    
            Public ReadOnly C2 As Decimal
    
            Public ReadOnly D2 As Decimal
    
            Public ReadOnly E2 As Decimal
    
            Public ReadOnly F2 As Decimal
    
            Public ReadOnly G2 As Decimal
    
            Public ReadOnly A2 As Decimal
    
            Public ReadOnly B2 As Decimal
    
            Public ReadOnly C3 As Decimal
    
            Public ReadOnly D3 As Decimal
    
            Public ReadOnly E3 As Decimal
    
            Public ReadOnly F3 As Decimal
    
            Public ReadOnly G3 As Decimal
    
            Public ReadOnly A3 As Decimal
    
            Public ReadOnly B3 As Decimal
    
            Public ReadOnly C4 As Decimal
    
            Public ReadOnly D4 As Decimal
    
            Public ReadOnly E4 As Decimal
    
            Public ReadOnly F4 As Decimal
    
            Public ReadOnly G4 As Decimal
    
            Public ReadOnly A4 As Decimal
    
            Public ReadOnly B4 As Decimal
    
            Public ReadOnly C5 As Decimal
    
            Public ReadOnly D5 As Decimal
    
            Public ReadOnly E5 As Decimal
    
            Public ReadOnly F5 As Decimal
    
            Public ReadOnly G5 As Decimal
    
            Public ReadOnly A5 As Decimal
    
            Public ReadOnly B5 As Decimal
    
            Public ReadOnly C6 As Decimal
    
            Public ReadOnly D6 As Decimal
    
            Public ReadOnly E6 As Decimal
    
            Public ReadOnly F6 As Decimal
    
            Public ReadOnly G6 As Decimal
    
            Public ReadOnly A6 As Decimal
    
            Public ReadOnly B6 As Decimal
    
            Public ReadOnly C7 As Decimal
    
            Public ReadOnly D7 As Decimal
    
            Public ReadOnly E7 As Decimal
    
            Public ReadOnly F7 As Decimal
    
            Public ReadOnly G7 As Decimal
    
            Public ReadOnly A7 As Decimal
    
            Public ReadOnly B7 As Decimal
    
            Public ReadOnly C8 As Decimal
    
            Public ReadOnly D8 As Decimal
    
            Public ReadOnly C0Sharp As Decimal
    
            Public ReadOnly D0Sharp As Decimal
    
            Public ReadOnly F0Sharp As Decimal
    
            Public ReadOnly G0Sharp As Decimal
    
            Public ReadOnly A0Sharp As Decimal
    
            Public ReadOnly C1Sharp As Decimal
    
            Public ReadOnly D1Sharp As Decimal
    
            Public ReadOnly F1Sharp1 As Decimal
    
            Public ReadOnly G1Sharp As Decimal
    
            Public ReadOnly A1Sharp As Decimal
    
            Public ReadOnly C2Sharp As Decimal
    
            Public ReadOnly D2Sharp As Decimal
    
            Public ReadOnly F2Sharp As Decimal
    
            Public ReadOnly G2Sharp As Decimal
    
            Public ReadOnly A2Sharp As Decimal
    
            Public ReadOnly C3Sharp As Decimal
    
            Public ReadOnly D3Sharp As Decimal
    
            Public ReadOnly F3Sharp As Decimal
    
            Public ReadOnly G3Sharp As Decimal
    
            Public ReadOnly A3Sharp As Decimal
    
            Public ReadOnly C4Sharp As Decimal
    
            Public ReadOnly D4Sharp As Decimal
    
            Public ReadOnly F4Sharp As Decimal
    
            Public ReadOnly G4Sharp As Decimal
    
            Public ReadOnly A4Sharp As Decimal
    
            Public ReadOnly C5Sharp As Decimal
    
            Public ReadOnly D5Sharp As Decimal
    
            Public ReadOnly F5Sharp As Decimal
    
            Public ReadOnly G5Sharp As Decimal
    
            Public ReadOnly A5Sharp As Decimal
    
            Public ReadOnly C6Sharp As Decimal
    
            Public ReadOnly D6Sharp As Decimal
    
            Public ReadOnly F6Sharp As Decimal
    
            Public ReadOnly G6Sharp As Decimal
    
            Public ReadOnly A6Sharp As Decimal
    
            Public ReadOnly C7Sharp As Decimal
    
            Public ReadOnly D7Sharp As Decimal
    
            Public ReadOnly F7Sharp As Decimal
    
            Public ReadOnly G7Sharp As Decimal
    
            Public ReadOnly A7Sharp As Decimal
    
            Public ReadOnly C8Sharp As Decimal
    
            Public ReadOnly D8Sharp As Decimal
    
            Public ReadOnly D0Flat As Decimal
    
            Public ReadOnly E0Flat As Decimal
    
            Public ReadOnly G0Flat As Decimal
    
            Public ReadOnly A0Flat As Decimal
    
            Public ReadOnly B0Flat As Decimal
    
            Public ReadOnly D1Flat As Decimal
    
            Public ReadOnly E1Flat As Decimal
    
            Public ReadOnly G1Flat1 As Decimal
    
            Public ReadOnly A1Flat As Decimal
    
            Public ReadOnly B1Flat As Decimal
    
            Public ReadOnly D2Flat As Decimal
    
            Public ReadOnly E2Flat As Decimal
    
            Public ReadOnly G2Flat As Decimal
    
            Public ReadOnly A2Flat As Decimal
    
            Public ReadOnly B2Flat As Decimal
    
            Public ReadOnly D3Flat As Decimal
    
            Public ReadOnly E3Flat As Decimal
    
            Public ReadOnly G3Flat As Decimal
    
            Public ReadOnly A3Flat As Decimal
    
            Public ReadOnly B3Flat As Decimal
    
            Public ReadOnly D4Flat As Decimal
    
            Public ReadOnly E4Flat As Decimal
    
            Public ReadOnly G4Flat As Decimal
    
            Public ReadOnly A4Flat As Decimal
    
            Public ReadOnly B4Flat As Decimal
    
            Public ReadOnly D5Flat As Decimal
    
            Public ReadOnly E5Flat As Decimal
    
            Public ReadOnly G5Flat As Decimal
    
            Public ReadOnly A5Flat As Decimal
    
            Public ReadOnly B5Flat As Decimal
    
            Public ReadOnly D6Flat As Decimal
    
            Public ReadOnly E6Flat As Decimal
    
            Public ReadOnly G6Flat As Decimal
    
            Public ReadOnly A6Flat As Decimal
    
            Public ReadOnly B6Flat As Decimal
    
            Public ReadOnly D7Flat As Decimal
    
            Public ReadOnly E7Flat As Decimal
    
            Public ReadOnly G7Flat As Decimal
    
            Public ReadOnly A7Flat As Decimal
    
            Public ReadOnly B7Flat As Decimal
    
            Public ReadOnly D8Flat As Decimal
    
            Public ReadOnly E8Flat As Decimal
    
            Public Sub New()
                MyBase.New()
                Me.C0 = New Decimal(1635, 0, 0, False, 2)
                Me.D0 = New Decimal(1835, 0, 0, False, 2)
                Me.E0 = New Decimal(206, 0, 0, False, 1)
                Me.F0 = New Decimal(2183, 0, 0, False, 2)
                Me.G0 = New Decimal(245, 0, 0, False, 1)
                Me.A0 = New Decimal(275, 0, 0, False, 1)
                Me.B0 = New Decimal(3087, 0, 0, False, 2)
                Me.C1 = New Decimal(327, 0, 0, False, 1)
                Me.D1 = New Decimal(3671, 0, 0, False, 2)
                Me.E1 = New Decimal(412, 0, 0, False, 1)
                Me.F1 = New Decimal(4365, 0, 0, False, 2)
                Me.G1 = New Decimal(CLng(49))
                Me.A1 = New Decimal(CLng(55))
                Me.B1 = New Decimal(6174, 0, 0, False, 2)
                Me.C2 = New Decimal(6541, 0, 0, False, 2)
                Me.D2 = New Decimal(7342, 0, 0, False, 2)
                Me.E2 = New Decimal(8241, 0, 0, False, 2)
                Me.F2 = New Decimal(8731, 0, 0, False, 2)
                Me.G2 = New Decimal(CLng(98))
                Me.A2 = New Decimal(CLng(110))
                Me.B2 = New Decimal(12347, 0, 0, False, 2)
                Me.C3 = New Decimal(13081, 0, 0, False, 2)
                Me.D3 = New Decimal(14683, 0, 0, False, 2)
                Me.E3 = New Decimal(16481, 0, 0, False, 2)
                Me.F3 = New Decimal(17461, 0, 0, False, 2)
                Me.G3 = New Decimal(CLng(196))
                Me.A3 = New Decimal(CLng(220))
                Me.B3 = New Decimal(24694, 0, 0, False, 2)
                Me.C4 = New Decimal(26163, 0, 0, False, 2)
                Me.D4 = New Decimal(29366, 0, 0, False, 2)
                Me.E4 = New Decimal(32963, 0, 0, False, 2)
                Me.F4 = New Decimal(34923, 0, 0, False, 2)
                Me.G4 = New Decimal(CLng(392))
                Me.A4 = New Decimal(CLng(440))
                Me.B4 = New Decimal(49388, 0, 0, False, 2)
                Me.C5 = New Decimal(52325, 0, 0, False, 2)
                Me.D5 = New Decimal(58733, 0, 0, False, 2)
                Me.E5 = New Decimal(65926, 0, 0, False, 2)
                Me.F5 = New Decimal(69846, 0, 0, False, 2)
                Me.G5 = New Decimal(78399, 0, 0, False, 2)
                Me.A5 = New Decimal(CLng(880))
                Me.B5 = New Decimal(98777, 0, 0, False, 2)
                Me.C6 = New Decimal(10465, 0, 0, False, 1)
                Me.D6 = New Decimal(117466, 0, 0, False, 2)
                Me.E6 = New Decimal(131851, 0, 0, False, 2)
                Me.F6 = New Decimal(139691, 0, 0, False, 2)
                Me.G6 = New Decimal(156798, 0, 0, False, 2)
                Me.A6 = New Decimal(CLng(1760))
                Me.B6 = New Decimal(197553, 0, 0, False, 2)
                Me.C7 = New Decimal(CLng(2093))
                Me.D7 = New Decimal(234932, 0, 0, False, 2)
                Me.E7 = New Decimal(263702, 0, 0, False, 2)
                Me.F7 = New Decimal(279383, 0, 0, False, 2)
                Me.G7 = New Decimal(313596, 0, 0, False, 2)
                Me.A7 = New Decimal(CLng(3520))
                Me.B7 = New Decimal(395107, 0, 0, False, 2)
                Me.C8 = New Decimal(418601, 0, 0, False, 2)
                Me.D8 = New Decimal(469864, 0, 0, False, 2)
                Me.C0Sharp = New Decimal(1732, 0, 0, False, 2)
                Me.D0Sharp = New Decimal(1945, 0, 0, False, 2)
                Me.F0Sharp = New Decimal(2312, 0, 0, False, 2)
                Me.G0Sharp = New Decimal(2596, 0, 0, False, 2)
                Me.A0Sharp = New Decimal(2914, 0, 0, False, 2)
                Me.C1Sharp = New Decimal(3465, 0, 0, False, 2)
                Me.D1Sharp = New Decimal(3889, 0, 0, False, 2)
                Me.F1Sharp1 = New Decimal(4625, 0, 0, False, 2)
                Me.G1Sharp = New Decimal(5191, 0, 0, False, 2)
                Me.A1Sharp = New Decimal(5827, 0, 0, False, 2)
                Me.C2Sharp = New Decimal(693, 0, 0, False, 1)
                Me.D2Sharp = New Decimal(7778, 0, 0, False, 2)
                Me.F2Sharp = New Decimal(925, 0, 0, False, 1)
                Me.G2Sharp = New Decimal(10383, 0, 0, False, 2)
                Me.A2Sharp = New Decimal(11654, 0, 0, False, 2)
                Me.C3Sharp = New Decimal(13859, 0, 0, False, 2)
                Me.D3Sharp = New Decimal(15556, 0, 0, False, 2)
                Me.F3Sharp = New Decimal(CLng(185))
                Me.G3Sharp = New Decimal(20765, 0, 0, False, 2)
                Me.A3Sharp = New Decimal(23308, 0, 0, False, 2)
                Me.C4Sharp = New Decimal(27718, 0, 0, False, 2)
                Me.D4Sharp = New Decimal(31113, 0, 0, False, 2)
                Me.F4Sharp = New Decimal(36999, 0, 0, False, 2)
                Me.G4Sharp = New Decimal(4153, 0, 0, False, 1)
                Me.A4Sharp = New Decimal(46616, 0, 0, False, 2)
                Me.C5Sharp = New Decimal(55437, 0, 0, False, 2)
                Me.D5Sharp = New Decimal(62225, 0, 0, False, 2)
                Me.F5Sharp = New Decimal(73999, 0, 0, False, 2)
                Me.G5Sharp = New Decimal(83061, 0, 0, False, 2)
                Me.A5Sharp = New Decimal(93233, 0, 0, False, 2)
                Me.C6Sharp = New Decimal(110873, 0, 0, False, 2)
                Me.D6Sharp = New Decimal(124451, 0, 0, False, 2)
                Me.F6Sharp = New Decimal(147998, 0, 0, False, 2)
                Me.G6Sharp = New Decimal(166122, 0, 0, False, 2)
                Me.A6Sharp = New Decimal(186466, 0, 0, False, 2)
                Me.C7Sharp = New Decimal(221746, 0, 0, False, 2)
                Me.D7Sharp = New Decimal(248902, 0, 0, False, 2)
                Me.F7Sharp = New Decimal(295996, 0, 0, False, 2)
                Me.G7Sharp = New Decimal(332244, 0, 0, False, 2)
                Me.A7Sharp = New Decimal(372931, 0, 0, False, 2)
                Me.C8Sharp = New Decimal(443492, 0, 0, False, 2)
                Me.D8Sharp = New Decimal(497803, 0, 0, False, 2)
                Me.D0Flat = New Decimal(1732, 0, 0, False, 2)
                Me.E0Flat = New Decimal(1945, 0, 0, False, 2)
                Me.G0Flat = New Decimal(2312, 0, 0, False, 2)
                Me.A0Flat = New Decimal(2596, 0, 0, False, 2)
                Me.B0Flat = New Decimal(2914, 0, 0, False, 2)
                Me.D1Flat = New Decimal(3465, 0, 0, False, 2)
                Me.E1Flat = New Decimal(3889, 0, 0, False, 2)
                Me.G1Flat1 = New Decimal(4625, 0, 0, False, 2)
                Me.A1Flat = New Decimal(5191, 0, 0, False, 2)
                Me.B1Flat = New Decimal(5827, 0, 0, False, 2)
                Me.D2Flat = New Decimal(693, 0, 0, False, 1)
                Me.E2Flat = New Decimal(7778, 0, 0, False, 2)
                Me.G2Flat = New Decimal(925, 0, 0, False, 1)
                Me.A2Flat = New Decimal(10383, 0, 0, False, 2)
                Me.B2Flat = New Decimal(11654, 0, 0, False, 2)
                Me.D3Flat = New Decimal(13859, 0, 0, False, 2)
                Me.E3Flat = New Decimal(15556, 0, 0, False, 2)
                Me.G3Flat = New Decimal(CLng(185))
                Me.A3Flat = New Decimal(20765, 0, 0, False, 2)
                Me.B3Flat = New Decimal(23308, 0, 0, False, 2)
                Me.D4Flat = New Decimal(27718, 0, 0, False, 2)
                Me.E4Flat = New Decimal(31113, 0, 0, False, 2)
                Me.G4Flat = New Decimal(36999, 0, 0, False, 2)
                Me.A4Flat = New Decimal(4153, 0, 0, False, 1)
                Me.B4Flat = New Decimal(46616, 0, 0, False, 2)
                Me.D5Flat = New Decimal(55437, 0, 0, False, 2)
                Me.E5Flat = New Decimal(62225, 0, 0, False, 2)
                Me.G5Flat = New Decimal(73999, 0, 0, False, 2)
                Me.A5Flat = New Decimal(83061, 0, 0, False, 2)
                Me.B5Flat = New Decimal(93233, 0, 0, False, 2)
                Me.D6Flat = New Decimal(110873, 0, 0, False, 2)
                Me.E6Flat = New Decimal(124451, 0, 0, False, 2)
                Me.G6Flat = New Decimal(147998, 0, 0, False, 2)
                Me.A6Flat = New Decimal(166122, 0, 0, False, 2)
                Me.B6Flat = New Decimal(186466, 0, 0, False, 2)
                Me.D7Flat = New Decimal(221746, 0, 0, False, 2)
                Me.E7Flat = New Decimal(248902, 0, 0, False, 2)
                Me.G7Flat = New Decimal(295996, 0, 0, False, 2)
                Me.A7Flat = New Decimal(332244, 0, 0, False, 2)
                Me.B7Flat = New Decimal(372931, 0, 0, False, 2)
                Me.D8Flat = New Decimal(443492, 0, 0, False, 2)
                Me.E8Flat = New Decimal(497803, 0, 0, False, 2)
            End Sub
        End Class
    End Namespace
    Else write it in some form of C language
    From here:
    https://wiki.osdev.org/PC_Speaker
    ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
    πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσεν·

  4. #4

    Thread Starter
    Hyperactive Member pourkascheff's Avatar
    Join Date
    Apr 2020
    Location
    LocalHost
    Posts
    354

    Re: How to Console.Beep like Microsoft does

    wow, that was a huge amount of work for music enthusiasts but I'm afraid that not what I was looking for. Visited the links. Did you read numbered items on starting thread?
    You sincerely, Pourkascheff. (Not Puka, no idea why you people (specially greeks) call me this, here...)

  5. #5
    King of sapila
    Join Date
    Oct 2006
    Location
    Greece
    Posts
    6,597

    Re: How to Console.Beep like Microsoft does

    ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
    πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσεν·

  6. #6

    Thread Starter
    Hyperactive Member pourkascheff's Avatar
    Join Date
    Apr 2020
    Location
    LocalHost
    Posts
    354

    Re: How to Console.Beep like Microsoft does

    I will consider this as final answer. Thanks.
    I used to work with P.W. modulation for motors speed control and changing DC average values, not audio.

    It seems you are now able to generate different shapes of waveforms then. Even you can implement a sort of synthesizer. Going to try this and share the results.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width