Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Syntezator analogowy polifoniczny

Kamus 15 Oct 2007 15:05 10362 41
IGE-XAO
  • #31
    Paweł Es.
    VIP Meritorious for electroda.pl
    Ludzie, przecież powyższy pomysł można zrealizować elektronicznie.

    Bębnem jest pamięć EPROM np. o długości 32kB. Na każdym bit pamięci to inna częstotliwość. W ciągu tych 32k zapisujemy w miarę równomiernie N impulsów obliczonych ze wzoru:


    $$N=Int(\frac{M*f_{wy}*K}{f_q}+0.5)$$

    N - ilość impusów wyjściowych
    M - wielokrotność częstotliwości wyjściowej dla wygładzania
    K - długość bloku pamięci w bajtach
    fwy - żądana częstotliwość wyjściowa
    fq - częstotliwość taktująca licznik adresujący pamięć generatora.
    Int() - część całkowita liczby w nawiasie

    Ponieważ ciąg wyjściowy jest nierównomierny to generujemy np. 16 razy wyższą częstotliwość a ciąg wyjściowy przepuszczamy przez dzielnik przez 16 dla wygładzenia.

    Przykład

    fwy=7040 Hz [A oktawy pięciokreślnej]
    M=16
    K=32768
    fq=500000

    $$N=Int(\frac{16*7040*32768}{500000}+0.5)=7382$$


    Obliczając w tył, by sprawdzić dokładność dzielnika:

    $$fwy=\frac{N*f_q}{M*K}=\frac{7382*500000}{16*32768}=7040,0238037109375Hz$$

    odchyłka w centach

    $$\Delta=1200ln_2(\frac{f}{f0})=1731.234*ln(\frac{7040,0238037109375Hz}{7040})=0,00585 [cent]$$

    co oznacza bardzo dużą dokładność fwy (przy wymaganej dokładności strojenia +/- 5 centów)

    Można też zastosować krótsze bloki pamięci (np. 8192 czy 16384B) co oczywiście zmniejsza dokładność strojenia.

    Stosując pamięć o wielokrotności długości bloku pamięci K można łatwo zaprogramować transpozycję półtonową (np. +/-7 półtonów) całego instrumentu programując w poszczególnych blokach inne ilości impulsów wyjściowych.

    Impulsy powinny być rozłożone, w miarę równomiernie, na całej długości bloku pamięci (można też w ostateczności zapisywać je od początku bloku).
  • IGE-XAO
  • #32
    Mje3sław
    Level 14  
    Oczywiście, że można, ale będzieszs miał elektroniczną "pierdziawkę" a nie instrument, który choć trochę będzie przypominał brzmieniowo telharmonium czy organy Hammonda. Zauważ, że tutaj masz wpływ na kształt sygnału praktycznie nieograniczony - co sobie "narysujesz" na bębnach, no i siłą rzeczy przebiegi z fotodiod będą "wygładzone", "analogowe". Równie dobrze można powiedzieć, że w dzisiejszych czasach w ogóle nie ma sensu budować nic elektronicznego, skoro masz zabawki typu FM7 (www.native-instruments.com).
    P.S. Widzę że jest już FM8 - ja się bawiłem kiedyś FM7 Demo.
  • IGE-XAO
  • #33
    Paweł Es.
    VIP Meritorious for electroda.pl
    Właściwie, to co się szczypać, iść na całość, machnąć sobie Telharmonium wg oryginalnego projekty Cahilla, "mały przenośny instrumencik" parę ton w tę czy w tamtą stronę ;))

    Bębny paierowe czy inne to namiastka ;))


    A propos nie robi się ułamkowej ilości kresek, tylko całkowitą (fotodioda nie wygeneruje pół impulsu w jednostce czasu. Po prostu zaokrągla się ilość wycięć czy znaków do najbliższej całkowitej.
  • #34
    Mje3sław
    Level 14  
    Nie zgodził bym się z Tobą - jak rozmieścisz kreski tak, żeby zaokrąglić do pełnej to zmienisz ich rozstaw - a wiec okres. A tu okres się liczy, bo z niego wynika częstotliwość. Jak wyliczysz dokładnie odstęp między kreskami tak, żeby uzyskać dokładny okres, to nie wyjdzie całkowita liczba - ten kawałek kreski będzie "stukał" z okresem obrotu bębna (dokładnie rzecz biorąc to będzie skok fazy), no ale trudno - coś za coś - wyjściem z tego jest jedynie tyle silniczków co i tonów.
    Nie neguję też pomysłu robienia czysto elektronicznego instrumentu - po prostu uważam, że połączenie mechaniki i elektroniki daje o wiele większą radochę niż "martwe" elektroniczne płytki.
  • #35
    Paweł Es.
    VIP Meritorious for electroda.pl
    Hmm, jak rozmieścisz na obwodzie koła N kresek to na wyjściu otrzymasz N impusów rozłożonych co T/N sekund, gdzie T - czas pełnego obrotu koła.
    Jeżeli zrobisz N i pół działki to otrzymasz N+1 impulsów z czego jeden będzie o mniejszej amplitudzie. Ilość impulsów będzie zawsze całkowita a precyzować okres można zmieniając prędkość obrotową koła.
  • #36
    Mje3sław
    Level 14  
    No właśnie, że w tym przypadku nie możesz zmieniać prędkości obrotowej, bo przestroisz wszystkie tony znajdujące się na tym samym bębnie.
    Żeby ucho usłyszało impulsy jako ton, musi ich być około 30, więc jak umieścisz 30 kresek na 1/4 koła, będzie to słyszalne jako przerywane "pikanie" z określoną częstotliwością. Jeżeli te 30 kresek rozmieścisz na 1/2 koła, również usłyszysz pikanie, tyle że ton będzie 2 razy niższy - a przecież liczba kresek na obrót koła nie zmieniła się!
  • #37
    Paweł Es.
    VIP Meritorious for electroda.pl
    Ale to co piszesz to tylko zmienianie ilości impulsów w odcinku czasu ale ilość impulsów jest zawsze całkowita.
  • #38
    Mje3sław
    Level 14  
    Oj, całkowita czy nie.
    Tak rozbierając to już zupełnie, to na jeden okres sygnału generowanego przez ten układ składa się czarne pole i białe. To jest jeden okres. Chcemy mieć określoną częstotliwość przy stałej liczbie obrotów i stałej średnicy bębna, to musimy mieć odpowiednią odległość między czarno-białymi polami (czy liczymy od początku czarnego pola do początku następnego czarnego czy inaczej - to nie ma znaczenia). Jeżeli pomalujemy bęben naokoło, i okaże się, że koniec ostatniego białego pola idealnie zgrał się z początkiem pierwszego czarnego to będzie idealnie, ale przeważnie będzie na końcu coś nierównego - wyjdzie któreś pole dłuższe lub krótsze niż normalnie. Jaki będzie tego skutek to już pisałem. Niecałkowita liczba kresek to tylko skrót myślowy, zresztą chyba większość zrozumiała o co chodzi.
  • #39
    elemic
    Level 1  
    Witam, zbudowałem prosty syntezator analogowy monofoniczny na LM 555, 12 helipotach strojącymi na najwyższej oktawie, dzielnik na CD 4040 generator szumu na TBA120 U, LFO na 8038, do tego VCO tonewheel z silniczka od magnetofonu i nakrętki w polu elektromagnesu, wypasik. Proponuję zrobienie 12 stabilnych oscylatorów RC na CD 40106 z helipotami do tego 12 dzielników na CD 4040 zadziała na 100 %
  • #40
    -RoMan-
    Level 42  
    Ja tylko nieśmiało przypomnę, że w organach Hammonda zastosowano mechaniczne przekładnie 196:185. Są również układy realizujące gubienie 11 impulsów ze 196 ale ni czorta sobie nie mogę przypomnieć, jak to się nazywało.
  • #41
    Paweł Es.
    VIP Meritorious for electroda.pl
    To była przekładnia przybliżająca $$\sqr[12]{2}$$

    Takie bloczki można zrealizować w postaci powielacz na pętli fazowej+dzielnik

    PLL_196->dzielnik_185 i mamy półton w górę
    PLL_185->dzielnik_196 i mamy półton w dół

    to by wychodziło 3 scalaki i kilka diod (plus elementy RC) na taki przesuwnik. Na wejście takiego ciągu podajemy ton najwyższego C w instrumencie.

    Nawet niezłe przybliżenie ma ten $$\sqr[12]{2}\approx \frac{196}{185}$$

    Tabela pokazuje odchyłki tonów obliczonych przez podwyższanie tonu C5 mnożeniem przez 196/185

    $$Odchylka=\frac{1200}{ln(2)}*ln\frac{f196}{fwz} $$[cent]

    Syntezator analogowy polifoniczny
  • #42
    lonnnger
    Level 2  
    Nie mam doświadczenia w budowaniu syntezatorów analogowych, ale moim zdaniem najlepszym rozwiązaniem jest połączenie cyfrowo-analogowe tzn. część cyfrowa steruję całością poprzez przetworniki DAC częścią analogową (przykład PROPHET i obecne modele Dave Smith'a). Moja propozycja zbudowania funkcjonalnego synezatora polega na odtworzeniu automatyki w zwykłym komputerze z interfejsem MIDI z programem MAX/MSP i poprzez MIDI przejść do modułów które przekształcą ten zapis na postać analogową sterującą analogowymi torami syntezy. Dlaczego MAX/MSP? Bo jest prosty i ma dużo gotowych paczy i łatwo zrobić sequencery krokowe, arpegiatory, itp. dodatkowo wrócić sygnałem przez line in do kompa i w programie jeszcze go pozmieniać :) (ale to juz znowu jest cyfra). JAK KTOŚ POTRAFI ZAPROJEKTOWAĆ TAKI PRZETWORNIK Z ZAPISU 8BITOWEGO (MIDI) NA ANALOGOWY, TO JA WSPOMOGĘ PROJEKT NA ETAPIE MAX/MSP. Wszystkich głodnych polemiki na temat rozdzielczości MIDI (0...127) pragnę uspokoić, że w MAX/MSP można zbudować sterowanie które będzie wykorzystywało dwie jakieś wartości co da rozdzielczość 128x128 punktów (to jest przykład bez szczegółów). Jeśli to by się udało to powstała by baza do świetnego systemu modularnego. Pozdrawiam!