Looking for pleasant sounding chime or 'bell tone'

KMoffett

Joined Dec 19, 2007
2,918
Hey Ken...just re-read yur post. Indeed the amplitude does change as the capacitor discharges through the piezo devices, but the frequency stays the same. Been so busy building the rest of the circuit and contestant boxes that I haven't had time to spend on the 'bell tone'. Not only do I have to build this to be customer proof, but also stagehand proof... will send pictures of the final product.
Like when you strike a bell...the pitch (frequency) stays constant and the loudness decays. If this is going to be in a large venue...auditorium?...you may find that the Sonalert approach is not loud enough...unlike when it's sitting on your workbench.
Connectors will be a big issue in making the system...bullet proof? ;)

Keep us posted as you go.

Ken
 

Audioguru

Joined Dec 20, 2007
11,248
The doorbell in my home was made by Edwards in the US about 30 years ago. It was the electrical kind with solenoids that strike metal bars that vibrate. It wasn't very loud and its tone was more like clank-clank instead of ding-dong.

I replaced it with a cheaper Chinese one that uses acoustical resonating chambers that make the tones much louder and much smoother.

I guess Edwards didn't look at a pro xylophone and instead looked at a toy one.
 

Attachments

Thread Starter

lespaul

Joined Jan 30, 2008
49
Well, absolutely...and as Ken mentioned above, sonalerts are not loud enough if the venue/program is for 2000 attendees. Versatility is the key here and a signal/tone that can be sent via balanced audio to an input on an audio console would allow flexibility in the long run. Given the time, which I do not have....never have...I would control an Instant Replay serially and be done. Something to dream about....sigh!
 

CDRIVE

Joined Jul 1, 2008
2,219
Now, somewhere down the road...WAY down the road, I can use the serial input on the Instant Replay and trigger different sounds based on the button push from the contestant boxes. All that requires a micro' and programming I/O, etc.... and our sales guys never give me enough time for this kind of stuff. :mad:
If you have two .wav files that you can load on a PC I can write you a small serial program to play each one by pressing one of two push button switches. This would not require a uC to send serial data to the port.
 

Thread Starter

lespaul

Joined Jan 30, 2008
49
CDRIVE, if you want to offer up some code for knowledge sharing purposes, I am always a willing participant. I do have a few .wav files I can utilize for this project and many others. Playback of audio cues and stingers is common in what I do.
 

CDRIVE

Joined Jul 1, 2008
2,219
CDRIVE, if you want to offer up some code for knowledge sharing purposes, I am always a willing participant. I do have a few .wav files I can utilize for this project and many others. Playback of audio cues and stingers is common in what I do.
Here it is but unless you have a copy of VB6 you won't be able to do anything with it. Also, there are properties that are set in the properties window in VB, which you can't see here. If you zip up your two .wav files and post it I will hard code the file names into my project, convert it to an exe, zip it and post it as an attachment. The two buttons in the attached image are used with a loopback tester and are used for testing only.

Rich (BB code):
' http://forum.allaboutcircuits.com/newreply.php?do=postreply&t=50360
' Created by CDRIVE 4 March 2011
Option Explicit
Private Const SND_APPLICATION = &H80         '  look for application specific association
Private Const SND_ALIAS = &H10000     '  name is a WIN.INI [sounds] entry
Private Const SND_ALIAS_ID = &H110000    '  name is a WIN.INI [sounds] entry identifier
Private Const SND_ASYNC = &H1         '  play asynchronously
Private Const SND_FILENAME = &H20000     '  name is a file name
Private Const SND_LOOP = &H8         '  loop the sound until next sndPlaySound
Private Const SND_MEMORY = &H4         '  lpszSoundName points to a memory file
Private Const SND_NODEFAULT = &H2         '  silence not default, if sound not found
Private Const SND_NOSTOP = &H10        '  don't stop any currently playing sound
Private Const SND_NOWAIT = &H2000      '  don't wait if the driver is busy
Private Const SND_PURGE = &H40               '  purge non-static events for task
Private Const SND_RESOURCE = &H40004     '  name is a resource name or atom
Private Const SND_SYNC = &H0         '  play synchronously (default)
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Dim strWavName1 As String
Dim strWavName2 As String
Private Sub Form_Load()
   Dim i As Integer
      For i = 1 To 16
         LstPort.AddItem i
      Next i
   strWavName1 = "Tada.wav"            ' change file name to match your .wav file
   strWavName2 = "Ringout.wav"         ' change file name to match your .wav file
   LstPort.ListIndex = 0
