Stránka 1 z 1
Zvuk v Bascomu
Napsal: 12 lis 2015, 15:20
od denny_ul
Poradí někdo jak funguje
dá se třeba sehnat tabulka kde by byly hodnoty
duration a
pulse odpovídající notám?
Něco jako nota
C1(1/16) = duration
111 a pulses
600
Nebo dá se to nějak vypočítat, když budu vědět, že nota
C1(1/16) má kmitočet 261Hz a délka je 125ms?
Napsal: 12 lis 2015, 16:10
od Neniu
Délku noty přeci určuje tempo skladby, nedá se říci, že by celá nota vždy zněla jednu sekundu a podobně.
Jinak tabulka frekvencí je na webu velmi snadno najitelná. Třebas tady je jedna hezká
http://www.kytara.net/struny/tabulka-no ... vych-delek
nebo i tady
http://www.vstfreezone.wz.cz/tabulka-noty.html a krásně třebas tu
https://cs.wikipedia.org/wiki/Tón
Jinak velmi zajímavá je třeba tato práce
http://www.utdallas.edu/~hynek/citing_p ... STREAM.pdf
Napsal: 12 lis 2015, 16:15
od Neniu
Jinak v nápovědě se píše cosi o tom, že SOUND není určený pro přesné zvuk, že je lépe použít TIMER.
Nápovědu ale asi znáš
http://avrhelp.mcselec.com/ nebo ne?
Napsal: 12 lis 2015, 17:10
od denny_ul
Jo nápovědu i tu tabulku kmitočtů znám, ale z nějakého programu jsem vytáhl toto
Kód: Vybrat vše
Sound Speaker , 124 , 675 'H2(1/16)
Sound Speaker , 110 , 758 'A2(1/16)
Sound Speaker , 248 , 675 'H2(1/8)
Waitms 125
to znamená, že třeba nota H2 tady má hodnotu pulses 675
ale podle těch tabulek to tak není
Napsal: 12 lis 2015, 20:51
od Neniu
Asi nezbude nic jiného, než to zkusit naprogramovat a pak změřit čítačem. On ten generovaný kmitočet je stejně závislý i na frekvenci procesoru. Osobně si myslím, že by bylo lepší si udělat vlastní podprogram pro generování přesné frekvence, máš pak plnou vládu nad tím, co to bude generovat.
Něco ve smyslu ideového návrhu:
Kód: Vybrat vše
do
Pind.2 = 0
waitus 500
Pind.2 = 1
waitus 500
loop
Napsal: 12 lis 2015, 21:27
od denny_ul
Myslíš to generovat přes timer, jak jsi psal?
S funkcí timer a counter zatím nejsem kamarád (zatím pořád je to pro mě španělská vesnice), snad se to časem zlepší, hold každý nějak začínal

Napsal: 12 lis 2015, 21:33
od Neniu
denny_ul píše:Myslíš to generovat přes timer,
Třeba, ono těch možností je více. Toto zrovna časovač ani přerušení nepoužívá. Bylo by potřeba doplnit řízení délky tónu. Ten příklad jen generuje na výstupu 1 kHz.
denny_ul píše:snad se to časem zlepší, hold každý nějak začínal
Nebeč, to se poddá a pak už bude jen dobře

Bascom je celkem názorný jazyk a většina věcí je pochopitelná. Já také pořád začínám, takže vím, o čem mluvím a jak je důležité si věci zkoušet skutečně naprogramovat do procesoru a nehrát si jen se simulátorem.
Napsal: 18 lis 2015, 01:03
od denny_ul
Pokud by někdo řešil něco podobného, tak jsem našel pěknou tabulku:
Kód: Vybrat vše
===============================================================================
Table of values Pulses,Periods for 3 octaves at frequency of quartz 8000000 Hz
===============================================================================
Note|Freqvency|Periods|Pulses 1/1|Pulses 1/2|Pulses 1/4|Pulses 1/8|Pulses 1/16|
===============================================================================
C1 | 261,63 | 2548 | 523 | 262 | 131 | 65 | 33 |
Cis1| 277,18 | 2405 | 554 | 277 | 139 | 69 | 35 |
D1 | 293,66 | 2270 | 587 | 294 | 147 | 73 | 37 |
Dis1| 311,13 | 2143 | 622 | 311 | 156 | 78 | 39 |
E1 | 329,63 | 2022 | 659 | 330 | 165 | 82 | 41 |
F1 | 349,23 | 1909 | 698 | 349 | 175 | 87 | 44 |
Fis1| 369,99 | 1802 | 740 | 370 | 185 | 92 | 46 |
G1 | 392,00 | 1701 | 784 | 392 | 196 | 98 | 49 |
Gis1| 415,30 | 1605 | 831 | 415 | 208 | 104 | 52 |
A1 | 440,00 | 1515 | 880 | 440 | 220 | 110 | 55 |
Ais1| 466,16 | 1430 | 932 | 466 | 233 | 117 | 58 |
B1 | 493,88 | 1350 | 988 | 494 | 247 | 124 | 62 |
===============================================================================
C2 | 523,25 | 1274 | 1047 | 523 | 262 | 131 | 65 |
Cis2| 554,36 | 1203 | 1109 | 554 | 277 | 139 | 69 |
D2 | 587,32 | 1135 | 1175 | 587 | 294 | 147 | 73 |
Dis2| 622,26 | 1071 | 1245 | 622 | 311 | 156 | 78 |
E2 | 659,26 | 1011 | 1319 | 659 | 330 | 165 | 82 |
F2 | 698,46 | 954 | 1397 | 698 | 349 | 175 | 87 |
Fis2| 739,98 | 901 | 1480 | 740 | 370 | 185 | 92 |
G2 | 784,00 | 850 | 1568 | 784 | 392 | 196 | 98 |
Gis2| 830,60 | 803 | 1661 | 831 | 415 | 208 | 104 |
A2 | 880,00 | 758 | 1720 | 880 | 440 | 220 | 110 |
Ais2| 932,32 | 715 | 1865 | 932 | 466 | 233 | 117 |
B2 | 987,75 | 675 | 1976 | 988 | 494 | 247 | 124 |
===============================================================================
C3 | 1046,50 | 637 | 2093 | 1047 | 523 | 262 | 131 |
Cis3| 1108,70 | 601 | 2218 | 1109 | 554 | 277 | 139 |
D3 | 1174,60 | 566 | 2350 | 1175 | 587 | 294 | 147 |
Dis3| 1244,50 | 536 | 2490 | 1245 | 622 | 311 | 156 |
E3 | 1318,50 | 483 | 2638 | 1319 | 659 | 330 | 165 |
F3 | 1396,90 | 477 | 2794 | 1397 | 698 | 349 | 175 |
Fis3| 1480,00 | 450 | 2960 | 1480 | 740 | 370 | 185 |
G3 | 1568,00 | 425 | 3136 | 1568 | 784 | 392 | 196 |
Gis3| 1661,20 | 401 | 3322 | 1661 | 831 | 415 | 208 |
A3 | 1720,00 | 388 | 3440 | 1720 | 880 | 440 | 220 |
Ais3| 1864,60 | 358 | 3730 | 1865 | 932 | 466 | 233 |
B3 | 1975,50 | 337 | 3952 | 1976 | 988 | 494 | 247 |
===============================================================================
Kód: Vybrat vše
=========================================================================
***** DURATION OF PAUSES *****
=========================================================================
P(1/1) | P(1/2) | P(1/4) | P(1/8) | P(1/16) | P(1/32) |
=========================================================================
Wait 2 | Wait 1 | Waitms 500 | Waitms 250 | Waitms 125 | Waitms 63 |