Я попытался сделать этот плеер на ATMega32A, используя внутренний кварц на 8МГц. Переделывал проект для ATTiny85. Такое впечатление что напутал с таймером или 8МГц мало для производительности. Семплирование - 12КГц. Вот код инициализации таймера:
Код:
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 125,000 kHz // Mode: CTC top=OCR1A // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: On // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x0B; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x0A; //125000/0X0A=12500 Hz OCR1BH=0x00; OCR1BL=0x00;
И если я правильно понял - массив нот от частоты семплирования не зависит ? В чём может быть дело ? Слишком медленно играет, причём при изменении делителя таймера (OCR1AL) ничего не меняется.
8MHz - мало для производительности. Если Attiny85 24Mhz тянет 4 канала Sine+Envelope на 16KHz, то на 8Mhz это будет 5500Гц, что очень мало. Нужно или увеличивать тактовую частоту, или уменьшать количество каналов.
Самый красивый и близкий к оригиналу - Waveform1 в моём случае, пусть хоть и 4 канала. Он много требует производительсти ? И ещё, т.е. с таймером правильно ?
Получилось точно запустить без ощутимых искажений на ATMega32 на 16MHz 2 канала Sine+Envelope при 12500 дискретизации. При этом пришлось таймер сделать 62500/4 что на удивление не равно 12500. При 62500/5 тупил, может особенность кварца или что-то ещё.
Блин, уже наверное часа три сижу, музычку конверчу и слушаю с пьезопищалки. На дворе 7 утра. Охренительная штука, по моему именно она должна была выиграть конкурс в свое время.
На будущее есть мысли к тесле в качестве прерывателя её поцепить, получить что-то такое в итоге:
Если завтра... Сегодня выйдет, то засниму видео и сюда кину.
_________________ I'm on a huge rock, flying through space!
Последний раз редактировалось AlekseyEnergo Вт сен 16, 2014 09:56:23, всего редактировалось 1 раз.
Сообшение от 20-го, а сегодня 22-е (причём утро) и всё уже "продлено" и прекрасно работает? Или это такой спам изощрённый (когда типа "один" спрашивает, "другой" отвечает)?
_________________ ICQ нет, и, в ближайшее время, не будет.
Сообшение от 20-го, а сегодня 22-е (причём утро) и всё уже "продлено" и прекрасно работает? Или это такой спам изощрённый (когда типа "один" спрашивает, "другой" отвечает)?
Нет, это не спам ) Дня 3 сайт был недоступен. Проверял раз в час. Ну а с 21 числа, в связи с переездом остался без интернета)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения