Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 8 lis 2024, o 23:19


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 22 ] 
Autor Wiadomość
PostNapisane: 22 lut 2013, o 21:42 
Offline
Użytkownik

Dołączył(a): 27 mar 2012
Posty: 511
Lokalizacja: Sląsk
Pomógł: 14

Witam
Zafascynowało mnie generowanie muzyki przez AVR. Dlatego chciałem pójść o krok dalej i sam tworzyć muzykę.
Znalazłem taką stronę na której jest podane jaka ma być częstotliwość aby było słychać odpowiednia nutę:
http://obrazki.elektroda.net/58_1256150128.gif
Postanowiłem to zrealizować na PWM programowym na timerze2.
Oto co naskrobałem:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Jednak efekt jest całkowicie inny niż zakładałem.
Po podłączeniu głośnika poprzez wzmacniacz do uC. To z głośnika wydobywa się dźwięk ale to takie jakby pierdzenie.
Możliwe że coś źle zrozumiałem w tym generowaniu dźwięku dlatego proszę o pomoc.
I czy to się podobnie generuje jak muzykę że dajemy próbki na PWM a innym timerem częstotliwość samplowania? Czy jak??
Ja zrobiłem program na podstawie informacji z internetu że wysyłamy sygnał prostokątny z częstotliwością odpowiadającą nucie.
Proszę o pomoc

_________________
Programowanie to styl życia :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2013, o 22:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

spróbuj tak :)

Kwarc 16Mhz
M32 głośnik na PB3

tak na szybko :)


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



a tu plik z naszym dźwiękiem ....

piszczek.h

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2013, o 22:18 
Offline
Użytkownik

Dołączył(a): 27 mar 2012
Posty: 511
Lokalizacja: Sląsk
Pomógł: 14

Dzięki działa. Fajna nutka :)
Czyli w tej tablicy sine są tam częstotliwości nut?
Wystarczy że tam wpisze częstotliwość nuty i to będzie ten dźwięk? Czy tak?
Już zabieram się za sprawdzanie. :D

_________________
Programowanie to styl życia :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2013, o 22:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

miłej zabawy ci życzę :)
dokładnie tak jak myślisz każda wartość to częstotliwość dźwięku odpowiadająca mniej więcej nutkom:)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2013, o 22:50 
Offline
Użytkownik

Dołączył(a): 27 mar 2012
Posty: 511
Lokalizacja: Sląsk
Pomógł: 14

Mam taki kłopot z tym w pliku piszczek.h w tej tablicy wpisałem pod rząd od początku z 50razy liczbę 110 ale dźwięk się nic nie zmienił. To działa inaczej niż myślałem, nie wiem jak :(

------------------------ [ Dodano po: 39 minutach ]

I mam takie pytanie:
Próbuje przeanalizować ten kod programu jak on ma działać. Czyli wyrzucając te niepotrzebne pętle for, to wystarczy że do rejestru wpiszę odpowiednią częstotliwość nuty jaka chcę zagrać i to będzie to? Czy dobrze to zrozumiałem?
Proszę o pomoc :)

_________________
Programowanie to styl życia :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2013, o 15:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

powyższy kod bardzie pasuje do generowania dźwięków syren i takich tam piszczyków
ale zawsze mam asa w rękawie :)

generowanie dźwięków nawet polifonicznych nie stanowi duzego kłopotu na avr
sam kiedyś popełniłem na medze emulator słynnego SIDA

spróbujmy tak :

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


tak na szybko z pamieci kod powinien działac , ale nie sprawdzałem :)

------------------------ [ Dodano po: 37 minutach ]

Macie wersję dla M32 8Mhz

kompilowane pod Eclipse Hatsune Toolchain ATMEL 3.4.xxx

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



A tu ładnie słychać ....

https://www.dropbox.com/s/lnq997wi9ljn2zh/SS102996.AVI

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lut 2013, o 14:16 
Offline
Użytkownik

Dołączył(a): 27 mar 2012
Posty: 511
Lokalizacja: Sląsk
Pomógł: 14

Działa fajnie.
A mam pytanie jakim programem przerobić inną melodyjkę na częstotliwość i długość trwania? Abym mógł to wpisać?

_________________
Programowanie to styl życia :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lut 2013, o 15:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

ja nie przerabiam melodyjek .... po prostu znam częstotliwości nut - przyzwyczajenie z C64 i Amigi


a tu masz tabelkę :

Obrazek

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 kwi 2013, o 19:05 
Offline
Użytkownik

Dołączył(a): 02 lut 2013
Posty: 75
Pomógł: 0

