| Menu | JAQForum Ver 19.10.27 |
Forum Index : Microcontroller and PC projects : read out carolling christmas bells
I'm a little frustrated at the moment. :-( I haven't been able to get the microphone to work under f***ing Win10. It's enabled in the security settings, but it just doesn't work... The internal microphone works on another small Win10 notebook, but it doesn't have an external microphone connection and the internal microphone is useless... Unfortunately, I don't know anything about musical notation. I recorded the highest and lowest bells again with a different recorder, but I think it's just as useless: REC000.zip I think I'll try Volhout's suggestion next and try to generate the frequencies of Jim with the Picomite and try to figure out the bell tones that way. @phil99: Actually, I'm reluctant to continue soldering on the glockenspiel. It's still working at the moment, and it would be nice if it stayed that way. Once I've found replacements for the sound elements, I'll try them out with different timings. Frank |
||||||
Hi Frank, that's a real shame. I can't even play the program under Windows 7: WAV File: rec024.wav Audio Format: 17 Channels: 1 Sample Rate: 8000Hz Bits Per Sample: 4 Data Bytes: 28672 Unsupported audio format (not PCM integer): 17 4 Bits per Sample? And even Pico fails with this format. Cooledit 200 also crashes when trying to load the file. Doesn't anyone around you have a smartphone? And just two tones wouldn't help us anyway. Kind regards Michael PS: I could relatively easily write a universal bell tone program, but I don't know when I'll get around. It's really just about the UI. |
||||||
Unfortunately they contain very few frequencies above the noise level, and none of them match the previous recordings. The signal level is just too low. Does your recording software have any way to increase the gain? If not try other software. REC020.WAV has just one usable peak at 2694Hz REC024.WAV has just two usable peaks at 3262Hz and 1065Hz . Edited 2025-11-16 07:34 by phil99 |
||||||
So, I played around with the frequencies of TassyJim and used the online tone generator from here: https://www.szynalski.com/tone-generator/ When I struck the bells manually, I could hear resonance at these frequencies: F7 2793,83 D#7 2489,02 C7 2093 B6 1975,53 A#6 1864,66 A6 1760 G6 1567,98 F#6 1479,98 F6 1396,91 E6 1318,51 D#6 1244,51 C6 1046,50 I believe that with these frequencies we are not very far from the actual bells. I'll try that out with my player now. Frank |
||||||
@Frank: Did you ring the bells at the same time? I found the frequencies (File: REC024.wav) 1056 Hz (C6) and 3193 Hz (G7). I don't know if that will help. ![]() EDIT: I saw Phil's post. Did you save each tone in a separate file? I only tried the larger one (rec024), assuming it would have a better chance of being high quality. Edited 2025-11-16 07:53 by twofingers |
||||||
Ran through REC024.WAV again and got peaks at 3194Hz and 1065Hz |
||||||
REC020.WAV is 2695 Hz I found both recordings much cleaner than the last ones. Similar recording of the other bells will help Jim |
||||||
1065 x 3 = 3195 so 3194Hz is just a harmonic and can be ignored. So the highest bell is 2695 and the lowest is 1065. So the notes are E7 and C6 as E7/C6 = 2695/1065. . Edited 2025-11-16 08:19 by phil99 |
||||||
I agree with you, but have you considered downloading Glocke01.zip? https://www.thebackshed.com/forum/ViewTopic.php?TID=18406&P=3#246806 They were generated with the PicoMite and then recorded with a smartphone. The tones match your table quite well. WAV file written: B:#gong1.wav Duration: 3 s Frequency: 1045 Hz Sample rate: 16000 Hz SAMPLES: 48000 SPN FREQ C6 1046.50 C#6 1108.73 D6 1174.66 D#6 1244.51 E6 1318.51 F6 1396.91 F#6 1479.98 G6 1567.98 G#6 1661.22 A6 1760.00 A#6 1864.65 B6 1975.53 C7 2093.00 C#7 2217.46 D7 2349.32 D#7 2489.02 E7 2637.02 F7 2793.83 This thread is already very confusing. ![]() Edited 2025-11-16 09:43 by twofingers |
||||||
Using the low (1065Hz) and high (2695Hz) bells from the last recordings the complete scales are:- > low.bell=1065 : high.bell=1069.5115 'starting value for high.bell to reach 2695Hz So the 12 bells don't cover the full 17 notes in the range and are not exactly tuned so as Jim said it would be better to get recordings of the remainder.> > for n=0 to 16:?low.bell,high.bell :low.bell=low.bell* 2^(1/12):high.bell=high.bell* 2^(1/12):next 1065 1069.5115 C6 1060 <--from Jim's 1058 <--REC004.WAV revised 1128.328195 1133.107963 earlier list 1195.422081 1200.486069 D6 1200 1212 1266.505577 1271.870685 1341.815918 1347.500052 E6 1350 1341 1421.604445 1427.626575 F6 1400 1407 1506.137444 1512.517668 F#6 1500 1480 1595.697037 1602.456649 G6 1600 1599 1690.58212 1697.74368 1791.109364 1798.696773 A7 1800 1803 1897.61427 1905.652849 A#7 1900 1898 2010.452286 2018.968864 B7 2020 1995 <--This bell is down in the 2130 2139.023 C7 2130 2127 noise so not accurate 2256.656391 2266.215926 in REC02.WAV = 2007Hz 2390.844163 2400.972138 D7 2400 2377 2533.011155 2543.741371 2683.631836 2695.000104 E7 2750 2678 > I have redone REC004.WAV and added the revised values to the list above. Edited 2025-11-16 14:35 by phil99 |
||||||
No, one bell after another. Yes, but there are more notes in your table than I have bells... Here, I rang the bells by hand with a clapper. I have now entered the frequencies I mentioned above into my program. It sounds better, but it's still not quite right. I have attached the program here. The path for the .dat file needs to be adjusted. play03.bas.zip I have to agree with you there! I really need to find a way to record the bells better. I'll try out your 12 frequencies. Thank you! Frank Edited 2025-11-17 05:07 by Frank N. Furter |
||||||
The more I read about bells, the more I realise that bell ringing is a dark art. Bells don't bear any resemblance to 'normal' tones. Jim |
||||||
Hi Frank To make it easier to try different sets of tones here is a condensed version of your program. 'Frank's chime tester program Option EXPLICIT Print "PLAY MUSIC" Open "music.dat" For Input As #1 Dim integer BellNote, Zaehler, FreqZaehler Dim integer Freq(4), track, note ' Add new tone sets here. Un-comment the one you wish to try 'Dim integer tone(11)=(2695,2401,2139,2019,1906,1799,1602,1513,1428,1348,1200,1070) Dim integer tone(11)=(2684,2391,2130,2010,1898,1791,1596,1506,1422,1342,1195,1065) 'Dim integer tone(11)=(2750,2400,2130,2020,1900,1800,1600,1500,1400,1350,1200,1060) 'Dim integer tone(11)=(2678,2377,2127,2007,1898,1803,1599,1480,1407,1341,1212,1058) Dim float BellTime Dim scale$(11)=("E7","D7","C7","B7","A#7","A7","G6","F#6","F6","E6","D6","C6") Do Input #1, BellTime, BellNote 'get the data If BellTime > 2000 Then Inc track Print "BellTime: ";BellTime;" Bellnote: ";Bellnote, "Track: ";track Pause BellTime FreqZaehler=1 For note=0 To 11 If (BellNote >> note) And 1 Then Freq(FreqZaehler) = tone(note) Print scale$(note) Inc FreqZaehler EndIf Next If BellNote = 0 Then Play STOP Else For Zaehler = 1 To (FreqZaehler-1) Print "Freqzaehler: ";Zaehler;" Freq: ";Freq(Zaehler) Play SOUND Zaehler,B,S,Freq(Zaehler) Next Zaehler EndIf Loop Until Eof(#1) Close #1 Print "Ende" End Edited 2025-11-17 15:04 by phil99 |
||||||
There's bells and bells, Jim. :) Playing a recognizable tune on bells is nothing like change ringing, which has its own rules entirely, based on how long it takes a bell to swing at it's pendulum frequency rather than the frequency of its note... |
||||||
| The Back Shed's forum code is written, and hosted, in Australia. |