Herbatron II
1 komentarze Opublikowano 26 gru 2012 z etykietką elektronikaHerbatron I powstał z czystej potrzeby powiadamiania o optymalnej temperaturze herbaty do picia, ponieważ regularnie zdarzało mi się zapomnieć o pozostawionym kubku. Niestety muszę przyznać, że nie był on najlepszą konstrukcją, ponieważ był w on pełni analogowy i ciężko było go precyzyjnie ustawić go na daną temperaturę. Ale to było bardzo dawno temu, kiedy moja wiedza elektroniczna była jeszcze słaba.
Teraz postanowiłem zbudować Herbatron II, oparty na ATTiny2313 i cyfrowym czujniku temperatury DS18B20. Urządzenie obsługuje się za pomocą enkodera. Posiada diodowy wyświetlacz, pokazujący aktualną lub ustawianą temperaturę oraz głośniczek piezo do sygnalizacji. Schemat jest bardzo prosty:
Dużo bardziej skomplikowany jest program.
Po włączeniu przyciskiem PWR, na wyświetlaczu pokazuje się aktualna temperatura. Możemy zrobić 3 rzeczy:
- Nacisnąć PWR, aby wyłączyć
- Długo kliknąć enkoderem, aby wejść w tryb edycji temperatury docelowej. W tym trybie na wyświetlaczu mruga wartość, którą możemy zmieniać, kręcąc enkoderem w lewo lub w prawo. Krótkie kliknięcie zapisuje wartość w pamięci i wraca do pokazywania aktualnej temperatury.
- Krótko kliknąć enkoderem, aby rozpocząć pomiar. Wyświetlacz zostaje wygaszony i co 2 sekundy odbywa się pomiar temperatury, co jest sygnalizowane mruganiem kropki na wyświetlaczu. Teraz możemy zrobić 4 rzeczy:
- Podejrzeć aktualną temperaturę. Wystarczy zakręcić enkoderem w dowolną stronę, co spowoduje pokazanie jej przez sekundę.
- Wyłączyć alarm za pomocą kliknięcia enkoderem. Wtedy urządzenie wróci do pokazywania aktualnej temperatury. Alarm włącza się, kiedy herbata ostygnie do zadanej temperatury.
- Nic nie robić. Urządzenie wyłączy się samo, jeśli herbata ostygnie poniżej 36 stopni, bo i tak nie ma sensu takiej zimnej pić.
- Wyłączyć urządzenie za pomocą przycisku PWR, nieważne w jakim trybie jest.
Alarm jest możliwie łagodny. Na początku odzywa się co 10 sekund, zwiększając ilość powtórzeń wraz ze zmniejszaniem się przerwy między nimi, aż po 80 sekundach osiąga częstotliwość 1 piknięcia na sekundę.
Temperatura mierzona jest za pomocą cyfrowego czujnika na kablu. Dzięki temu całego urządzenia nie trzeba wrzucać do szklanki, a jedynie małą sondę. W przypadku awarii czujnika, na wyświetlaczu pokazują się dwie kreski.
Herbatron może chodzić z napięcia do 5.5V i choć poradzi sobie również na baterii CR2032, to najlepiej będzie pracować na akumulatorku Li-ion. Największe zużycie energii ma miejsce podczas pracy wyświetlacza. Sporo mniej pobiera alarm. Podczas pomiaru procesor jest niestety cały czas w trybie aktywnym, więc pobiera prąd w granicach 1mA. Jednak po uśpieniu ta wartość spada do kilkunastu µA, więc spokojnie powinien wytrzymać z rok na baterii.
Inżynieria brzmienia na przykładzie pluginu Stereo Tool
3 komentarze Opublikowano 21 gru 2012Dzisiejszy wpis będzie nietypowy, ponieważ tym razem będziemy budować coś niematerialnego - brzmienie. Ten artykuł ma za zadanie nieco przybliżyć techniki przetwarzania muzyki tak, aby brzmiała ona atrakcyjniej dla ucha.
Ludzki słuch ma zmienną czułość w swoim zakresie częstotliwości.
Rozwiązaniem jest dużo bardziej zaawansowany tor audio, jaki oferuje darmowy plugin do wielu odtwarzaczy o nazwie Stereo Tool. Został on stworzony do remasteringu dźwięku w domowym zaciszu, tak, aby dopasować go najlepiej do naszego słuchu i sprzętu grającego. Przy odpowiednich ustawieniach, ze znanych utworów wyciągniemy dużo, dużo więcej, niż moglibyśmy przypuszczać i usłyszymy nowe rzeczy.
Ale najpierw kilka słów na temat samego odtwarzania formatów cyfrowych. Mamy tu ważne 2 parametry.
- Próbkowanie to "rozdzielczość w poziomie", czyli jak wiele razy na sekundę zapisana jest informacja o wartości amplitudy. Przy typowej częstotliwości 44.1Khz twierdzenie Nyquista pozwala nam zapisać dźwięki do częstotliwości ok. 22kHz, co powinno być wystarczające dla ucha ludzkiego. Niższe wartości dają wyraźne przytłumienie wysokich tonów. Dla lepszych efektów warto ustawić, aby nasz odtwarzacz resamplował dźwięk przynajmniej do 48kHz, albo 96kHz, bo pozwoli to pluginowi na dużo większą precyzję w przetwarzaniu dźwięku.
- Rozdzielczość, to dokładniej "rozdzielczość w pionie", czyli ilość poziomów głośności, jakie może przyjąć amplituda. Jeśli jest niska, dźwięk jest metaliczny, jak z pocztówki grającej lub starej konsoli. Typowa rozdzielczość 16-bitowa to 65536 kombinacji, czyli sporo. Jednak jest to ilość skończona. Użycie rozdzielczości 32-bitowej typu float daje zakres praktycznie nieskończony z uwagi na charakter notacji zmiennoprzeciwnkowej.
Wzmocnienie ► Kompresja ► Ogranicznik.
Oczywiście bez dalszych zabiegów taki dźwięk okropnie by charczał, ale plugin musi mieć "zapas głośności", który będzie mógł wykorzystać w razie potrzeby.
Tak dzieje się dla każdej z 10 częstotliwości. Możemy panować nad głębokim i średnim basem, wokalami, typowymi instrumentami oraz dodać jasności talerzom. Efekt jest taki, że wszystkie częstotliwości (czyli instrumenty, efekty, głosy) słyszymy w miarę równie głośno. Każde pasmo ma swoją wartość docelowej głośności, do której dąży i możemy ją dowolnie modyfikować, ustalając w ten sposób ogólną barwę dźwięku.
Okno wielopasmowego kompresora może za początku przerażać, ale już omawiam wszystkie elementy.
- Pierwsza kolumna to częstotliwości na których skupia się kompresja. Są one domyślnie tak dobrane, aby pokryć całe słyszalne pasmo. Warto w pierwszej kolejności skorygować dwie pierwsze, odpowiedzialne za bardzo niskie basy, ponieważ one są najbardziej podatne na obcięcie przez "fizyczną" część toru audio, czyli kartę dźwiękową, wzmacniacz i głośniki, lub przetworniki słuchawek.
- Druga kolumna to equalizer, działający na zdefiniowanych przez nas częstotliwościach. Możemy go włączyć w ustawieniach, ale używajmy go na samym końcu, dopiero po jak najlepszym dopasowaniu dźwięku przez kompresor. Equalizer może działać przed, lub po kompresji. Drugie rozwiązanie daje o wiele bardziej odczuwalny efekt, ale może doprowadzić do przesterowania podbitych częstotliwości
- Trzecia kolumna jest najważniejsza. To tutaj ustawiamy docelowy poziom głośności każdego z pasm, nadając brzmieniu pożądany charakter. Najlepiej na początku skręcić wszystkie pasma na jakieś 10% mocy i po kolei podciągać je do miłego dla ucha poziomu.
- Czwarta i piąta kolumna odpowiadają za dynamikę dźwięku, czyli czas reakcji kompresora na zmiany głośności poszczególnych pasm. Suwaki reprezentują szybkość reakcji, co przekłada się na średnią głośność, kiedy są sprzężone ze sobą. Bardzo ważnym elementem tutaj jest spektrogram, widoczny po zmaksymalizowaniu okna. Możemy na nim zaobserwować tempo adaptacji wewnętrznego equalizera do aktualnej sytuacji dźwiękowej.
Przy ustawieniu dużej prędkości wzrostu (upseed), kompresor będzie sprawniej redukował dane pasmo w przypadku jego zbyt wysokiego natężenia. Natomiast duża prędkość spadku da efekt szybkiego przywrócenia głośności tego pasma już po redukcji. Jeśli zależy nam na w miarę jednolitym i głośnym dźwięku, ustawiamy upspeed co najmniej na 50%, a downspeed na 10-20%, co utrzyma wszystkie częstotliwości na podobnym poziomie. Natomiast, gdy chcemy wyciągnąć więcej subtelności, podkręcamy downspeed na 50%, co da szybszą odpowiedź na zmienną sytuację dźwiękową.
- W ostatniej kolumnie możemy ustawić parametry ostrego limitera, ale od tego jest osobny, lepszy moduł.
Bardzo silna kompresja połączona z limitowaniem jest często używana w reklamach telewizyjnych, aby uczynić głos lektora odczuwalnie wyraźniejszym i krzykliwszym, bez przekraczania dozwolonej amplitudy.
Osiąga swój cel poprzez bardzo zręczne manipulowanie głośnością, co nie dopuszcza do powstawania obciętych końcówek sinusoidy.
W tym czasie kształtuje amplitudy korzystając z parametru pozornej głośności (loudness) tak, aby mniej lub bardziej wypełniała ona cały zakres dynamiczny.
Teoretycznie moglibyśmy wyłączyć wielopasmowy kompresor i przepuścić wzmocniony sygnał przez zaawansowany ogranicznik końcowy, otrzymując poprawny technicznie dźwięk. Efektem byłaby duża odczuwalna głośność bez słyszalnego przesterowania (bez obciętej amplitudy) - coś co tak drażni w reklamach i coraz większej ilości muzyki z tego wieku. No ale może niektórym to się podoba. Głównym zadaniem ogranicznika jest jednak oczyszczenie przetworzonego sygnału z drobnych błędów i dopiero potem ewentualne go formowanie, czyli nadawanie dodatkowej głośności.
Do toru warto czasem włączyć dwa dodatkowe ogniwa: odpowiadające za efekt stereo oraz za podbicie basu.
Ten pierwszy jeszcze do niedawna był dość prymitywny. Wzmocnienie stereo polegało na wzmocnieniu różnicy fazowej pomiędzy kanałami. Problem w tym, że brzmi to tylko w dobrze nagranej muzyce z wysokim bitrate. Przy garażowym 128k w sopranach działa się prawdziwa tragedia.
Najlepiej używać go do innych celów - np. ograniczenia zbyt dużego sztucznie wprowadzonego stereo (maximum angle), albo naprawy źle nagranej kasety, gdzie jeden kanał został odwrócony, przez co całość brzmi jak ze środka naszej głowy. Wtedy ustawiamy opcję "phase shift" na 180 stopni.
Określamy dwa parametry: wzmocnienie stereo i maksymalny jego poziom. Jeśli mamy mocno odseparowaną partię, nie ma potrzeby wzmacniać jej dodatkowo. Natomiast fragment, gdzie separacja jest słaba, zostanie rozciągnięty w przestrzeni bardziej konkretnie
Moduł wzmocnienia basu to nie jest zwykły equalizer, ponieważ formuje on dźwięk, a nie jedynie podgłaśnia zakres częstotliwości. Po jego włączeniu podkreślane są bardzo niskie "tąpnięcia", jednak nie powoduje to ogólnego wzrostu poziomu sygnału, tak więc nie ryzykujemy przesterowaniem.
Zasada działania jest podobna jak w przypadku efektu stereo - określamy wzmocnienie i maksymalną wartość. Tam, gdzie bas jest już wystarczająco silny, nie zostaje niepotrzebnie przesterowany Ale regulacji najlepiej dokonać przy włączonej opcji "difference", gdzie będziemy słyszeć wyłącznie bas. Najpierw ustawiamy najniższą częstotliwość bo to ona będzie najwyraźniej słyszalna jako "tąpnięcia". Potem określamy próg odcięcia i jeśli chcemy, to również harmoniczne. Tutaj sprawa jest bardzo indywidualna w zależności od naszego sprzętu audio. Po wyłączeniu opcji "difference" powinno być słychać porządnego kopa. Jeśli jest za silny, wystarczy zmniejszyć parametr "strength".
- zmniejszyć wstępne wzmocnienie (pogorszy się dynamika)
- obniżyć wszystkie progi wielopasmowego kompresora (możemy zatracić nasze długo dopasowywane brzmienie)
- zwiększyć moc końcowego ogranicznika (może dojść do pompowania)
Archiwum bloga
Kategorie
- elektronika (5)
- kusza (2)
- mechanika (2)
- programowanie (3)
W planach
- Herbatron 2
- Programowalny wyzwalacz do lamp błyskowych
- Zegar/kalendarz/termometr na lampie VFD
- Transmiter kodów RC5 sterowany klaśnięciami