Программирование BASCOM
Меню сайта
Категории каталога
Мои файлы [51]
Наш опрос
Оцените мой сайт
Всего ответов: 1292
Главная » Файлы » Мои файлы

Музыка в BASCOM_AVR - В.Н.Рубашка
[ ] 12.12.2008, 08:56
Эта программа позволяет использовать в ваших самоделках различные музыкальные фрагменты. Более 100 заложены в программу. Описание нот, их частот, пауз и длительностей. Раскладка нот на клавишах.
Категория: Мои файлы | Добавил: bascom
Просмотров: 8268 | Загрузок: 1789 | Комментарии: 7
Всего комментариев: 6
4 FreshMan  
1
я енмного о другом хотел вас спросить  smile
я пишу на Си под GCC компилятор, но это не столь важно потому как алгоритм почти одинаковый
смотрите, мы имеем массив где зашифрована наша мелодия, массив содержит нота-длительность-нота-длительность- и т.д. 
допутим мне надо воспроизвести ноту До, зная ее частоту мне несложно вычислить сколько надо тиков таймера Т1, работаю с ATmega8a, чтобы воспроизвести данную ноту
но как быть с длительностью ноты ?
к чему мне ее привязатть ?
вот допустим 1/4 или 1/8 это надо понимать как четвертая или восьмая часть секунды ?
растолкуйте, пожалуйста  smile

5 bascom  
1
Длительность целой ноты - 4 секунды.
Соответственно 1/4 - одна секунда, 1/8 - 0,5 сек.

6 FreshMan  
1
спасибо, понял, буду пробовать  smile

3 FreshMan  
1
подскажите пожалуйста, почему для длительности ноты 1/1 вы взяли 2с ?
Цитата
'===============================================================================
' Условные обозначения записи мелодий, совместимые с телефонами "Siemens C35"
'===============================================================================
' *****          НОТЫ           *****
'
' A       - ля
' Ais(#)  - ля диез
' H       - си
' С       - до
' Сis(#)  - до диез
' D       - ре
' Dis(#)  - ре диез
' E       - ми
' F       - фа
' Fis(#)  - фа диез
' G       - соль
' Gis(#)  - соль диез
'
' *****    ДЛИТЕЛЬНОСТЬ НОТ     *****
'
' (1/1)   - 2 сек (целая)
' (1/2)   - 1 сек (половинная)
' (1/4)   - 0,5 сек (четвертная)
' (1/8)   - 0,25 сек (восьмая)
' (1/16)  - 0,125 сек (шестнадцатая)
' (1/32)  - 0,0625 сек (тридцатьвторая)
'
' *****         ОКТАВЫ          *****
'
' 1       - 1 октава
' 2       - 2 октава
' 3       - 3 октава
'
' *****          ПАУЗЫ          *****
'
' P(1/1)   - 2 сек (целая)               - Wait 2
' P(1/2)   - 1 сек (половинная)          - Wait 1
' P(1/4)   - 0,5 сек (четвертная)        - Waitms 500
' P(1/8)   - 0,25 сек (восьмая)          - Waitms 250
' P(1/16)  - 0,125 сек (шестнадцатая)    - Waitms125
' P(1/32)  - 0,0625 сек (тридцатьвторая) - Waitms 63
'
'===============================================================================
' ФОРМАТ ФУНКЦИИ "SOUND"
'===============================================================================
' SOUND Speaker , Pulses, Periods
' Speaker - порт для генерации звука
' Periods - частота звука (1-65535)
' Pulses  - длительность звука (1-65535)
'
' Periods =Abc[F_crystal / (k * F_nota)]
' Pulses  = Abc[(T_period * F_crystal) / (k * Periods)]
'
' F_crystal - тактовая частота контроллера, Гц
' F_nota    - частота выбранной ноты, Гц
' k = 12    - количество тактов, за которые формируется один период звука
' T_period  - длительность звучания ноты, сек
' Abc       - функция округления до целого числа
'
'===============================================================================
' Таблица значений Pulses и Periods для 1-3 октав при частоте кварца 8000000 Гц
'===============================================================================
'Nota|Freqvency|Periods|Pulses1/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    |
' H1 |  493,88 | 1350 |    988   |   494   |    247  |   124    |    62    |

2 bascom  
1
Я автор, пишите сюда.

1 FreshMan  
1
подскажите почтовый ящик автора, пожалуйста

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 6
Гостей: 6
Пользователей: 0
Copyright Radan Studio © 2024