End Sub
Private Sub CmdDTR_Click()
   MSComm1.DTREnable = True
   MSComm1.DTREnable = False
End Sub
Private Sub CmdRTS_Click()
   MSComm1.RTSEnable = True
   MSComm1.RTSEnable = False
End Sub
Private Sub LstPort_Click()
   Dim intLstIndex As Integer
   On Error GoTo ErTrap
   intLstIndex = LstPort.ListIndex + 1
   If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
   MSComm1.CommPort = intLstIndex
   LblPortNum.Caption = "Port Sected = COM" & MSComm1.CommPort
   If MSComm1.PortOpen = False Then MSComm1.PortOpen = True
   Exit Sub
ErTrap:
   If Err.Number = 8002 Then
      MsgBox "COM" & intLstIndex & " is an 'Invalid Port'"
   ElseIf Err.Number = 8005 Then
      MsgBox "COM" & intLstIndex & " is being used by another program"
   Else
      MsgBox "An unknown error has occurred"
   End If
End Sub
Private Sub MSComm1_OnComm()
   If MSComm1.CommEvent = comEvCTS Then
      PlaySound App.Path & "\" & strWavName1, ByVal 0&, SND_FILENAME Or SND_ASYNC
   End If
   If MSComm1.CommEvent = comEvDSR Then
      PlaySound App.Path & "\" & strWavName2, ByVal 0&, SND_FILENAME Or SND_ASYNC
   End If
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
   If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
End Sub
 

Attachments

Thread Starter

lespaul

Joined Jan 30, 2008
49
Yeah, I just created them with a midi keyboard and simple bell synth application. One is a 'correct' answer ding and the other a 'wrong' answer blat.
 

CDRIVE

Joined Jul 1, 2008
2,219
The code I gave you is not going to play MP3 files. It handles .wav files (as is) and I don't have the time to re-write it to accept MP3s. It would be a completely different code structure with an embedded MMControl or references to it. If I find the time I'll do it but perhaps your friend would like to take a crack at it.

I will post the circuit needed to interface the serial port shortly.
 

CDRIVE

Joined Jul 1, 2008
2,219
While working up the remote button circuit for the serial port I realized that including some De-Bounce code would be a good idea. Though it will eliminate any bounce from the button circuit I didn't include it for that. I added it to prevent the user from accidentally hitting the buttons more than once. A timer control was added to the VB project that will disable either button for 1 second after it was pressed. Your friend can easily change the interval if you wish.

Rich (BB code):
' http://forum.allaboutcircuits.com/newreply.php?do=postreply&t=50360
' Created by CDRIVE 3 March 2011
Option Explicit
Private Const SND_APPLICATION = &H80         '  look for application specific association
Private Const SND_ALIAS = &H10000     '  name is a WIN.INI [sounds] entry
Private Const SND_ALIAS_ID = &H110000    '  name is a WIN.INI [sounds] entry identifier
Private Const SND_ASYNC = &H1         '  play asynchronously
Private Const SND_FILENAME = &H20000     '  name is a file name
Private Const SND_LOOP = &H8         '  loop the sound until next sndPlaySound
Private Const SND_MEMORY = &H4         '  lpszSoundName points to a memory file
Private Const SND_NODEFAULT = &H2         '  silence not default, if sound not found
Private Const SND_NOSTOP = &H10        '  don't stop any currently playing sound
Private Const SND_NOWAIT = &H2000      '  don't wait if the driver is busy
Private Const SND_PURGE = &H40               '  purge non-static events for task
Private Const SND_RESOURCE = &H40004     '  name is a resource name or atom
Private Const SND_SYNC = &H0         '  play synchronously (default)
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Dim strWavName1 As String
Dim strWavName2 As String
Dim blnDeBounce As Boolean
Private Sub Form_Load()
   Dim i As Integer
   TmrDeBounce.Enabled = False
   TmrDeBounce.Interval = 1000
      For i = 1 To 16
         LstPort.AddItem i
      Next i
   strWavName1 = "Tada.wav"            ' change file name to match your .wav file
   strWavName2 = "Ringout.wav"         ' change file name to match your .wav file
   LstPort.ListIndex = 0
End Sub
Private Sub CmdDTR_Click()
   MSComm1.DTREnable = True
   MSComm1.DTREnable = False
End Sub
Private Sub CmdRTS_Click()
   MSComm1.RTSEnable = True
   MSComm1.RTSEnable = False