SunRiver staram się zrozumieć kod i mam kilka pytań:
1. Dlaczego przepełnienie co 32150 Hz ?
2. Po co dzielone jest INT_PER_SEC przez częstotliwości z tabelki (np. INT_PER_SEC/F_A_4) ?

Piszesz, że napisałeś emuacje SID'a. Rozumie, że także na PWM ? Czy zaimplementowałeś 2 kanały ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 kwi 2013, o 19:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

1. dlatego by uzyskać zblizoną do multitimbralu ciągłość dźwięku
2. dokładnie 3 kanały użyłem , ale nie ważne bo oryginalny sid brzmi dużo lepiej
niemniej jednak niebawem przedstawię nowszy kod .


co słychać tu np :

https://www.dropbox.com/s/0norwwrajwdyflz/CAM00028.mp4

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 kwi 2013, o 09:01 
Offline
Użytkownik

Dołączył(a): 02 lut 2013
Posty: 75
Pomógł: 0

Pobrałem, usłyszałem i widziałem :)
Tak na marginesie neta mam z komóry z transferem download max. 6,5 KB/s :)
Faktycznie z tego co pamiętam, na tyle ile pozwala moja pamięć muzyka (ostatni raz słyszałem około 1993 roku) do gierek na Commodore 64 brzmiała lepiej. Pewnie na byle jakim przetworniku cyfrowo-analogowym brzmiała by lepiej niż na PWM.
Zastanawiam się w jaki sposób można nagrywać dźwięk z wyjścia AVR'a bezpośrednio do karty muzycznej komputera, pewnie należałoby zastosować filtr który nie pozwoli przekroczyć jakiegoś tam napięcia ?
BTW. SID'a w C64 też programowałeś ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 kwi 2013, o 09:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

nio oczywiście i to z poziomu atmegi nawet obsługę robiłem :)
niebawem również zaprezentuję projekcik na forum prostego syntezatora opartego na kilku SIDACH

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 kwi 2013, o 12:36 
Offline
Użytkownik

Dołączył(a): 14 maja 2012
Posty: 518
Pomógł: 6

SunRiver napisał(a):
powyższy kod bardzie pasuje do generowania dźwięków syren i takich tam piszczyków

a sprezentowałbyś jakieś gotowce tych syren i piszczków?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 kwi 2013, o 12:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

wireless napisał(a):
a sprezentowałbyś jakieś gotowce tych syren i piszczków?


masz działające kody w tym temacie , pierwszy udaje syrenę jakąś , a drugi gra melodyjkę Axela F.

miłego używania:)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 kwi 2013, o 14:33 
Offline
Użytkownik

Dołączył(a): 14 maja 2012
Posty: 518
Pomógł: 6

wireless napisał(a):
masz działające kody w tym temacie , pierwszy udaje syrenę jakąś , a drugi gra melodyjkę Axela F.

a jak to przerobić na 8MHz wewnętrzny?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 kwi 2013, o 15:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

A który kod i na jaką megę ??
bo na m32 to żaden problem wystarczy zmienić ustawienia kwarcu i to wszystko
a potem dobrać opóźnienia

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 kwi 2013, o 15:04 
Offline
Użytkownik

Dołączył(a): 14 maja 2012
Posty: 518
Pomógł: 6

SunRiver napisał(a):
spróbuj tak :)

Kwarc 16Mhz
M32 głośnik na PB3


ten pierwszy, chciałbym bez zewnętrznego na 8Mhz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 kwi 2013, o 15:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

skompiluj na 8mhz i tyle :)
jak będzie za wolno piszczał dopasuj opóźnienia ... w main i to wszystko

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 kwi 2013, o 16:37 
Offline
Użytkownik

Dołączył(a): 14 maja 2012
Posty: 518
Pomógł: 6

zmieniłem buzzer, coś zaczyna wychodzić, dzięki



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 kwi 2013, o 16:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

spoko niema sprawy :)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2013, o 13:28 
Offline
Użytkownik

Dołączył(a): 02 lut 2013
Posty: 75
Pomógł: 0

Panowie z powodu mojego słabe łącza, proszę o linki z zapisem nutowym najlepiej A, C, D...
Dodatkowo jeżeli ktoś ma dobry opis formatu MIDI.
Z góry dziękuję.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2013, o 16:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 cze 2012
Posty: 414
Lokalizacja: Oborniki
Pomógł: 5

Polecam do tego celu program guitar pro. Otworzysz midi i bez problemu rozszyfrujesz nuty:)

Wysłane z mojego GT-I9500 za pomocą Tapatalk 4

_________________
Pozdrawiam:
Mikołaj



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 22 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO