Jak cyfrowo =?ISO-8859-2?Q?zapisa=E6_dzwi=EAk_=3F?=
Masz problem? Zapytaj na forum elektroda.pl
From: sawic <sawic__at_nospam_wytnij.to.poczta.onet.pl>
Subject: Jak cyfrowo =?ISO-8859-2?Q?zapisa=E6_dzwi=EAk_=3F?=
Date: Wed, 08 Jun 2005 22:40:10 +0200
Witam.
Zastanawiam się jakie są minimalne wymagania aby cyfrowo zapisać dzwięk.
Nie interesuje mnie żadne kodowanie itp.
Zapis bez kodowania nazywa się RAW jeżeli dobrze wyczytałem. Zgadza się ?
Powiedzmy że mam mikrokontroler, do niego podłączony przetwornik A/C.
Próbkuje dzwięk z mikrofonu podłączonego do wejścia przetwornika A/C.
Oczywiście sygnał z mikrofonu jest wcześniej odpowiednio wzmocniony.
Z jaką częstotliwością i jaką rozdzielczością powinien być próbkowany
ten dzwięk aby dało się go później łatwo odtworzyć ?
Powiedzmy ze interesuje mnie jakość telefoniczna czyli pasmo chyba 8kHz
(tak przynajmniej wyczytałem).
I czemu 8 a nie 4-ry ? Przecież ludzka mowa zawiera się w przedziale 300
Jak to później odtworzyć ? Zwykły przetwornik C/A o takich samych
parametrach, jak ten wcześniej użyty, wystarczy ?
Powiedzmy takie rozwiązanie:
---------- ----- ---- ---- ----- ---------
|mikrofon|----|A/C|-----|uP|-----//----|uP|-----|C/A|-----|głośnik|
---------- ----- ---- ---- ----- ---------
Chyba nie powinno się to rozjechać.
Szukałem sporo na ten temat ale znalazłem samą komerche i jakieś chipy
kodujące na najprzeróżniejsze protokoły. A ja się zastanawiam jak po
prostu uzyskać cyfrowy zapis dzwięku w najprostszej możliwej postaci.
Pozdrawiam.
From: Patryk Sielski <psielski-usun_at_nospam_elka-usun.pw.edu.pl>
Subject: Re: Jak cyfrowo zapisać dzwięk ?
Date: Wed, 8 Jun 2005 20:46:56 +0000 (UTC)
sawic <sawic__at_nospam_wytnij.to.poczta.onet.pl> pisze:
I czemu 8 a nie 4-ry ? Przecież ludzka mowa zawiera się w przedziale 300
- 3800 Hz.
Kryterium Nyquista.
Jak to później odtworzyć ? Zwykły przetwornik C/A o takich samych
parametrach, jak ten wcześniej użyty, wystarczy ?
Tak.
Powiedzmy takie rozwiązanie:
---------- ----- ---- ---- ----- ---------
|mikrofon|----|A/C|-----|uP|-----//----|uP|-----|C/A|-----|głośnik|
---------- ----- ---- ---- ----- ---------
^
|
+-- tu jeszcze filtr by się przydał
--
-= Patryk Krzysztof Sielski | (602) 643804 | GG: 3189324
-= Urządzenia i projekty elektroniczne na zamówienie
-= http://home.elka.pw.edu.pl/~psielski
From: Szczepan <szczepan.staszak_at_nospam_op.pl>
Subject: Re: Jak cyfrowo =?iso-8859-2?Q?zapisa=E6_dzwi=EAk?= ?
Date: Wed, 8 Jun 2005 22:59:45 +0200
Dnia Wed, 8 Jun 2005 20:46:56 +0000 (UTC), Patryk Sielski napisał(a):
Powiedzmy takie rozwiązanie:
---------- ----- ---- ---- ----- ---------
|mikrofon|----|A/C|-----|uP|-----//----|uP|-----|C/A|-----|głośnik|
---------- ----- ---- ---- ----- ---------
^ ^
| |
+-- tu jeszcze filtr by się przydał +-- tu też można filtr wciśnąć
--
pozdrawiam
Szczepan
[usuń imię oraz kropkę z mojego mejla]
From: sawic <sawic__at_nospam_wytnij.to.poczta.onet.pl>
Subject: Re: Jak cyfrowo =?ISO-8859-2?Q?zapisa=E6_dzwi=EAk_=3F?=
Date: Wed, 08 Jun 2005 23:42:53 +0200
Szczepan napisał(a):
Dnia Wed, 8 Jun 2005 20:46:56 +0000 (UTC), Patryk Sielski napisał(a):
Powiedzmy takie rozwiązanie:
---------- ----- ---- ---- ----- ---------
|mikrofon|----|A/C|-----|uP|-----//----|uP|-----|C/A|-----|głośnik|
---------- ----- ---- ---- ----- ---------
^ ^
| |
+-- tu jeszcze filtr by się przydał +-- tu też można filtr wciśnąć
Jak rozumiem filtr po stronie mikrofonu powinien wycinać interesujące
mnie pasmo częstotliwości. Czyli dla mowy 0 - 8KHz.
Filtr przed głośnikiem powinien ucinać wszystko powyżej powiedzmy 10KHz
ze względu na szumu wprowadzane przez przetwornik C/A.
Czy dobrze rozumuję ?
pozdrawiam
From: Szczepan <szczepan.staszak_at_nospam_op.pl>
Subject: Re: Jak cyfrowo =?ISO-8859-2?Q?zapisa=E6_dzwi=EAk_=3F?=
Date: Thu, 9 Jun 2005 00:12:00 +0200
Dnia Wed, 08 Jun 2005 23:42:53 +0200, sawic napisał(a):
Jak rozumiem filtr po stronie mikrofonu powinien wycinać interesujące
mnie pasmo częstotliwości. Czyli dla mowy 0 - 8KHz.
0-4k (przy próbkowaniu 8k) -- twierdzenie N sią kłania
--
pozdrawiam
Szczepan
[usuń imię oraz kropkę z mojego mejla]
From: Szczepan <szczepan.staszak_at_nospam_op.pl>
Subject: Re: Jak cyfrowo =?ISO-8859-2?Q?zapisa=E6_dzwi=EAk_=3F?=
Date: Thu, 9 Jun 2005 00:14:14 +0200
Dnia Wed, 08 Jun 2005 23:42:53 +0200, sawic napisał(a):
Jak rozumiem filtr po stronie mikrofonu powinien wycinać interesujące
mnie pasmo częstotliwości. Czyli dla mowy 0 - 8KHz.
0-4k (przy próbkowaniu 8k) -- twierdzenie N się kłania
--
pozdrawiam
Szczepan
[usuń imię oraz kropkę z mojego mejla]
From: "Marek." <marek4_wytnij__at_nospam_op.pl>
Subject: Re: Jak cyfrowo zapisać dzwięk ?
Date: Thu, 9 Jun 2005 13:40:13 +0200
Użytkownik "Patryk Sielski" <psielski-usun_at_nospam_elka-usun.pw.edu.pl> napisał w
wiadomości news:1118263613.867624_at_nospam_pdp...
sawic <sawic__at_nospam_wytnij.to.poczta.onet.pl> pisze:
I czemu 8 a nie 4-ry ? Przecież ludzka mowa zawiera się w przedziale 300
- 3800 Hz.
Kryterium Nyquista.
Jak to później odtworzyć ? Zwykły przetwornik C/A o takich samych
parametrach, jak ten wcześniej użyty, wystarczy ?
Tak.
Powiedzmy takie rozwiązanie:
---------- ----- ---- ---- ----- ---------
|mikrofon|----|A/C|-----|uP|-----//----|uP|-----|C/A|-----|głośnik|
---------- ----- ---- ---- ----- ---------
^
|
+-- tu jeszcze filtr by się przydał
"Przydał"?:-) filtr antyaliasingowy jest raczej konieczny:)
Marek.
From: Pawel K <groups_at_nospam_kpw.qs.pl>
Subject: Re: Jak cyfrowo =?ISO-8859-2?Q?zapisa=E6_dzwi=EAk_=3F?=
Date: Wed, 08 Jun 2005 22:47:02 +0200
> Szukałem sporo na ten temat ale znalazłem samą komerche i jakieś chipy
> kodujące na najprzeróżniejsze protokoły. A ja się zastanawiam jak po
> prostu uzyskać cyfrowy zapis dzwięku w najprostszej możliwej postaci.
poszukaj na stronie atmela ... jest tam taki przykladzik zapisu z
zastosowaniem szeregowego flasha at45dbxxx. Jest tam schemat opis i
zrodla. powodzenia.
From: Szczepan <szczepan.staszak_at_nospam_op.pl>
Subject: Re: Jak cyfrowo =?ISO-8859-2?Q?zapisa=E6_dzwi=EAk_=3F?=
Date: Wed, 8 Jun 2005 22:53:21 +0200
Dnia Wed, 08 Jun 2005 22:40:10 +0200, sawic napisał(a):
Powiedzmy ze interesuje mnie jakość telefoniczna czyli pasmo chyba 8kHz
(tak przynajmniej wyczytałem).
I czemu 8 a nie 4-ry ? Przecież ludzka mowa zawiera się w przedziale 300
- 3800 Hz.
Pasmo 4 kHz, a częstotliwość próbkowania 8 kHz.
--
pozdrawiam
Szczepan
[usuń imię oraz kropkę z mojego mejla]
From: Szczepan <szczepan.staszak_at_nospam_op.pl>
Subject: Re: Jak cyfrowo =?ISO-8859-2?Q?zapisa=E6_dzwi=EAk_=3F?=
Date: Wed, 8 Jun 2005 22:56:28 +0200
Dnia Wed, 08 Jun 2005 22:40:10 +0200, sawic napisał(a):
Z jaką częstotliwością i jaką rozdzielczością powinien być próbkowany
ten dzwięk aby dało się go później łatwo odtworzyć ?
2 bity i już zrozumiesz nadawcę.
--
pozdrawiam
Szczepan
[usuń imię oraz kropkę z mojego mejla]
From: sawic <sawic__at_nospam_wytnij.to.poczta.onet.pl>
Subject: Re: Jak cyfrowo =?ISO-8859-2?Q?zapisa=E6_dzwi=EAk_=3F?=
Date: Wed, 08 Jun 2005 23:44:49 +0200
Szczepan napisał(a):
Dnia Wed, 08 Jun 2005 22:40:10 +0200, sawic napisał(a):
Z jaką częstotliwością i jaką rozdzielczością powinien być próbkowany
ten dzwięk aby dało się go później łatwo odtworzyć ?
2 bity i już zrozumiesz nadawcę.
Czy to aby nie za mało ?
Wszędzie jest napisane że minumum to 8.
8 bitów to tylko 256 różnych stanów, więc chyba relatywnie i tak mało.
Pozdrawiam.
From: Tomasz Piasecki <mtbrider_at_nospam__-nospam-_.poczta.onet.pl>
Subject: Re: Jak cyfrowo =?ISO-8859-2?Q?zapisa=E6_dzwi=EAk_=3F?=
Date: Wed, 08 Jun 2005 23:52:10 +0200
sawic wrote:
2 bity i już zrozumiesz nadawcę.
Czy to aby nie za mało ?
Jakość nie będzie rewelacyjna ale powinno dać radę.
Wszędzie jest napisane że minumum to 8.
Na ZX Sprectrum zapisywałem mowę 1-bitowo i też się dało zrozumieć :)
TP.
--
| _ _ _ |
| _____ _| |_| | __ (o) | | __ __ _at_nospam_poczta.onet.pl |
| | \ | | |o \| \| |/o |/ _\| \ |
| |_|_|_| \_| |__/|_| |_|\__|\__||_| Tomasz Piasecki |
From: Andrzej Lawa <alawa_news_at_nospam_lechistan.SPAM_PRECZ.com>
Subject: Re: Jak cyfrowo =?ISO-8859-2?Q?zapisa=E6_dzwi=EAk_=3F?=
Date: Thu, 09 Jun 2005 04:47:56 +0200
Tomasz Piasecki wrote:
Wszędzie jest napisane że minumum to 8.
Na ZX Sprectrum zapisywałem mowę 1-bitowo i też się dało zrozumieć :)
Ech, to były czasy... całe 7kB pamięci (a przypominam RAMu spectruś miał
48kB) na jedno zdanie "A teraz jako Robin wyruszysz na poszukiwanie
srebrnej strzały" (oczywiście po angielsku)...
Robin of Sherwood... Muszę wreszcie kiedyś tę grę dokończyć :)
From: Szczepan <szczepan.staszak_at_nospam_op.pl>
Subject: Re: Jak cyfrowo =?ISO-8859-2?Q?zapisa=E6_dzwi=EAk_=3F?=
Date: Thu, 9 Jun 2005 00:13:08 +0200
Dnia Wed, 08 Jun 2005 23:44:49 +0200, sawic napisał(a):
8 bitów to tylko 256 różnych stanów, więc chyba relatywnie i tak mało.
To dużo. Możesz także poczytać sobie o krzywej u.
--
pozdrawiam
Szczepan
[usuń imię oraz kropkę z mojego mejla]
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Jak cyfrowo zapisać dzwięk ?
Date: Thu, 9 Jun 2005 00:26:51 +0200
sawic wrote:
Wszędzie jest napisane że minumum to 8.
Gdzie "wszędzie"? :-) Dźwięk 4-bitowy jest całkiem
dobrze zrozumiały, 8 bitów to już w ogóle żadnych
problemów z czytelnością nie robi, a "jedynie" z jakością.
W końcu w telefonie stacjonarnym masz 8 bitów...
Pozdrawiam
Piotr Wyderski
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: Jak cyfrowo =?ISO-8859-2?Q?zapisa=E6_dzwi=EAk_=3F?=
Date: Thu, 09 Jun 2005 00:37:47 +0200
Piotr Wyderski wrote:
Gdzie "wszędzie"? :-) Dźwięk 4-bitowy jest całkiem
dobrze zrozumiały, 8 bitów to już w ogóle żadnych
problemów z czytelnością nie robi, a "jedynie" z jakością.
W końcu w telefonie stacjonarnym masz 8 bitów...
Nie do końca. Sygnał analogowy jest próbkowany i kompresowany
(kompandowany) a-law do 8 bitów, praktycznie ma dynamikę AFAIR 12 czy 13
bitów. Między centralami przesyłany jest strumień 8 kHz / 8 bitów, ale
po drugiej stronie znowu przekształcany (nieliniowo) na sygnał analogowy.
Spróbkuj jakiś dźwięk 8 kHz / 16 bitów, zamień na a-law (np. windozowym
rejestratorem dźwięku), zamień spowrotem na pcm 16 bitów i odtwórz. A
potem zrób to samo bez a-law ale od razu w 8 bitach. Wyraźnie słychać
różnicę.
--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/
Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.
From: sawic <sawic__at_nospam_wytnij.to.poczta.onet.pl>
Subject: Re: Jak cyfrowo =?ISO-8859-2?Q?zapisa=E6_dzwi=EAk_=3F?=
Date: Thu, 09 Jun 2005 02:02:38 +0200
Adam Dybkowski napisał(a):
Piotr Wyderski wrote:
Gdzie "wszędzie"? :-) Dźwięk 4-bitowy jest całkiem
dobrze zrozumiały, 8 bitów to już w ogóle żadnych
problemów z czytelnością nie robi, a "jedynie" z jakością.
W końcu w telefonie stacjonarnym masz 8 bitów...
Nie do końca. Sygnał analogowy jest próbkowany i kompresowany
(kompandowany) a-law do 8 bitów, praktycznie ma dynamikę AFAIR 12 czy 13
bitów. Między centralami przesyłany jest strumień 8 kHz / 8 bitów, ale
po drugiej stronie znowu przekształcany (nieliniowo) na sygnał analogowy.
Spróbkuj jakiś dźwięk 8 kHz / 16 bitów, zamień na a-law (np. windozowym
rejestratorem dźwięku), zamień spowrotem na pcm 16 bitów i odtwórz. A
potem zrób to samo bez a-law ale od razu w 8 bitach. Wyraźnie słychać
różnicę.
A może ktoś mógłby zaproponować jakąś ciekawą stronę, gdzie to by było
ładnie rozpisane.
W sumie zasada przesyłu dzwięku z telefonu stacjonarnego do cyfrowej
centrali by mi wszystko wyjaśniła, bo taka jakość dzwięku była by dla
mnie w pełni zadowalająca.
Myślałem, że to popularne zagadnienie, ale chyba muszę się zapisać na
kurs guglowania, bo potrafie tylko znaleźć gotowe chipy lub instrukcję
rozebrania plastikowej obudowy telefonu stacjonarnego :(
Pozdrawiam.
From: "Marek Dzwonnik" <mdz_at_nospam_WIADOMO_PO_CO_TO.message.pl>
Subject: =?iso-8859-2?Q?Re:_Jak_cyfrowo_zapisa=E6_dzwi=EAk_=3F?=
Date: Thu, 9 Jun 2005 02:16:26 +0200
Użytkownik "sawic" <sawic__at_nospam_wytnij.to.poczta.onet.pl> napisał w
wiadomości news:d880un$cu8$1_at_nospam_news.onet.pl
Spróbkuj jakiś dźwięk 8 kHz / 16 bitów, zamień na a-law (np.
windozowym rejestratorem dźwięku), zamień spowrotem na pcm 16 bitów
i odtwórz. A potem zrób to samo bez a-law ale od razu w 8 bitach.
Wyraźnie słychać różnicę.
A może ktoś mógłby zaproponować jakąś ciekawą stronę, gdzie to by było
ładnie rozpisane.
W linku poniżej znajdziesz parę zdań na temat A-law i u-law. Nie jest to
formalny opis, ale zasadę da się zrozumieć:
http://www.edn.com/archives/1998/050798/10di.pdf
--
Marek Dzwonnik, GG: #2061027 - zwykle jako 'niewidoczny'
(Uwaga Gadu-Gadulcowicze: Nie odpowiadam na anonimy.)
From: "Marek." <marek4_wytnij__at_nospam_op.pl>
Subject: Re: Jak cyfrowo zapisać dzwięk ?
Date: Thu, 9 Jun 2005 13:49:09 +0200
Piotr Wyderski wrote:
Gdzie "wszędzie"? :-) Dźwięk 4-bitowy jest całkiem
dobrze zrozumiały, 8 bitów to już w ogóle żadnych
problemów z czytelnością nie robi, a "jedynie" z jakością.
W końcu w telefonie stacjonarnym masz 8 bitów...
Nie do końca. Sygnał analogowy jest próbkowany i kompresowany
(kompandowany) a-law do 8 bitów, praktycznie ma dynamikę AFAIR 12 czy 13
bitów. Między centralami przesyłany jest strumień 8 kHz / 8 bitów, ale po
drugiej stronie znowu przekształcany (nieliniowo) na sygnał analogowy.
Ktoś mógłby wywnioskować, że kompresja = kompandacja...
Sygnał (po przetworzeniu A/C 12 bitowym przetwornikiem) jest
kompandowany z 12bitów do ... 13 bitów ;-D
Dokładniej - najpierw kompresja 12->8 (krzywa logarytmiczna w/g prawa A,
dla małych sygnałów przenoszona jest pełna rozdzielczość 12-bitowa, dla
większych
co raz mniejsza), a odbiorniku ekspansja 8 ->13bitów i przetwarzanie
przetwornikiem
12-bitowym.
Pozdrawiam,
Marek.
From: "PAndy" <pandrw_at_nospam_poczta.onet.pl>
Subject: Re: Jak cyfrowo zapisać dzwięk ?
Date: Thu, 9 Jun 2005 14:40:10 +0200
"Marek." <marek4 wytnij_at_nospam_op.pl> wrote in message
news:d89am7$qul$1_at_nospam_nemesis.news.tpi.pl...
Ktoś mógłby wywnioskować, że kompresja = kompandacja...
Hm nazwalbym to raczej kompandowaniem
kompandor kompresuje dynamike sygnalu wiec tak mozna zalozyc ze kompresja =
kompandowanie
Sygnał (po przetworzeniu A/C 12 bitowym przetwornikiem) jest
kompandowany z 12bitów do ... 13 bitów ;-D
Zazwyczaj przetwornik ma 16 bitow
Dokładniej - najpierw kompresja 12->8 (krzywa logarytmiczna w/g prawa A,
dla małych sygnałów przenoszona jest pełna rozdzielczość 12-bitowa, dla
większych
co raz mniejsza), a odbiorniku ekspansja 8 ->13bitów i przetwarzanie
przetwornikiem
12-bitowym.
Tu zazwyczaj przetwornik ma 14 - 16 bitow.
From: "Marek." <marek4_wytnij__at_nospam_op.pl>
Subject: Re: Jak cyfrowo zapisać dzwięk ?
Date: Thu, 9 Jun 2005 15:18:33 +0200
Heh, chodzilo mi generalnie o to, ze kompandowanie laczy
w sobie proces kompresji oraz ekspansji sygnalu, a Ty
napisałeś, że
kompandor kompresuje dynamike sygnalu wiec tak mozna zalozyc ze kompresja
=
kompandowanie
i też masz racje, bo piszesz o kompresji dynamiki :)
Faktycznie, przetworniki zazwyczaj mają "więcej" bitów,
a pisałem o 12, bo jest to jest minimum potrzebne do zapewnienia
odpowiedniego S/N dla małych S (z tego, co pamiętam:)
Pozdrawiam,
Marek
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Jak cyfrowo zapisać dzwięk ?
Date: Wed, 8 Jun 2005 23:39:57 +0200
sawic wrote:
Z jaką częstotliwością i jaką rozdzielczością powinien być próbkowany ten
dzwięk aby dało się go później łatwo odtworzyć ?
Łatwo odtworzyć na czym?
Powiedzmy ze interesuje mnie jakość telefoniczna czyli pasmo chyba 8kHz
Nie pasmo, tylko częstotliwość próbkowania. Pasmo to (co najmniej)
dwukrotnie mniej.
I czemu 8 a nie 4-ry ? Przecież ludzka mowa zawiera się w przedziale 300 -
3800 Hz.
Właśnie dlatego.
Zwykły przetwornik C/A o takich samych parametrach, jak ten wcześniej
użyty
Nie musi mieć takich samych.
wystarczy ?
Tak.
Pozdrawiam
Piotr Wyderski