10 bitlik ses kaydı, dinlendiğinde anlaşılır mı?

Başlatan ziyaretci, 23 Şubat 2018, 20:52:09

ziyaretci

Merhaba, basit bir denetleyici ile 10 bit çözünürlükte, 41.1kHz örneklemesinde ses kaydedeceğim, RAM olur ROM olur.

Merak ettiğim şu; 10 bitlik ses çözünürlüğü tekrar dinlendiğinde anlaşılır mı? Mesela insan sesi belli olur mu? Nette 8 bitlik müzikleri(atari) dinledim. 8 bit ile olacak iş değil. Acaba 10 bit yeterli midir insan sesinin tınısı için?

Bunu yapan entegreler var biliyorum, ama benim araştırmam farklı bir neden için, sorunun dışına çıkmazsak sevinirim.

Bu konuda varsa deneyiminiz ve paylaşırsanız memnun olurum.

Teşekkür ederim.

Elektroemre

8-Bit 32KHz ile insan sesi için çok çok yeterli.
Dinlediğiniz 8-Bit atari müziklerinin, cihaz işlemcileri 8-Bit olduğundan öyle deniliyor. Analog ses örneği ile alakası yok.

OptimusPrime

8 bit 8kHz ile orneklenmis sesi (konusma - muzik degil) rahatca anlarsin bu eskiden telefonlarda kullanilirdi.

https://en.wikipedia.org/wiki/Sampling_(signal_processing)
https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||

cetin1990

Konuşma sesi 8 bit ile telefon kalitesinde anlaşılır. 10 bit olursa  çok iyi olur.

41.1kHz 8 bit bile olsa konuşma için gayet yeterlidir.  Erkek sesi biraz bas olduğundan  daha iyi olur.
aşağıdak demo ses var. 44k8bit bayan
http://uppit.com/atlwzvns5ohk

yas

Şahsen 16bitlik ses kaydı ile 8 bitlik ses kaydını benim kulağım hiç bir şekilde algılayamadı. Asıl kriter örnekleme frekansı bence 22khz üstü insan sesi için yeterli oluyor. Ses editör programları yardımıyla yada windows ses kaydedicisi (windows eski versiyonlardaki) ile her hangi bir ses dosyasını 8bit ve 16bit olarak tekrar düzenle örneklemeleri aynı olmak şartıyla seste bir farklılık algılayamayacağını düşünüyorum.


Not: mesajı yazana kadar arkadaşlarda belirtmişler.

RaMu

Yanlış ses dinlemişsin,
istediğin bir şarkıyı veya ses kaydını 8 bit e çevirip denesen
yeterli olduğu kanısına varırsın.
Online dönüştürücülerde var,
kullandığım bir tanesi
https://audio.online-convert.com/convert-to-wav
veya ücretsiz audacity programını kullanabilirsin.


Tabi ne kadar kalite istediğine göre çözünürlüğü arttırmakta fayda var
en ideali CD kalitesi denen 44.1kHz 16 bit.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

ziyaretci

Verdiğiniz bilgiler için teşekkür ederim. Ben şimdi 8 bitlik ADC ile sesi 32kHz ve üstü örnekleme ile okuma yapsam iş görecek.


Bu konuyu açtıktan sonra nette biraz gezindim. Benim ilk aklıma gelen kaydettiğim dijital veriyi bir DAC vasıtasıyla okurkenki örnekleme frekansın ile aynı şekilde dışa aktarmaktı. Daha sonrası için amfi devresi filan ayarların diye düşünüyordum.(Gerçi her harükarda kullanacağım.) Araştırmalarım sonucunda gördüm ki kaydedilen veriyi PWM ile dışa aktarım örnekleri var. PWM çıkışına birde RC koyulmuş. PicProjenin geçmiş konularında gördüm.


PWM ile dışa aktarım olayı kafamı karıştırdı, aslında mantığını bilmiyorum. Şimdi biraz kafa yorayım;


Ben belli bir örnekleme frekansı ile ADC 8 bit veriler okudum, kaydettim. Şimdi benim okuduğum ve kaydettiğim veri genlik verisi...


Ben bu genlik verisini PWM üzerinden tekrar nasıl ses sinyaline  dönüştürebilirim?


Acaba duty oranları ile çıkıştaki RC'nin şarj süresine bağlı olarak onun üzerindeki genlik değeri olarak mı?


Eğer öyleyse RC'nin değerleri nasıl ve neye göre hesaplanacak?





RaMu

PWM Wav player aslında dediğin,
bu aralar biraz bu konuda deneme yapıyorum bende ama
istediğim kaliteye erişemedim. (16F1827 ile deniyorum.)


Örneğin 1MHz frekansında bir PWM üretiyorsun,
DUTY oranı %0 %100 arasında değiştirebilirsin,
buna 8 bit bir PWM için 0~255 arası da diyebilirsin,
seçeceğin RC aslında bu 1MHz kısmını filtreleyecek.


ADC ile 8 bit 44.1 kHz de örnekler almıştın diyelim,
yani elinde 1/44.1 k süre için 0~255 arası bir değer var,
1MHz frekanslı PWM sinyalinin DUTY değerini
her 1/44.1 k zamanda bir
sıradaki örnek değerini yazarak güncelliyorsun,
PWM Duty ye 0~255 arası ne yazarsan
aslında 0~Vdd arası bir gerilim oluyor
çıkış kondansatöründe - yükünde - hoparlörde.


Yani örnek alırken yaptığın işin tersini yapmış oluyorsun PWM ile.


PWM bir nevi DAC görevi görüyor.




Öncelikle ADC ile değer elde etmek yerine
hazır bildiğin wav dosyasını PWM ile sese çevirmen daha iyi olur,
dediğim gibi wav RAW-ham ADC örnekleri zaten.

Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

OptimusPrime

@RaMu
1MHz oldukca yuksek bir deger bu kadarina gerek yok. ornekleme frekansinda bir PWM de is gorur. Bundan sonra RC cok da onemli degil cunki hoparlarun kendisi zaten bunu filtre edecektir (mukemmel olmasada) Bu arada daha oncede bahsetmistik degerlerin isaretli olmasi gerekiyor. aksi durumda cikis kapasitesinde dc olusturuyorsun buda gurultu getiriyor. yani 127 aslina 0 noktasi ki buda %50 darbe bosluk oranina denk geliyor.

birde suanki sisteminde (isaretsiz olan) girise saf sinus verip cikisina scope ile baksan isaretsiz sistemin zaralarini daha rahat goreceksin.
https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||

ziyaretci

Peki PWM sinyal kaynaklı, işaretli sinyal üreten bir entegre, yöntem var mı hocalarım?