-
Mar 18th, 2023, 11:06 AM
#1
Thread Starter
Hyperactive Member
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.
-
Mar 23rd, 2023, 10:06 AM
#2
Thread Starter
Hyperactive Member
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)
-
Mar 23rd, 2023, 10:49 AM
#3
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
ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσεν·
-
Mar 23rd, 2023, 11:18 AM
#4
Thread Starter
Hyperactive Member
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...)
-
Mar 23rd, 2023, 12:18 PM
#5
Re: How to Console.Beep like Microsoft does
ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσεν·
-
Mar 25th, 2023, 08:33 AM
#6
Thread Starter
Hyperactive Member
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
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|