-
Data: 2010-12-07 00:36:26
Temat: Re: Generacja N-kanałowego dzwięku na 1-bicie.
Od: "Grzegorz Plywacz" <b...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
Użytkownik "Sebastian Biały" <h...@p...onet.pl> napisał w wiadomości
news:idgrev$ce0$1@news.onet.pl...
> Tak, to nie pomyłka, powrót do ZXSpectrum i PCSpeakera.
>
> Mam do dyzpozycji jeden bit którym mogę sterować blaszką piezo.
>
> Dzieki które dobywam mogą być raczej tylko jednobitowe - włącz/wyłącz.
>
> Czy ktoś może *pamięta* czy istniały jakieś algorytmy mieszania dwóch fali
> prostokątnych o róznych częstotoliwościach aby uzyskac złudzenie dzwieku
> dwukanałowego na tym jednym bicie? Wydaje mi się że produkcje na
> ZXSpectrum potrafiły osiągać coś podobnego. Doskonale sobie zdaje sprawę z
> nikłej jakości dzwieku, nie chodzi o jego podnoszenie (w szczególnosci nie
> chodzi mi np. o filtr + pwm w celu osiągnięcia lepszych rozdzielczości).
> Interesuje mnie jak na 1 bicie zmieszać dwie fale prostokątne w sposób
> przyjemny dla ucha w stopniu w jakim przyjemne sa 2 fale prostokątne.
> Zakładam ze 2 kanaly dadzą radę się przeskalowac na N.
Zaciekawiło mnie ...
To z czym masz do czynienia, to mniej więcej mieszanie dwóch (lub więcej
sygnalow)
na nieliniowym elemencie. W tym przypadku nieliniowośc polega na tym, że
występuje
obcięcie (0 albo 1). O ile generując jedną częstotliwość w wyniku dostaniemy
mniej
więcej to co nadalismy, to już w przypadku dwóch fal o częstotliwościach
odpowiednio
f1 i f2, dostaniemy f1 + f2, f1 - f2 plus cały szereg harmonicznych 2f1 +
f2, etc...
Harmonicznymi bym sie nie przejmowal :) Cała zabawa polega na tym, aby mając
żadane dwie czestotliwości, które mają sie pojawić w widmie, dobrać te,
który
wygenerujemy. Np. chcąc zagrać 440 Hz i 1000 Hz nadamy np 720 i 280 Hz.
Acha i jeszcze jedno, zrobiłem kilka eksperymentów i wychodzi mi, że
najlepiej
wygenerować poszczególne sygnały a potem przed wysłanie do piezo zrobić ich
sumę modulo 2.
Oczywiście w przypadku większej ilości fal sytuacja ma tendencje do
komplikowania
się w tempie geometrycznym :)
A jakby kogoś interesowało, krótki kod w Matlabie dla zobrazowania:
clear all;
fs = 40000; % próbkowanie
len = 5; % 5 sekund
freqs = [720, 280];
T = freqs .^ -1;
s = zeros(len * fs, 1);
for n = 1 : length(s)
t = n/fs;
s(n) = 0;
for i = 1 : length(freqs)
if mod(t, T(i)) < (T(i)/2)
s(n) = not(s(n));
end
end
end
s = s - mean(s);
plot(linspace(0, fs, length(s)), (abs(fft(s))));
--
G.Pływacz
Następne wpisy z tego wątku
- 08.12.10 08:43 slamazar
- 08.12.10 15:18 Kicer
- 08.12.10 15:26 Grzegorz Plywacz
- 08.12.10 15:43 Grzegorz Plywacz
Najnowsze wątki z tej grupy
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
Najnowsze wątki
- 2024-09-02 Wzór
- 2024-09-01 Polska-Chorwacja 650zł elektrykiem
- 2024-09-01 odrdzewiacz do amelinium
- 2024-09-01 Elektryczna łapka i szerszeń
- 2024-09-01 Jakie podatki za wynajem?
- 2024-09-02 Warszawa => Key Account Manager <=
- 2024-09-02 Warszawa => Projektant/Programista React Native <=
- 2024-09-02 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-09-02 Warszawa => Sales Development Representative (in German) <=
- 2024-09-01 1. wrzesnia po niemiecku
- 2024-09-01 Od setki do setki...
- 2024-08-31 wpadłem w siodło
- 2024-08-25 cenka opada
- 2024-08-30 Elektryki takie bezpieczne cd.
- 2024-08-31 Warszawa => International freight forwarder <=