Ostatni post z poprzedniej strony:
Będą. Zwłaszcza jeżeli "trzeba będzie się sporo nakręcić". Wyjdzie radziecka kuchenka gazowa ПоливоксSpokojnie daj o połowę mniejsze.
Moderator: fantomasz
Ostatni post z poprzedniej strony:
Będą. Zwłaszcza jeżeli "trzeba będzie się sporo nakręcić". Wyjdzie radziecka kuchenka gazowa ПоливоксLink: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Hmm, nie do końca łapię idee, ale przypomina mi trochę inną ideę, a mianowicie tą, która wprowadzona była w pierwszych syntezatorach cyfrowych w technice wavetable. Poszukaj w google cos nt. syntezatorów PPG, Waldorf i syntezy wavetable. W skrócie: w pamięci przechowywane były spróbkowane przebiegi akustyczne, ale zamykające się w jednym okresie przebiegu fali. W praktyce to było jeszcze prościej, bo faktycnzie była tylko jedna połówka a druga była generowana jako lustrzane odbicie próbek - to dlatego że kiedyś pamięć była droga . I to stanowiło "oscylator". Takich przebiegów w pamięci było dośc dużo, nie były to tylko piła, trójkąt i prostokąt, ale ciut bardziej złożone. Można było zrobić trick "wavetable scanning" polegający na tym, ze podczas pracy takiego "oscylatora" podmieniać mu bardzo szybko "zródło" przebiegów - skutkowało to bogatrzym harmonicznie brzmieniem, dość charakterystycznym dla tego typu syntezatorów - zoabasz 3:33 w tym filmiku https://www.youtube.com/watch?v=wc5orbnQHEw. Pytanie czy chcesz poeskperymentować i zrobić coś takiego w swoim syntezatorze?Ogólnie cała idea polega na sprytnym operowaniu sygnałem PCM. W pamięci ROM zapisane są próbki podstawowych przebiegów. Przez oscylator pojmuję fragment układu odpowiedzialny za wybór odpowiedniej próbki dla odpowiedniej częstotliwości. Próbki są wybierane z częstotliwością 44100Hz.
To zależy czy syntezator pracuje w trybie polifonicznym czy monofonicznym - w większości współczesnych można to przełącząć, np. w Virusach. W trybie mono każde naciśnięcie klawisza w momencie jak wybrzmiewa jeszcze poprzednia nuta będzie powodować ucięcie i zagranie nowej nuty. Jak w syntezatorach analogowych monofonicznych - VCO dostawał nową wartość napięcia (lub tą samą jeśli ten sam klawisz), dostosowywał oscylacje wg podanego napięcia a do generatora obwiedni szedł nowy trigger do uruchomienia obwiedni od nowa. W trybie polifonicznym to już zależy od modelu albo ustawień, ale generalnie powinny poprzednie dźwięki wybrzmiewać, o ile w krótkim czasie (tj. wybrzmiewania dźwięku) nie nacisnęliśmy klawiszy więcej razy niż wynosi polifonia - wówczas któryś będzie ucięty. Ale np. w syntezatorach Elektron Analog 4 polifonia ma kilka trybów, domyślnie jest tak, że każda nuta powoduje, że działać zaczyna kolejny oscylator "w kolejce" i tak w kółko, ale sa inne tryby, przydatne kiedy na raz gramy np. 2 różnymi barwami o 2-ch różnych obwiedniach. Wiem, to zagmatwane, polecam zajrzeć do manuala Analog 4: http://eu.elektron.se/wp-content/upload ... 21-web.pdf strona 19.Pytanie 2.
Ponownie kategoria polifonia . To jeden z tych szczegółów o których wspomniałem parę zdań wcześniej. Mam teraz pewien problem nad którym zastanawiam się od paru dni. Załóżmy sytuację, w której generator obwiedni jest ustawiony na dość długi czas wybrzmiewania - załóżmy 2 sekundy. Grający natomiast wciska ten sam klawisz co pół sekundy, w związku z czym dźwięk nie zdąży do końca wybrzmieć, nim przyjdzie żądanie jego ponownego zagrania. Jak to się w praktyce realizuje?
Standardowo w syntezatorach polifonicznych na filtr wchodzą wszystkie oscylatory - chyba, że mówimy o multitimbralu - ale o tym niżej. Najprostszy powód ku temu jest taki, że grając np. akord np. Cmaj7 chcemy pokręcić filtrem (albo zasterować nim przez LFO lub obwiednię) ale dla całego granego dźwięku. Rzecz ma się ciekawie kiedy np. kilka oscylatorów zagra w unisono, np po 2 na każdy dźwięk, wówczas akord ma 4 nuty ale oscylatorów gra 8, dźwięk jest "grubszy" (szczególnie w analogach, w PCM chyba nie aż tak "pogrubia") no i teraz taką miksturę wrzuci się na filtr . Miodzio .Pytanie 3.
W przypadku cyfrowej realizacji takiego układu fragment toru może wyglądać np. tak Oscylator → Filtr → Generator obwiedni (VCA) → Mieszacz sygnału → Modulator wyjściowy. Pytanie moje jest takie – czy filtracji muszę podawać każdy sygnał z oscylatora osobno, czy mogę poddać temu już zmiksowane / zsumowane sygnały?
Dlaczego nie uprościsz sobie życia i nie zrobisz wersji modułowej, do której można podłączyć zewnętrzną klawiaturę sterującą?Pytanie 4.
Skąd wytrzasnąć klawiaturę 4 lub 5-cio oktawową? Potrzebowałbym zestaw klawisze + podstawka + sterownik i jakąś dokumentację, żebym wiedział jak odczytać z niego dane.
W większości współczesnych syntezatorów realizuje się to tak, jak ongiś realizowało na analogowych syntezatorach modularnych, gdzie ogólna zasada to sterowanie parametrami modułów za pomocą napięcia. Czyli masz LFO, musisz zwykle móc regulować mu jego częstotliwość i amplitudę. Kiedy napięcie LFO podałeś jako napięcie sterujące VCF (filtr sterowany napięciem) to tak jakbyś kazał filtrowi zmieniać jego częstotliwość odcięcia wg tego co podaje LFO. Przy czym zakres tych zmian zależał od amplitudy drgań LFO i statycznej wartości częstotliwości odcięcia VCF.A powiedzcie mi Panowie - jak w praktyce działa wykorzystanie LFO? Uściślając - załóżmy, wykorzystuję LFO do zmiany częstotliwości granicznej (odcięcia) filtru dolnoprzepustowego.
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Planuję częstotliwość, nasycenie i przesunięcie względem środka, choć ostatni parametr muszę przemyśleć, po tym co napisał Dr Polaris .A ile planujesz regulacji tego LFO ? Nasycenie (Amount) i Częstotliwość (Rate) ?
Rzeczywiście – jest to żywcem technika wavetable . I nie ma podziału na połówki, bo współcześnie nie ma wielkich problemów z pamięcią, a taki stan rzeczy spowodowałby skurczenie zasobów układu, które są dość cenneprzypomina mi trochę inną ideę, a mianowicie tą, która wprowadzona była w pierwszych syntezatorach cyfrowych w technice wavetable.
Rzeczywiście – chciałbym zaimplementować więcej przebiegów (oczywiście po oddaniu pracy). Mam miejsce na około 200 przebiegów, choć chyba zainteresuję się dołożeniem dodatkowej pamięci. Sprawa wygląda tak, że zapisane przebiegi, to jedno, ale wypadałoby też stworzyć jakiś mechanizm generowania nowych przebiegów, a do tego przyda się dodatkowa pamięć.Takich przebiegów w pamięci było dość dużo, nie były to tylko piła, trójkąt i prostokąt, ale ciut bardziej złożone.
Filtrów jeszcze nie ruszyłem, w każdym razie planuję by na każdy oscylator przypadał jeden filtr. Gdybym miał jeden filtr na wszystko – nie mógłbym np. podłączyć generatora obwiedni, do tego filtra, bo powstałoby pytanie – obwiednię z którego dźwięku zastosować ? . A tak, architektura jest prosta:Standardowo w syntezatorach polifonicznych na filtr wchodzą wszystkie oscylatory
Na ten moment tak zaprojektowałem schemat elektryczny, by instrument był i modułowy i miał możliwość podpięcia klawiatury na stałe .Dlaczego nie uprościsz sobie życia i nie zrobisz wersji modułowej, do której można podłączyć zewnętrzną klawiaturę sterującą?
I tu się rodzi moje kolejne pytanie. W syntezie częstotliwościowej jeden oscylator moduluje częstotliwość drugiego, przez co powstają dodatkowe harmoniczne. Może wykorzystać jeden bank oscylatorów do modulowania innych parametrów? np. rezonansu, częstotliwości odcięcia, fazy między przebiegami? Ma to sens?Fajnie to brzmi na filtrach analogowych, kiedy podkręci się wartość resonance, czyli podbicie w okolicach częstotliwości odcięcia i da szybkie LFO
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Tak, z tym że szybkość zmieniania można było sterować LFO. Ciekawie się robiło, kiedy to LFO było szybkie .Jak przypuszczam wavetable scanning polegał na tym, że mniej więcej co sekundę zmieniany był typ przebiegu, a całą resztę „załatwiał” filtr? Efekt rzeczywiście jest ciekawy i wart zainteresowania
Czyli takie dość specyficzne legato, bo jeżeli dźwięk będzie już w fazie release i np. będzie to długi czas, to następny dźwięk będzie również na tym poziomie. Tak na czuja to chyba nie porządany efekt, często różnego rodzaju powolne ostinato na barwach typu pad grane są w ten sposób i grający raczej oczekuje, że będą wybrzmiewały ale każdy nowy pójdzie w obwiedni triggerowanej od nowa.Co do polifonii na ten moment założyłem taki system, że po zwolnieniu klawisza w odpowiednim rejestrze dalej zapisany jest dźwięk wybrzmiewany. Jeżeli klawisz zostanie naciśnięty jeszcze raz – dźwięk zostanie zagrany od aktualnego poziomu obwiedni.
Bardzo fajne rozwiązanie . Stosowane m.in. w MS20 ale i też Virus C (nie wiem jak inne modele, pewnie podobnie), gdzie dodatkowo można konfigurować przebieg sygnału, tj. czy flt1 i flt2 są szeregowo czy równolegle, jakiego są typu (nachylenie odcięcia) itp.I planuję by była sekcja filter 1 i filter 2, również niezależna. Czyli na upartego można by przy wciśnięciu jednego klawisza grać naraz przebieg piłokształtny z obwidenią ADBSSR i filtrem górnoprzepustowym, oraz przebieg trójkątny bez obwiedni lub z innymi ustawieniami i filtrem rezonansowym.
1. To każdy dźwięk (oscylator) ma mieć swoją obwiednię? IMHO mało praktyczne. Jak muzyk będzie ustawiał każdą z osobna i skąd będzie wiedział która gra kiedy ? Praktyczniejsze jest skierować zmixowane już oscylatory na obwiednię. Jeśli masz jakiś klawisz, pograj jakieś akordy na brzmieniach typu pad albo brass i wyobraź sobie, że teraz każdy dźwięk ma mieć swoją własną obwiednię. Do eksperymentów pewnie jest super (a jeśli dołoży się do tego syntezę FM, o której później piszesz, to już w ogóle fajny odjazd ), ale do normalnej gry polifonicznej już nie do końca - chyba, że chcemy stworzyć rozbudowane, wielowarstwowe brzmienie, tyle że wówczas problemem może tu być "usability", czyli czy muzyk w miarę łatwo połapie się jak to ustawiać. Taka Yamaha DX7 do dziś dla wielu stanowi zagadkę jeśli chodzi o budowanie brzmień samemu od zera co nie znaczy, że nic ciekawego nie da się na niej zrobić.Filtrów jeszcze nie ruszyłem, w każdym razie planuję by na każdy oscylator przypadał jeden filtr. Gdybym miał jeden filtr na wszystko – nie mógłbym np. podłączyć generatora obwiedni, do tego filtra, bo powstałoby pytanie – obwiednię z którego dźwięku zastosować ?
Kod: Zaznacz cały
DCO1 \ /----FLT1---\
: ----> (+)----->A------- | ------>(+)------>out
DCO16 / mix1 | \----FLT2---/ mix2
EGA-- |
|
EGF-------
Ciekawa koncepcja , bo rozszerzasz syntezę wavetable o np. FM i to tak, że obie na raz będą na jednym synthu (per grupa).W syntezie częstotliwościowej jeden oscylator moduluje częstotliwość drugiego, przez co powstają dodatkowe harmoniczne. Może wykorzystać jeden bank oscylatorów do modulowania innych parametrów? np. rezonansu, częstotliwości odcięcia, fazy między przebiegami? Ma to sens?
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Kod: Zaznacz cały
Grupa 1:
DCO1 ----> (+) ----->A-------(FDP1+FGP1)------
| |
EGA1----- EGF1--
DCO2 ----> (+) ----->A-------(FDP1+FGP1)------
| |
EGA1----- EGF1--
DCO3 ----> (+) ----->A-------(FDP1+FGP1)------
| |
EGA1----- EGF1--
DCO4 ----> (+) ----->A-------(FDP1+FGP1)------
| |
EGA1----- EGF1--
DCO5 ----> (+) ----->A-------(FDP1+FGP1)------
| |
EGA1----- EGF1--
DCO6 ----> (+) ----->A-------(FDP1+FGP1)------
| |
EGA1----- EGF1--
DCO7 ----> (+) ----->A-------(FDP1+FGP1)------
| |
EGA1----- EGF1--
DCO8 ----> (+) ----->A-------(FDP1+FGP1)------
| |
EGA1----- EGF1--
****************************************** (+)------------------------> out
Grupa 2
DCO9 ----> (+) ----->A-------(FDP2+FGP2)------
| |
EGA2----- EGF2--
DCO10 ----> (+) ----->A-------(FDP2+FGP2)------
| |
EGA2----- EGF2--
DCO11 ----> (+) ----->A-------(FDP2+FGP2)------
| |
EGA2----- EGF2--
DCO12 ----> (+) ----->A-------(FDP2+FGP2)------
| |
EGA2----- EGF2--
DCO13 ----> (+) ----->A-------(FDP2+FGP2)------
| |
EGA2----- EGF2--
DCO14 ----> (+) ----->A-------(FDP2+FGP2)------
| |
EGA2----- EGF2--
DCO15 ----> (+) ----->A-------(FDP2+FGP2)------
| |
EGA2----- EGF2--
DCO16 ----> (+) ----->A-------(FDP2+FGP2)------
| |
EGA2----- EGF2--
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Dokladnie, zwlaszcza do grania. Do eksperymentów dzwiekowych jest to ciekawa funkcjonalnosc, tyle, ze nalezy pamietac, ze to jest na zaliczenie .smith pisze:1. To każdy dźwięk (oscylator) ma mieć swoją obwiednię? IMHO mało praktyczne.Filtrów jeszcze nie ruszyłem, w każdym razie planuję by na każdy oscylator przypadał jeden filtr. Gdybym miał jeden filtr na wszystko – nie mógłbym np. podłączyć generatora obwiedni, do tego filtra, bo powstałoby pytanie – obwiednię z którego dźwięku zastosować ?
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Zdecydowanie się zgadzam . Taki też jest plan - oddać podstawowy tor. Muszę jednak teraz przeprowadzać znacznie szersze eksperymenty myślowe, gdyż projekt hardware'u, płytek PCB tego ode mnie wymaga. Nie chcę po oddaniu magisterki projektować wszystkiego od zera, żeby móc dodać nowe funkcje i jeszcze raz ponosić koszty (bo np. zabrakniee mi enkoderów na panelu czołowym) .Imho niepotrzebnie komplikujesz sobie troche zycie na tym etapie. Lepiej jest zrobic dobrze podstawowy tor na absolutnie niezbednych elementach, a potem dopiero rozbudowywac.
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Rzeczywiście - trzeba się trochę odkryć .smith pisze:Wrzuć może jakieś foty prototypu. I trzymamy kciuki za szczęśliwy finał
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |
Na ile się da, na tyle staram się stosować testy jednostkowe . Staram się też działąć przez analizę w tył, czyli np. wrzucając na wyjście sygnał z różnych bloków i ustalając "na ucho" co tam się właściwie dzieje.smith pisze:A myslales zeby wykorzystac testy jednostkowe przy pisaniu oprogramowania? W pewnych (nie wszystkich) sytuacjach to pozwala uniknąc kosztownych zmian na koncu.
Używam układu FPGA. Programy da się spokojnie symulować. W tej całej zabawie jest jednak jeden problem. Otóż - teoria lubi się rozmijać z praktyką. Występuje np. sytuacja, w której na symulatorze coś działa pięknie, a w praktyce są problemy. Tak mam np. w tym momencie, kiedy symulator pokazuje mi generowanie częstotliwości 466Hz, a generuje się około 3700 (i nie mam bladego pojęcia dlaczego).smith pisze:W ogóle przypomnij, w czym to piszesz, to jest FPGA? Nie znam za bardzo tematu, na ile da się tam symulowac i testować.
Jak się okazało - bez tego patentu bym leżał .smith pisze:patent z ukladem awaryjnym , niby nic ale w procesie projektowania takie myki potrafią zaoszczedzić mnostwa kłopotów.
Tak, to właśnie to prawosmith pisze:Prawo Ohma? Czekaj, czekaj... [...] czy "powyżej kolan napięcie rośnie, opór maleje" ?
Link: | |
BBcode: | |
HTML: | |
Ukryj linki do posta |