End Sub
Private Sub LstPort_Click()
   Dim intLstIndex As Integer
   On Error GoTo ErTrap
   intLstIndex = LstPort.ListIndex + 1
   If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
   MSComm1.CommPort = intLstIndex
   LblPortNum.Caption = "Port Sected = COM" & MSComm1.CommPort
   If MSComm1.PortOpen = False Then MSComm1.PortOpen = True
   Exit Sub
ErTrap:
   If Err.Number = 8002 Then
      MsgBox "COM" & intLstIndex & " is an 'Invalid Port'"
   ElseIf Err.Number = 8005 Then
      MsgBox "COM" & intLstIndex & " is being used by another program"
   Else
      MsgBox "An unknown error has occurred"
   End If
End Sub
Private Sub MSComm1_OnComm()
   If MSComm1.CommEvent = comEvCTS Then
      If blnDeBounce = True Then Exit Sub
      blnDeBounce = True
      PlaySound App.Path & "\" & strWavName1, ByVal 0&, SND_FILENAME Or SND_ASYNC
      TmrDeBounce.Enabled = True
   End If
   If MSComm1.CommEvent = comEvDSR Then
      If blnDeBounce = True Then Exit Sub
      blnDeBounce = True
      PlaySound App.Path & "\" & strWavName2, ByVal 0&, SND_FILENAME Or SND_ASYNC
      TmrDeBounce.Enabled = True
   End If
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
   If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
End Sub
Private Sub TmrDeBounce_Timer()
   blnDeBounce = False
   TmrDeBounce.Enabled = False
End Sub
 

CDRIVE

Joined Jul 1, 2008
2,219
Here's a button circuit for the serial port that uses miniature 12VDC SPDT relays and is powered by a split voltage Line V supply. If I find time I'll work up a CMOS OpAmp circuit that can be used with two 9V batteries.
 

Attachments

rogs

Joined Aug 28, 2009
279
I've used the attached circuit for a number of years in situations where it is important that a call tone sounds 'sweet' - notably in nursing homes or hospitals, especially at night!!
Produces a pretty pure decaying sine wave.

Shown with an LM386 power amp, but as it's an audio output, any amp will do, if you need more volume.

SA571 has two voltage controlled gain cells, and two opamps -as well as two full wave rectifiers!
Slighty odd configuration this, compared to it's normal function as an audio compander, but works well!!

Just an idea....

http://homepage.ntlworld.com/roger.shore/chime.mp3
 

Attachments

Last edited:

CDRIVE

Joined Jul 1, 2008
2,219
Here's an OpAmp version of a trigger circuit for the serial port program. I used a common 741 because there's nothing demanding needed here. The outputs swing from +8V to -8V.
 

Attachments

Thread Starter

lespaul

Joined Jan 30, 2008
49
Hey rogs...where ya been??? no worries though and thanx for the diagram. Also thanx to CDRIVE for your code on accessing audio files via serial interface. I have plans for that further on up the road.

Well, I did finish this project got it installed and the client (hp) was very happy. The game show was part of a global webcast and everyone had a great time. I have attached a link that shows the final build: a remote switch box, relay/control box and podiums, etc.
Thanx one and all for your insight and support. This what this site is all about..../LP

http://www.stagingsolutions.net/published/WG/show.php?q=NTEwODU4VEVTVA==-94743a76
 

wand106

Joined Mar 18, 2012
1
I've used the attached circuit for a number of years in situations where it is important that a call tone sounds 'sweet' - notably in nursing homes or hospitals, especially at night!!
Produces a pretty pure decaying sine wave.
Slightly off topic, but interesting story, when I left school I worked for a Comms company in Dorset, UK making nursecall systems amongst other things and one of the circuits I was impressed by was a gong / chime circuit using a NE571; produced a lovely chime. I asked the guy who designed it, minded if I copied it for my use. I copied it down but lost it.
While googling for the same thing, hoping that someone else might have put a schematic online, guess where it leads me, to here and the same engineer I worked with nearly 20years ago has posted it online.

The majority of my analogue electronics experience, was from that company, and from Roger, and although I don't directly work in that area I still do a lot in my own time, fault finding kit down to component level and knocking up circuits for various things, so thanks Roger! Feel free to PM me if you want to get back in touch, and thanks again for the NE571 gong / chime circuit!

Wayne
 

Audioguru

Joined Dec 20, 2007
11,248
When RadioShack was still in Canada, their stores all had a horrible sounding BLAST-BUZZ sound when somebody entered. It was trying to make a "ding-dong" but it made squarewaves without decaying.
 
Top