Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Cyfrowe echo z przetworników A/C - C/A

Mad Bekon 23 Oct 2007 06:56 1323 4
  • #1
    Mad Bekon
    Level 23  
    Witam Panowie.
    Niebawem na laboratorium będę miał za zadanie dodanie efektu echa a dźwięku pobranego z mikrofonu.
    Podczas ćwiczenia studenci piszą proste programy w języku C na płytę DSK320C6713
    z procesorem TMS320C6713 firmy Texas Instruments oraz z przetwornikiem C/A typu sigma-delta:
    TLV320AIC23 Stereo Audio Codec (kodek) firmy Texas Instruments.

    Noi tu moje pytanie. Jak się robi takie echo.

    Czy dobrze czajnikuję, że należałoby pobrać próbkę w jakimś tam czasie a potem ją odtwarzać zmniejszając jej amplitudę?
    Pozdrawiam
  • #2
    Ch.M.
    Level 27  
    Echo uzyskasz przesuwając sygnał o kilkadziesiąt milisekund (nawet dłużej) a co do amplitudy to równie dobrze możesz ją zwiększyć :)
    Ważniejszy jest odpowiedni czas opóźnienia.
  • #3
    Jdsoul
    Level 23  
    Nie ma tak lekko :) nie wystarczy sama pętla opóźnieniowa A/C i C/A.

    Generalnie opóźnienie nie wystarczy :) trzeba jeszcze zmiksować sygnał pierwotny z sygnałem wyjściowym.

    W zależności od punktu miksowania i czasu opóźnienia można uzyskać szereg ciekawych efektów.

    Zwykły delay to praktycznie 1 odbicie i jest realizowny jako suma na wyjściu - czyli na przetworniku wyjściowym dajesz sumę - sygnału wejściowego i sygnału opóźnionego - zakładamy że kolejne opóźnienia nie istnieją lub celowo je pomijamy - efekt charakterystyczny dla małych pomiesczeń.

    jeśli opóźnienie jest < 30 ms to ucho ludzkie potraktuje taką sumę, jako przyjemnę pomieszczenie i odczujemy jedynie podbarwienie uzyskanego dźwięku wrażenie przestrzenności

    Jeśli opóźnienie będzie = 30 ms otrzymamy efekt flanger, czyli coś na pograniczu kamery rozszerzającej z podbiciem niskich tonów

    Jeli opóźnienie będzie dużo większe od 30 ms otrzymamy efekt twardej ściany i otwartej przetrzeni z jednym echem wyraźnie słyszalnym

    Po to żeby zrealizować echo w sensie dosłownym musiałbyś stworzyć w procesorze zapętlenie tzn.

    Podawać efekt pracy toru opóźniającego w pętli spowrotem na wejście układu i sumować z sygnałem wchodzącym :) wówczas przy opóźnieniu > 30 ms np rzędu 300 ms zaczyna się pojawiać echo czyli wielokrotnie powtórzona ta sama próbka kolejno przechodząca przez tor opóźnienia. Żeby echo było bardziej realistyczne warto byłoby sumować sygnał wejściowy z opóźnionym z jakimś znacznym tłumieniem , wówczas mamy efekt wygasania kolejnych przejść przez pętlę opóźnieniową :)

    Dodano po 4 [minuty]:

    To ostatnie było chętnie stosowane w maszynach pogłosowych sprężynowych - mikrofon piezo na wyjściu i głośniczek na wejściu.

    Głośniczek był zasilany sumą wejścia np. z mikrofonu + wyjście z maszyny pogłosowej.

    A te 30 ms wynika z zasady działania ludzkiego słuchu :) w "dawnych czasach" bardzo trudne do spełnienia , obecnie już nie koniecznie :) w zależności od rozmiaru buffora SRAM możne nieźle przyszaleć :)

    Wzmacniacz wzmacniaczem, ale Piec z kamerą pogłosową to zawsze było coś :)

    Dodano po 1 [minuty]:

    Była taka śmieszna wersja układu TDA1022 z NRD. Niestety jej pasmo 300-5kHz.
  • #4
    William Bonawentura
    Level 33  
    Jdsoul wrote:
    Była taka śmieszna wersja układu TDA1022 z NRD. Niestety jej pasmo 300-5kHz.


    To był analogowy układ opóźniający, czyli szereg tranzystorów - kluczy i kondensatorów pomiędzy nimi. Taka analogowa pamięć FIFO
  • #5
    Jdsoul
    Level 23  
    No proszę :) ktoś to jeszcze pamięta.

    Do układu podawało się zewnętrzny sygnał taktujący i miało się opóźnienie takie jakie się prawie chciało.

    Kiedyś w Radioelektroniku był nawet art poświęcony tej linii opoźniającej :)

    A wracając do tematu to pozostałe parametry czasowe pozostają niezmienne nie zależnie od sposobu realizacji opóźnienia :)