Mocno zoptymalizowany projekt syntezatora dźwięków oparty o ATmega328 taktowany zegarem 16MHz. Autor zastanawiał się, co uda się uzyskać przy pomocy Arduino Uno i kilku rezystorów - ostatecznie 8-bitowy symulator gitary przekształcił się w zaawansowany syntezator dysponujący sześcioma bankami dźwięków. Otwartoźródłowy projekt został napisany w czystym C, w pętli głównej procesor wykonuje 512 cykli zapewniając obsługę sześciu niezależnych 8-bitowych banków brzmień oraz produkcję sygnału wyjściowego.
Utwory można odtwarzać z danych zapisanych do pamięci programu (flash) lub załadować do pamięci RAM i odtworzyć z użyciem syntezatora.
Poniżej architektura rozwiązania:
Wyjściowy sygnał w audio generowany jest z wykorzystaniem PWM oraz filtra RC;
sumowanie sygnałów zostało zrealizowane analogowo z wykorzystaniem rezystorów.
Zależności czasowe:
Rygorystyczne cykle czasowe sterowane są z wykorzystaniem układu licznikowego mikrokontrolera.
Schemat syntezatora:
Kompletny projekt autor zamieścił spakowany w jednym pliku dostępnym na stronie syntezatora.
Brzmienie którego syntezatora podoba Wam się bardziej, FM czy wavetable?
Źródło:
http://www.erix.it/play-v6/
Fajne? Ranking DIY