• Dijital sesin kalitesini hangi parametreler belirler? Formatlar: dijital ses nasıldır Dijitalleştirilmiş sesin kalitesi şunlara bağlıdır:

    Ses Yoğunluğu ve frekansı sürekli değişen, çoğunlukla hava, su veya diğer ortamlarda yayılan bir dalgadır.

    Bir kişi, ses dalgalarını (hava titreşimlerini) ses şeklinde duyma yardımıyla, ses ve ton ayrımı yaparken algılayabilir.

    Daha fazla yoğunluk ses dalgası, ses ne kadar yüksekse, dalganın frekansı o kadar yüksek, sesin tonu o kadar yüksek olur.


    Ses yüksekliğinin ve ses perdesinin ses dalgasının yoğunluğuna ve frekansına bağımlılığı

    Hertz(Hz veya Hz ile gösterilir) - periyodik süreçlerin (örneğin salınımlar) sıklığı için bir ölçü birimi. 1 Hz, böyle bir işlemin bir saniyede bir kez yürütülmesi anlamına gelir: 1 Hz = 1/s.

    10 Hz'imiz varsa, bu, bir saniyede böyle bir işlemin on yürütmemiz olduğu anlamına gelir.

    İnsan kulağı, sesi saniyede 20 titreşim (20 Hertz, düşük ses) ile saniyede 20.000 titreşim (20 kHz, yüksek ses) arasında değişen frekanslarda algılayabilir.

    Ek olarak, bir kişi sesi, maksimum yoğunluğun minimumdan 1014 kat daha fazla (yüz milyar kez) olduğu çok çeşitli yoğunluklarda algılayabilir.

    Sesin yüksekliğini ölçmek için özel bir birim icat edilmiş ve kullanılmıştır. desibel" (dB)

    Ses hacminin 10 dB azalması veya artması, ses yoğunluğunun 10 kat azalmasına veya artmasına karşılık gelir.

    Desibel cinsinden ses seviyesi


    Bilgisayar sistemlerinin sesi işlemesi için, sürekli bir ses sinyalinin zamansal örnekleme kullanılarak dijital, ayrı bir forma dönüştürülmesi gerekir.

    Bunu yapmak için, sürekli bir ses dalgası ayrı küçük zaman bölümlerine bölünür, bu tür her bölüm için belirli bir miktarda ses yoğunluğu ayarlanır.

    Böylece, ses yüksekliğinin süre A(t) üzerindeki sürekli bağımlılığının yerini, ayrı bir ses yüksekliği seviyeleri dizisi alır. Grafikte bu, düz bir eğriyi bir dizi "adım" ile değiştirmek gibi görünüyor.


    Geçici Ses Örnekleme


    Ses kartına bağlı bir mikrofon, analog sesi kaydetmek ve dijital forma dönüştürmek için kullanılır.

    Ayrı şeritler grafikte ne kadar yoğun bulunursa, sonuç orijinal sesi yeniden oluşturmak için o kadar iyi olacaktır.

    Alınan dijital sesin kalitesi, birim zamandaki ses seviyesi ölçüm sayısına, yani örnekleme frekansına bağlıdır.

    Ses örnekleme oranı ses hacminin bir saniyedeki ölçüm sayısıdır.

    Bir saniyede ne kadar çok ölçüm yapılırsa (örnekleme hızı o kadar yüksek), dijital ses sinyalinin "merdiveni" analog sinyalin eğrisini o kadar doğru tekrarlar.

    Grafikteki her "adım"a belirli bir ses seviyesi değeri atanır. Ses seviyesi seviyeleri bir dizi olası durum olarak düşünülebilir. N kodlamak için belirli miktarda bilgi gerektiren (derecelendirmeler) BEN, buna ses kodlama derinliği denir.

    Ses kodlama derinliği ayrık dijital ses yüksekliği düzeylerini kodlamak için gereken bilgi miktarıdır.

    Kodlama derinliği biliniyorsa, dijital ses düzeyi sayısı genel formül kullanılarak hesaplanabilir. N = 2 ben.

    Örneğin, ses kodlama derinliği 16 bit ise, ses ses seviyesi sayısı şu şekildedir:

    N = 2 ben = 2 16 = 65536.

    Kodlama işlemi sırasında, her bir ses seviyesi seviyesine kendi 16 bitlik ikili kodu atanır, en düşük ses seviyesi 0000000000000000 ve en yüksek - 1111111111111111 koduna karşılık gelir.

    Dijitalleştirilmiş sesin kalitesi


    Bu nedenle, örnekleme frekansı ve ses kodlama derinliği ne kadar yüksek olursa, sayısallaştırılmış sesin kalitesi o kadar iyi olur ve sayısallaştırılmış ses, orijinal sese daha yakın hale getirilebilir.

    Telefon iletişiminin kalitesine karşılık gelen en düşük sayısallaştırılmış ses kalitesi, saniyede 8000 kez örnekleme hızında, 8 bitlik örnekleme derinliğinde ve bir ses parçasının kaydedilmesinde ("mono" mod) elde edilir.

    Bir ses CD'sinin kalitesine karşılık gelen en yüksek sayısallaştırılmış ses kalitesi, saniyede 48.000 kez örnekleme oranı, 16 bit örnekleme derinliği ve iki ses parçasının kaydedilmesi (stereo modu) ile elde edilir.

    Unutulmamalıdır ki dijital sesin kalitesi ne kadar yüksek olursa, ses dosyasının bilgi hacmi de o kadar büyük olur.

    Orta ses kalitesine sahip (16 bit, saniyede 24.000 örnek) 1 saniyelik bir dijital stereo ses dosyasının bilgi hacmini kolaylıkla tahmin edebilirsiniz. Bunu yapmak için, kodlama derinliği 1 saniyedeki ölçüm sayısıyla ve 2 kanalla (stereo ses) çarpılmalıdır:

    16 bit × 24.000 × 2 = 768.000 bit = 96.000 bayt = 93,75 KB.

    Ses editörleri


    Ses editörleri, yalnızca ses kaydetmenize ve çalmanıza değil, aynı zamanda düzenlemenize de olanak tanır. En göze çarpan, güvenli bir şekilde çağrılabilir, örneğin Sony Sound Forge, Adobe Seçmeleri, altın dalga ve diğerleri.

    Sayısallaştırılmış ses, ses editörlerinde net bir görsel formda sunulur, böylece bir ses parçasının kopyalanması, taşınması ve parçalarının silinmesi işlemleri bilgisayar faresi kullanılarak kolayca gerçekleştirilebilir.

    Ek olarak, ses parçalarını üst üste bindirebilir, üst üste bindirebilir (sesleri karıştırabilir) ve çeşitli akustik efektler (yankı, ters oynatma, vb.) uygulayabilirsiniz.

    Ses editörleri, örnekleme oranını ve kodlama derinliğini değiştirerek dijital sesin kalitesini ve son ses dosyasının ses seviyesini değiştirmenize olanak tanır. Sayısallaştırılmış ses, evrensel WAV formatında (Microsoft'un formatı) veya OGG, MP3 (kayıplı) sıkıştırılmış formatlarda ses dosyaları olarak sıkıştırılmamış olarak kaydedilebilir.
    Daha az yaygın olan ancak kayıpsız sıkıştırmaya sahip kayda değer biçimler de mevcuttur.

    Sesi sıkıştırılmış formatlarda kaydederken, insan algısı için duyulamayan ve algılanamayan ("aşırı") olan ve yüksek yoğunluklu ses frekanslarıyla zaman içinde çakışan düşük yoğunluklu ses frekansları atılır. Bu formatın kullanılması, ses dosyalarını onlarca kez sıkıştırmanıza izin verir, ancak geri dönüşü olmayan bilgi kaybına yol açar (dosyalar orijinal, orijinal hallerine geri yüklenemez).

    Bitler, hertz, şekil titremesi...

    Bu kavramların arkasında ne gizli? Audio compact disc (CD Audio) standardı geliştirilirken değerler alınmıştır. 44 kHz, 16 biraz ve 2 kanal (yani stereo). Neden tam olarak bu kadar çok? Bu seçimin nedeni nedir ve ayrıca neden bu değerleri diyelim ki 96 kHz ve 24 hatta 32 bit'e çıkarmak için girişimlerde bulunulmaktadır ...

    Önce örnekleme çözünürlüğüyle, yani bit derinliğiyle ilgilenelim. Öyle oluyor ki, 16, 24 ve 32 sayıları arasında seçim yapmanız gerekiyor. Ara değerler elbette ses açısından daha uygun olacaktır, ancak dijital teknolojide kullanım için çok tatsız olacaktır (oldukça tartışmalı ifadesi, birçok ADC'nin 11 veya 12 bit dijital çıkışa sahip olduğu göz önüne alındığında - durum notu).

    Bu parametre neden sorumludur? Özetle - dinamik aralık için. Eşzamanlı olarak yeniden üretilen seslerin aralığı, çözünürlüğün izin verdiği maksimum genlikten (0 desibel) en küçük genliğe kadar, örneğin 16 bit ses için yaklaşık eksi 93 desibeldir. Garip bir şekilde, bu, fonogramın gürültü seviyesiyle güçlü bir şekilde ilişkilidir. Prensip olarak, 16 bit ses için -120 dB gücünde sinyaller iletmek oldukça mümkündür, ancak bu sinyallerin aşağıdaki gibi temel bir kavram nedeniyle pratikte uygulanması zor olacaktır. örnekleme gürültüsü. Gerçek şu ki, dijital değerleri alırken, gerçek analog değeri mümkün olan en yakın dijital değere yuvarlayarak her zaman hatalar yapıyoruz. Mümkün olan en küçük hata sıfırdır, ancak maksimum hata son basamağın yarısıdır (bit, bundan sonra LSB terimi MB olarak kısaltılacaktır). Bu hata bize sözde örnekleme gürültüsünü verir - sayısallaştırılmış sinyal ile orijinal arasındaki rastgele bir tutarsızlık. Bu gürültü sabittir ve en önemsiz basamağın yarısına eşit bir maksimum genliğe sahiptir. Bu, dijital bir sinyale karıştırılmış rastgele değerler olarak düşünülebilir. Bazen buna yuvarlama veya niceleme gürültüsü denir (bu daha doğru bir addır, çünkü genlik kodlamasına niceleme denir ve örnekleme, sürekli bir sinyali ayrık (darbeli) bir diziye - yaklaşık durum) dönüştürme işlemidir.

    Bitlerle ölçülen sinyal gücünün ne anlama geldiği üzerinde daha ayrıntılı olarak duralım. Dijital ses işlemede en güçlü sinyal genellikle 0 dB olarak alınır ve bu, 1'e ayarlanan tüm bitlere karşılık gelir. En önemli bit (bundan sonra SB olarak anılacaktır) sıfıra ayarlanırsa, ortaya çıkan dijital değer yarı yarıya olacaktır, bu da 6 desibellik bir seviye kaybına karşılık gelir (10 * log(2) = 6). Böylece birimleri en yüksekten en düşüğe sıfırlayarak, sinyal seviyesini altı desibel azaltacağız. Minimum sinyal seviyesinin (biri en önemsiz basamakta ve diğer tüm basamaklar sıfırdır) (N-1) * 6 desibel olduğu açıktır; burada N, örneğin bit derinliğidir. 16 bit için en zayıf sinyalin seviyesini alıyoruz - 90 desibel.

    "LSB'nin yarısı" dediğimizde, -90/2'yi kastetmiyoruz, bir sonraki bitin yarısı - yani 3 desibel daha düşük, eksi 93 desibel.

    Sayısallaştırma çözünürlüğü seçimine dönüyoruz. Daha önce bahsedildiği gibi, sayısallaştırma, en önemsiz basamağın yarısı düzeyinde parazit ortaya çıkarır; bu, bir kaydın 16 bitte sayısallaştırıldığı anlamına gelir. sürekli gürültü yapmak eksi 93 desibelde. Sinyalleri daha da sessiz iletebilir, ancak gürültü hala -93 dB'de kalır. Bu temelde, dijital sesin dinamik aralığı belirlenir - sinyal-gürültü oranının gürültü / sinyale dönüştüğü yerde (kullanışlı sinyalden daha fazla gürültü vardır), bu aralığın alt sınırı bulunur. Böylece, ana sayısallaştırma kriteri - ne kadar gürültü geri yüklenen bir sinyali karşılayabilir miyiz? Bu sorunun cevabı kısmen orijinal kayıtta ne kadar gürültü olduğuna bağlıdır. Önemli bir çıkarım, eğer bir şeyi eksi 80 desibelde sayısallaştırıyorsak, onu 16 bitten fazla sayısallaştırmak için kesinlikle hiçbir neden yoktur, çünkü bir yandan, -93 dB gürültü zaten çok büyük olan (nispeten) gürültüye çok az şey katar - 80 gürültü dB ve öte yandan - fonogramın kendisinde -80 dB'den daha sessiz, gürültü / sinyal zaten başlıyor ve böyle bir sinyali sayısallaştırmak ve iletmek gerekli değil.

    Teorik olarak, sayısallaştırma çözünürlüğü seçmek için tek kriter budur. Daha fazla biz katkıda bulunma kesinlikle deforme ve yanlışlık yoktur. Uygulama, garip bir şekilde, teoriyi neredeyse tamamen tekrarlıyor. Ses CD'leri için 16 bit çözünürlüğü seçen insanlara rehberlik eden şey buydu. Gürültü eksi 93 desibel, oldukça iyi bir durumdur ve bu, algımızın koşullarına neredeyse tam olarak karşılık gelir: ağrı eşiği (140 desibel) ile şehirdeki normal arka plan gürültüsü (30-50 desibel) arasındaki fark sadece yüz kadardır. desibel ve acı veren ses seviyesinde müzik dinlemedikleri göz önüne alındığında - bu da aralığı daha da daraltıyor - odanın ve hatta ekipmanın gerçek seslerinin niceleme gürültüsünden çok daha güçlü olduğu ortaya çıkıyor. Dijital bir kayıtta eksi 90 desibelin altındaki bir seviyeyi duyabilirsek, niceleme gürültüsünü duyar ve algılarız, aksi takdirde bu sesin dijital mi yoksa canlı mı olduğunu asla belirleyemeyiz. Dinamik aralık açısından başka hiçbir fark yoktur. Ancak prensipte, bir kişi 120 desibel aralığında anlamlı bir şekilde duyabilir ve 16 bitin baş edemediği görünen tüm aralığı korumak güzel olurdu.

    Ancak bu sadece ilk bakışta: adı verilen özel bir tekniğin yardımıyla. şekilli titreme, örnekleme gürültüsünün frekans spektrumunu değiştirebilir, neredeyse tamamen 7-15 kHz'den daha yüksek bir bölgeye taşıyabilirsiniz. Kalan frekans aralığında ek bir dinamik aralık için frekans çözünürlüğünü değiştiriyoruz (sessiz yüksek frekansları yeniden üretmeyi reddediyoruz). İşitme özelliğimizle birlikte - atılan yüksek frekans bölgesine duyarlılığımız, ana bölgeye (2-4 kHz) göre onlarca dB daha düşüktür - bu, nispeten gürültüsüz faydalı sinyallerin iletilmesini 10 ek olarak mümkün kılar. -93 dB'den -20 dB daha sessiz - bu nedenle, bir kişi için 16 bit sesin dinamik aralığı yaklaşık 110 desibeldir. Ve genel olarak - aynı zamanda, bir kişi az önce duyulan yüksek bir sesten 110 desibel daha sessiz sesleri duyamaz. Göz gibi kulak da çevredeki gerçekliğin ses seviyesine uyum sağlar, bu nedenle eşzamanlı işitme aralığımız nispeten küçüktür - yaklaşık 80 desibel. Frekans konularını tartıştıktan sonra dithring hakkında daha ayrıntılı olarak konuşalım.

    CD'ler için örnekleme hızı 44100 Hz'dir. 22.05 kHz'e kadar tüm frekansların yeniden üretildiğine dair (Kotelnikov-Nyquist teoreminin yanlış anlaşılmasına dayanan) bir görüş var, ancak bu tamamen doğru değil. Ancak sayısallaştırılmış sinyalde 22.05 kHz'in üzerinde frekans olmadığını kesin olarak söyleyebiliriz. Sayısallaştırılmış sesin yeniden üretiminin gerçek resmi her zaman şunlara bağlıdır: özel teknik ve her zaman istediğimiz kadar mükemmel ve teori ile tutarlı değildir. Her şey belirli DAC'ye (dijital diziden ses sinyali almaktan sorumlu dijital-analog dönüştürücü) bağlıdır.

    Önce ne almak istediğimizi bulalım. Orta yaşlı bir kişi (oldukça genç) 10 Hz'den 20 kHz'e kadar sesleri hissedebilir, duymak anlamlıdır - 30 Hz'den 16 kHz'e. Üstteki ve alttaki sesler algılanır, ancak akustik bir duyum oluşturmaz. 16 kHz'in üzerindeki sesler rahatsız edici hoş olmayan bir faktör olarak hissedilir - kafadaki baskı, ağrı, özellikle yüksek sesler o kadar keskin bir rahatsızlık getirir ki odadan çıkmak istersiniz. Hoş olmayan hisler o kadar güçlü ki, güvenlik cihazlarının eylemi buna dayanıyor - birkaç dakikalık çok yüksek frekanslı bir ses herkesi çıldırtacak ve böyle bir ortamda herhangi bir şey çalmak kesinlikle imkansız hale geliyor. Yeterli genliğe sahip 30 - 40 Hz'in altındaki sesler nesnelerden (hoparlörlerden) gelen titreşim olarak algılanır. Aksine, öyle bile söylenebilirdi - sadece bir titreşim. Bir kişi akustik olarak bu kadar düşük seslerin uzamsal konumunu neredeyse belirlemez, bu nedenle diğer duyu organları zaten kullanılıyor - dokunsal, bu tür sesleri vücudumuzla hissediyoruz.

    Yüksek frekanslarda, en azından kesin olarak her şey biraz daha kötü daha zor. DAC ve ADC'deki iyileştirmelerin ve komplikasyonların neredeyse tamamı, tam olarak yüksek frekansların daha güvenilir bir şekilde iletilmesini amaçlamaktadır. "Yüksek" ile, örnekleme frekansıyla karşılaştırılabilir frekansları kastediyoruz - yani 44,1 kHz durumunda, bu 7-10 kHz ve daha yüksektir.

    44.1 kHz örnekleme hızıyla dijitalleştirilmiş, 14 kHz frekanslı sinüzoidal bir sinyal düşünün. Giriş sinüzoidinin bir periyodu için yaklaşık üç nokta (sayım) vardır ve orijinal frekansı bir sinüzoid şeklinde geri yüklemek için biraz hayal gücü göstermeniz gerekir. Örneklerden dalga biçimini geri yükleme işlemi DAC'de de gerçekleşir, bu kurtarma filtresi tarafından yapılır. Ve nispeten düşük frekanslar neredeyse hazır sinüzoidler ise, o zaman yüksek frekansların restorasyonunun şekli ve buna bağlı olarak kalitesi tamamen DAC restorasyon sisteminin vicdanına bağlıdır.Böylece, sinyal frekansı bir saniyeye ne kadar yakınsa örnekleme frekansı, sinyal şeklini eski haline getirmek o kadar zor olur.

    Yüksek frekansları üretirken ana sorun budur. Ancak sorun göründüğü kadar kötü değil. Tüm modern DAC'ler, dijital olarak birkaç kat daha yüksek bir örnekleme hızına geri yükleme ve ardından onu artan bir frekansta bir analog sinyale dönüştürmeyi içeren çok oranlı teknolojiyi kullanır. Böylece, yüksek frekansları geri yükleme sorunu, çok yüksek kalitede olabilen dijital filtrelerin omuzlarına kaydırılır. O kadar yüksek kalite ki, pahalı cihazlar söz konusu olduğunda sorun tamamen kaldırıldı - 19-20 kHz'e kadar bozulmamış frekans reprodüksiyonu sağlar. Yeniden örnekleme, çok pahalı olmayan cihazlarda da kullanılır, bu nedenle prensipte bu sorun da çözülmüş sayılabilir. 30 - 60 $ (ses kartları) bölgesindeki cihazlar veya 600 $ 'a kadar olan müzik merkezleri, genellikle DAC'de bu ses kartlarına benzer, 10 kHz'e kadar, tolere edilebilir şekilde 14 - 15'e kadar ve bir şekilde geri kalanı mükemmel şekilde üretir. Bu epeyceçoğu gerçek müzik uygulaması için yeterlidir ve eğer birisi daha fazla kaliteye ihtiyaç duyarsa - bunu profesyonel kalitede cihazlarda bulacaktır, ki bunlar çok daha pahalı değildir - sadece akıllıca yapılmıştır.

    Taklit etmeye geri dönelim, dinamik aralığı 16 bitin üzerine nasıl faydalı bir şekilde çıkarabileceğimizi görelim.

    Titreşim fikri, sinyale karışmaktır gürültü. Kulağa tuhaf gelse de, gürültüyü ve rahatsız edici niceleme etkilerini azaltmak için, eklemek senin sesin Bir örnek ele alalım - CoolEdit'in 32 bitte çalışma yeteneğini kullanalım. 32 bit, 16 bitten 65 bin kat daha doğrudur, yani bizim durumumuzda 32 bit analog orijinal olarak kabul edilebilir ve onu 16 bit'e dönüştürmek sayısallaştırmadır. Orijinal 32 bit sesteki en yüksek ses seviyesi eksi 110 desibele karşılık gelsin. Bu, duyulabilir en zayıf sesin eksi 90 desibele karşılık geldiği 16 bitlik sesin dinamik aralığından biraz daha sessizdir. Bu nedenle, verileri basitçe 16 bit'e yuvarlarsak, tam bir dijital sessizlik elde ederiz.

    Sinyale eksi 90 desibel seviyesinde (yani, geniş bant ve tüm frekans bandında tekdüze) "beyaz" gürültü ekleyelim, yaklaşık olarak niceleme gürültüsü düzeyine karşılık gelir. Şimdi, bu sinyal ve "beyaz" gürültü karışımını 16 bite dönüştürürsek (yalnızca tamsayı değerler mümkündür - 0, 1, -1, ...), o zaman sinyalin bir kısmının kaldığı ortaya çıkıyor. Orijinal sinyalin daha yüksek bir seviyeye sahip olduğu yerde, daha düşük olanın sıfır olduğu daha fazla birlik vardır.

    Yukarıdaki yöntemin deneysel olarak doğrulanması için Cool Edit ses düzenleyicisini (veya 32 bit formatı destekleyen başka herhangi birini) kullanabilirsiniz. Ne olduğunu duymak için sinyali 14 bit (78 dB) yükseltmelisiniz.

    Sonuç, eksi 110 desibel olan orijinal sinyali içeren gürültülü 16 bit sestir. Prensip olarak, bu, genellikle neredeyse kendiliğinden ortaya çıkan dinamik aralığı genişletmenin standart yoludur - her yerde yeterince gürültü vardır. Bununla birlikte, bu kendi başına oldukça anlamsızdır - örnekleme gürültüsünün seviyesi aynı seviyede kalır ve gürültüden daha zayıf bir sinyalin iletilmesi mantık açısından çok net değildir ... (Çok hatalı bir görüş, çünkü bir gürültü seviyesinden daha düşük bir seviyeye sahip sinyal, veri kodlamanın temel yöntemlerinden biridir.

    Daha karmaşık bir yol - şekilli titreme, çok sessiz seslerde hala yüksek frekansları duymadığımız için, gürültünün ana gücünün bu frekanslara yönlendirilmesi gerektiği anlamına gelirken, daha yüksek bir seviyedeki gürültüyü bile kullanabilirsiniz - kullanacağım 4 en önemsiz basamak düzeyi (16 bitlik sinyalde iki bit). Ortaya çıkan 32 bitlik sinyal ve gürültü karışımını 16 bitlik bir sinyale dönüştürüyoruz, yüksek frekansları (gerçekte bir kişi tarafından kulak tarafından algılanmayan) filtreliyoruz ve sonucu değerlendirebilmek için sinyal seviyesini yükseltiyoruz.

    Bu zaten oldukça iyi (son derece düşük bir ses seviyesi için) ses iletimi, gürültü, eksi 110 desibel başlangıç ​​​​seviyesiyle yaklaşık olarak sesin kendisine eşittir! önemli not: biz kabarık en önemsiz bitin yarısından (-93 dB) en önemsiz dört bite (-84 dB) kadar gerçek örnekleme gürültüsü, düşürme-93dB'den -110dB'ye kadar işitilebilir örnekleme gürültüsü. Sinyal gürültü oranı kötüleşti, ancak gürültü yüksek frekans bölgesine girdi ve işitilebilir olmaktan çıktı, bu da gerçek anlamda önemli bir gelişme(insan tarafından algılanabilir) sinyal-gürültü oranı.

    (Başka bir deyişle, gürültünün gücü, olduğu gibi, üst frekansları kaçırmadan frekans aralığının üzerine "bulaştığından", gücün bir kısmını ondan alırız, bunun sonucunda sinyal - gürültü oranı, sinyallerin zamansal temsilinde iyileşir. - Yaklaşık stat.)

    Uygulamada, bu zaten 20 bitlik ses örneklemesinin gürültü seviyesidir. Bu teknolojinin tek koşulu, gürültü için frekansların varlığıdır. 44,1 kHz ses, sessiz bir ses seviyesinde duyulamayan 10-20 kHz frekanslarında parazit yerleştirmeyi mümkün kılar. Ancak 96 kHz'de dijitalleştirirseniz, gürültü için frekans alanı (insanlar tarafından duyulamaz) o kadar büyük olacaktır ki, şekillendirilmiş titreme kullanıldığında 16 bit Gerçekten 24'ün tamamına dönüş.

    [Not: PC Hoparlörü tek bitlik bir cihazdır, ancak oldukça yüksek bir maksimum örnekleme hızına sahiptir (tek bitin açık/kapalı). Özünde titremeye benzer, daha çok darbe genişliği modülasyonu adı verilen bir işlem kullanılarak, üzerinde oldukça yüksek kaliteli dijital ses çalındı ​​- bir bitten 5-8 bit düşük frekans çekildi ve yüksek bir örnekleme hızı ve yetersizlik bu kadar yüksek frekansları üretecek ekipman ve onları duyamamamız. Bununla birlikte, hafif, yüksek frekanslı bir ıslık - bu gürültünün işitilebilir kısmı - duyulabilirdi.]

    Böylece, şekillendirilmiş titreme, 16 bitlik sesin zaten düşük olan örnekleme gürültüsünü önemli ölçüde azaltmanıza olanak tanır, böylece kullanışlı (gürültüsüz) dinamik aralığı Tümü insan işitme alanı. Bir CD için 32 bitlik bir çalışma formatından son 16 bit'e çeviri yapılırken artık şekilli titreme her zaman kullanıldığından, 16 bitimiz bir sesli resmin tam olarak aktarılması için tamamen yeterlidir.

    Bu teknolojinin yalnızca materyali oynatmaya hazırlama aşamasında çalıştığına dikkat edilmelidir. Yüksek kaliteli sesi işlerken, basitçe gerekli her işlemden sonra titremeyi önlemek için 32 bitte kalın, 16 bite kadar daha iyi kodlama sonuçları elde edin. Ancak fonogramın gürültü seviyesi eksi 60 desibelden fazlaysa - en ufak bir vicdan azabı çekmeden tüm işlemleri 16 bit olarak gerçekleştirebilirsiniz. Ara titreşim, yuvarlama bozulmalarının olmamasını sağlar ve buna eklenen gürültü, yüzlerce kez mevcut olandan daha zayıf ve bu nedenle tamamen kayıtsız.

    Q:
    Neden 32 bit sesin 16 bit sesten daha iyi olduğu söyleniyor?
    A1: Onlar yanlış.
    A2: [Biraz farklı anlam ifade ediyorlar: sesi işlerken veya kaydederken gerek daha yüksek çözünürlük kullanın. onu kullanıyorlar Her zaman. Ancak bitmiş üründe olduğu gibi seste 16 bitten fazla çözünürlük gerekli değildir.]
    Q: Örnekleme hızını artırmak mantıklı mı (örneğin 48 kHz'e veya 96'ya kadar)?
    A1: sahip değil En azından DAC 44 kHz iletiminin tasarımında ne kadar yetkin bir yaklaşımla bütün istenen frekans aralığı
    A2: [Biraz farklı anlam ifade ediyorlar: mantıklı, ancak yalnızca sesi işlerken veya kaydederken.]
    Q: Yüksek frekansların ve bitliğin tanıtımı neden hala devam ediyor?
    A1: İlerlemenin ilerlemesi önemlidir. Nerede ve neden - o kadar önemli değil ...
    A2: Bu durumda birçok işlem daha kolaydır. Örneğin cihaz sesi işleyecekse bunu 96 kHz / 32 bitte yapması daha kolay olacaktır. Hemen hemen tüm DSP'ler, ses işleme için 32 bit kullanır ve dönüştürmeleri unutma yeteneği, daha kolay bir geliştirme ve yine de kalitede hafif bir artıştır. Ve genel olarak - daha fazla işlem için ses sahip 16 bitten daha yüksek bir çözünürlükte depolamak anlamına gelir. Yalnızca ses çalan ileri teknoloji cihazlar için bu, kesinlikle kayıtsız.
    Q: 32x veya 24x ve hatta 18 bit DAC'ler 16 bit olanlardan daha mı iyi?
    A: Genel olarak - HAYIR. Dönüşümün kalitesi, bit derinliğine hiç bağlı değildir. AC "97 codec bileşeni (50 doların altındaki modern bir ses kartı) 18 bit codec kullanır ve sesi bu saçmalıkla karşılaştırılamayacak 500 dolarlık kartlar 16 bit kullanır. 16 bit ses çalmak kesinlikle fark etmez..
    Ayrıca, çoğu DAC'nin tipik olarak aldıklarından daha az bit oynattığını akılda tutmakta fayda var. Örneğin, tipik bir ucuz codec bileşeninin gerçek gürültü seviyesi -90 dB'dir, bu 15 bittir ve kendisi 24 bit olsa bile - çalışmalarının sonucu olan "ekstra" 9 bitten herhangi bir getiri elde edemezsiniz. , mevcut olsa bile kendi sesinde boğulur. En ucuz cihazlar sadece görmezden gelmek ek bitler - DAC'ın dijital girişine gitmelerine rağmen, ses sentez süreçlerinde gerçekten sayılmazlar.
    Q: Ve kayıt için?
    A: Kayıt için daha büyük kapasiteli bir ADC'ye sahip olmak daha iyidir. Yine, daha fazla gerçek biraz derinlik DAC'nin bit derinliği, orijinal fonogramın gürültü seviyesine karşılık gelmeli veya sadece istenen düşük seviyeyi elde etmek için yeterli olmalıdır. gürültü.
    Daha az hassas kayıt seviyesi kontrolü için daha yüksek dinamik aralığı kullanmak için biraz daha fazla derinliğe sahip olmak da kullanışlıdır. Ama unutma - her zaman vurmalısın gerçek kodek aralığı. Gerçekte, örneğin bir 32-bit ADC neredeyse tamamen anlamsız, düşük on bit sürekli olarak gürültü çıkaracağından - Bu yüzden düşük gürültü (-200 dB'nin altında) sadece olamaz analog bir müzik kaynağında.

    Sesten CD'ye kıyasla daha yüksek bit derinliği veya örnekleme frekansı talep etmeye değmez, daha iyi kalite. 16bit/44kHz, şekil titremesiyle sınırları zorlandı, oldukça yetenekli tamamen ses işleme süreci ile ilgili değilse ilgilendiğimiz bilgileri iletin. 96kHz/24bit ile DVD-Audio'dan gelişmiş ses kalitesi beklemediğiniz gibi, bitmiş malzemenizdeki fazladan veriler için yer harcamayın. Yetkin bir yaklaşımla, standart bir CD formatında ses oluştururken, ses kalitesine sahip olacağız. sadece ihtiyacı yok daha fazla iyileştirme ve nihai verilerin doğru ses kaydının sorumluluğu, uzun zamandır geliştirilen algoritmalar ve bunları doğru kullanmayı bilen kişiler tarafından üstlenilmiştir. Geçtiğimiz birkaç yılda, ses kalitesinin sınırlarını zorlamak için biçimli titreşim ve diğer tekniklerin bulunmadığı yeni bir disk bulamayacaksınız. Evet, tembel veya sadece huysuz insanlar için 32 bit ve 96 kHz'de hazır malzeme vermek daha uygun olacaktır, ancak teoride - birkaç kat daha fazla ses verisine değer mi? ..

    Ses bilgisi. Ses, hava, su veya diğer ortamlarda yayılan, yoğunluğu ve frekansı sürekli değişen bir dalgadır.

    Bir kişi, çeşitli hacim ve tonlarda ses şeklinde işitme yardımıyla ses dalgalarını (hava titreşimleri) algılar. Ses dalgasının yoğunluğu ne kadar yüksek olursa, ses o kadar yüksek, dalganın frekansı o kadar yüksek, sesin tonu o kadar yüksek olur (Şekil 1.1).

    Pirinç. 1.1. Sesin yüksekliğinin ve perdesinin ses dalgasının yoğunluğuna ve frekansına bağımlılığı

    İnsan kulağı, sesi saniyede 20 titreşim (düşük ses) ile saniyede 20.000 titreşim (yüksek ses) arasında değişen frekanslarda algılar.

    Bir kişi, sesi, maksimum yoğunluğun minimumdan 1014 kat daha fazla (yüz milyar kez) olduğu çok çeşitli yoğunluklarda algılayabilir. Sesin yüksekliğini ölçmek için özel bir birim olan "desibel" (dbl) kullanılır (Tablo 5.1). Ses hacminin 10 dB azalması veya artması, ses yoğunluğunun 10 kat azalmasına veya artmasına karşılık gelir.

    Tablo 5.1. Ses seviyesi
    Desibel cinsinden Ses Yüksekliği
    İnsan kulağının alt hassasiyet sınırı 0
    yaprak hışırtısı 10
    konuşma 60
    araba kornası 90
    Jet motoru 120
    Ağrı eşiği 140
    Sesin zaman örneklemesi. Bir bilgisayarın sesi işleyebilmesi için, sürekli bir ses sinyalinin zaman örneklemesi kullanılarak ayrı dijital forma dönüştürülmesi gerekir. Sürekli bir ses dalgası, ayrı küçük zaman bölümlerine bölünür, bu tür her bölüm için belirli bir ses yoğunluğu değeri ayarlanır.

    Böylece, ses yüksekliğinin süre A(t) üzerindeki sürekli bağımlılığının yerini, ayrı bir ses yüksekliği seviyeleri dizisi alır. Grafikte bu, düz bir eğriyi bir dizi "adım" ile değiştirmek gibi görünür (Şekil 1.2).

    Pirinç. 1.2. Geçici Ses Örnekleme

    Örnekleme frekansı. Ses kartına bağlı bir mikrofon, analog sesi kaydetmek ve dijital forma dönüştürmek için kullanılır. Alınan dijital sesin kalitesi birim zamandaki ses seviyesi ölçüm sayısına, yani örnekleme hızına bağlıdır. 1 saniyede ne kadar çok ölçüm yapılırsa (örnekleme frekansı o kadar yüksek), dijital ses sinyalinin "merdiveni" diyalog sinyalinin eğrisini o kadar doğru tekrarlar.

    Ses örnekleme hızı, ses hacminin bir saniyedeki ölçüm sayısıdır.

    Ses örnekleme hızı, saniyede 8.000 ila 48.000 ses hacmi ölçümü arasında değişebilir.

    Ses kodlama derinliği. Her "adım", ses seviyesi seviyesinin belirli bir değerine atanır. Ses yüksekliği seviyeleri, kodlanması için ses kodlama derinliği olarak adlandırılan belirli miktarda I bilgisinin gerekli olduğu bir dizi olası durum N olarak düşünülebilir.

    Ses kodlama derinliği, ayrık dijital ses yüksekliği düzeylerini kodlamak için gereken bilgi miktarıdır.

    Kodlama derinliği biliniyorsa, dijital ses düzeyi sayısı N = 2I formülü kullanılarak hesaplanabilir. Ses kodlama derinliğinin 16 bit olmasına izin verin, ardından ses yüksekliği seviyelerinin sayısı:

    N = 2I = 216 = 65536.

    Kodlama işlemi sırasında, her bir ses seviyesi seviyesine kendi 16 bitlik ikili kodu atanır, en düşük ses seviyesi 0000000000000000 ve en yüksek - 1111111111111111 koduna karşılık gelir.

    Sayısallaştırılmış sesin kalitesi. Sesin frekansı ve örnekleme derinliği ne kadar yüksek olursa, sayısallaştırılmış sesin kalitesi o kadar iyi olacaktır. Telefon iletişiminin kalitesine karşılık gelen en düşük sayısallaştırılmış ses kalitesi, saniyede 8000 kez örnekleme hızında, 8 bitlik örnekleme derinliğinde ve bir ses parçasının kaydedilmesinde ("mono" mod) elde edilir. Bir ses CD'sinin kalitesine karşılık gelen en yüksek sayısallaştırılmış ses kalitesi, saniyede 48.000 kez örnekleme oranı, 16 bit örnekleme derinliği ve iki ses parçasının kaydedilmesi (stereo modu) ile elde edilir.

    Dijital sesin kalitesi ne kadar yüksekse, ses dosyasının bilgi hacminin de o kadar yüksek olduğu unutulmamalıdır. Ortalama bir ses kalitesiyle (16 bit, saniyede 24.000 ölçüm) 1 saniyelik ses süresine sahip bir dijital stereo ses dosyasının bilgi hacmini tahmin edebilirsiniz. Bunu yapmak için, kodlama derinliği 1 saniyedeki ölçüm sayısıyla ve 2 ile çarpılmalıdır (stereo ses):

    16 bit × 24.000 × 2 = 768.000 bit = 96.000 bayt = 93,75 KB.

    ses editörleri Ses editörleri, yalnızca ses kaydetmenize ve çalmanıza değil, aynı zamanda düzenlemenize de olanak tanır. Sayısallaştırılmış ses, ses editörlerinde görsel bir biçimde sunulur, böylece ses parçasının kopyalanması, taşınması ve bölümlerinin silinmesi işlemleri fare kullanılarak kolayca gerçekleştirilebilir. Ayrıca, ses parçalarını üst üste bindirebilir (sesleri karıştırabilir) ve çeşitli akustik efektler (yankı, ters oynatma, vb.) uygulayabilirsiniz.

    Ders " "

    Sesi temsil etmenin analog ve ayrık yolları

    Grafikler ve ses dahil olmak üzere bilgiler, analog veya ayrık biçimde sunulabilir.

    Bir örnek analog ses depolama bir vinil kayıttır (ses kaydı sürekli olarak şeklini değiştirir) ve ayrık - bir ses CD'si (ses parçası farklı yansıtma gücüne sahip alanlar içerir).

    İnsan ses algısı

    Ses dalgaları işitme organı tarafından yakalanır ve sinir sistemi yoluyla beyne iletilen ve bir ses hissi yaratan tahrişe neden olur.

    Kulak zarının titreşimleri ise iç kulağa iletilir ve işitme sinirini tahriş eder. Bir insan sesi böyle algılar.

    Hertz (Hz veya Hz) - salınım frekansının ölçü birimi. 1 Hz= 1/s

    İnsan kulağı, sesi saniyede 20 titreşim (20 Hertz, düşük ses) ile saniyede 20.000 titreşim (20 kHz, yüksek ses) arasında değişen frekanslarda algılayabilir.

    - analog - sürekli - ses

    Ses kodlaması

    Bilgisayarın sesi işleyebilmesi için sürekli ses sinyali bir dizi elektriksel impulsa dönüştürülmelidir(ikili sıfırlar ve birler).

    Sürekli bir ses sinyalini kodlama sürecinde, zamansal örneklemesi gerçekleştirilir. Sürekli bir ses dalgası, ayrı küçük zaman bölümlerine bölünür ve bu tür her bölüm için belirli bir genlik değeri ayarlanır.

    O. sürekli bir ses sinyalinin ikili kodlamasında, bir dizi ayrık sinyal seviyesi ile değiştirilir.

    Pirinç. Geçici Ses Örnekleme

    Böylece, sinyal genliğinin A(t) süresine olan sürekli bağımlılığının yerini, ayrı bir yüksek ses seviyesi dizisi alır.

    Grafikte bu, düzgün bir eğriyi bir dizi "adım" ile değiştirmek gibi görünür:

    Her "adım"a ses seviyesi değeri, kodu (1, 2, 3 vb.) atanır.

    Ses ses seviyeleri sırasıyla bir dizi olası durum olarak düşünülebilir, kodlama sürecinde ne kadar fazla ses seviyesi tahsis edilirse, her seviyenin değeri o kadar fazla bilgi taşıyacak ve ses o kadar iyi olacaktır.

    Modern ses kartları, 16 bit ses kodlama derinliği sağlar. Farklı sinyal seviyelerinin sayısı (belirli bir kodlama için durumlar) aşağıdaki formül kullanılarak hesaplanabilir: N=2 i = 2 16 = 65536, burada i sesin derinliğidir.

    Böylece, modern ses kartları 65536 sinyal seviyesini kodlayabilir. Ses sinyalinin genliğinin her değerine 16 bitlik bir kod atanır.

    Saniyedeki ölçüm sayısı 8000 ila 48000 arasında değişebilir, yani analog ses sinyalinin örnekleme hızı 8 ila 48 kHz arasında değerler alabilir. 8 kHz'lik bir frekansta, örneklenen ses sinyalinin kalitesi bir radyo yayınının kalitesine ve 48 kHz'lik bir frekansta audio-C'nin ses kalitesinin kalitesine karşılık gelir. D . Hem mono hem de stereo modların mümkün olduğu da belirtilmelidir.

    GÖREV 1.

    Yüksek ses kalitesinde (16 bit, 48 kHz) ses süresi 1 saniye olan bir stereo ses dosyasının bilgi düzeyini tahmin edebilirsiniz. Bunu yapmak için, örnek başına bit sayısı 1 saniyedeki örnek sayısı ile çarpılmalı ve 2 (stereo) ile çarpılmalıdır:

    Çözüm: 16 bit 48.000 2 = 1.536.000 bit = 192.000 bayt = 187,5 KB.

    GÖREV 2.

    Ortalama bir ses kalitesinde (16 bit, 24 bit) 1 dakikalık bir dijital stereo ses dosyasının bilgi hacmini tahmin edin. kHz).

    Çözüm: 16 bit × 24.000 × 2 × 60 = 46.080.000 bit = 5.760 000 bayt = 5625 KB ≈ 5,5 MB

    Standart Uygulama ses kaydı dijital bir kayıt cihazının rolünü oynar ve sesi kaydetmenize, yani ses sinyallerini örneklemenize ve bunları ses dosyalarına formatta kaydetmenize olanak tanır. W Av. Bu program, ses dosyalarını düzenlemenizi, karıştırmanızı (birbirinin üzerine bindirmenizi) ve ayrıca çalmanızı sağlar.

    Bir görüntünün veya sesin ikili kodlamasının kalitesiörnekleme oranı ve kodlama derinliği ile belirlenir.

    Ev ödevi- problemleri çözmek:

    1. 24 bitlik bir ses kartının sinyal seviyelerinin sayısını belirleyin.

    2. Bir şarkı aşağıdaki parametrelere sahipse 1,44 MB'lık bir diskete sığabilir mi: 16 bit, 16 kHz ses kalitesiyle 3 dakikalık stereo ses süresi.


    Projemiz üzerinde çalışırken tüm bunlar hakkında oldukça fazla şey öğrendik ve bugün dijital ses işleme ile uğraşıyorsanız bilmeniz gereken bazı temel kavramları parmaklarımla açıklamaya çalışacağım. Bu makale, hızlı Fourier dönüşümleri ve diğer şeyler gibi ciddi matematik içermez - bu formülleri internette bulmak kolaydır. Yüzleşmek zorunda kalacak şeylerin özünü ve anlamını anlatacağım.

    Dijitalleştirme veya orada ve geri

    Öncelikle dijital sinyalin ne olduğunu, analog sinyalden nasıl elde edildiğini ve analog sinyalin gerçekte nereden geldiğini bulalım. İkincisi, mümkün olduğu kadar basit bir şekilde, mikrofondaki zarın titreşimlerinden kaynaklanan voltaj dalgalanmaları olarak tanımlanabilir.

    Pirinç. 1. Ses dalga formu

    Bu, sesin bir osilogramıdır - ses sinyali böyle görünür. Sanırım herkes hayatında en az bir kere böyle fotoğraflar görmüştür. Bir analog sinyali dijitale dönüştürme işleminin nasıl çalıştığını anlamak için milimetre kağıda bir ses osilogramı çizmeniz gerekir. Her dikey çizgi için, osilogramla kesişme noktasını ve dikey ölçekte en yakın tamsayı değerini buluruz - bu tür değerlerden oluşan bir dizi, bir dijital sinyalin en basit kaydı olacaktır.

    Farklı frekanslardaki dalgaların nasıl üst üste geldiğini ve sayısallaştırmanın nasıl gerçekleştiğini anlamak için bu etkileşimli örneği kullanalım. Soldaki menüde grafiklerin gösterimini açıp kapatabilir, giriş verilerinin parametrelerini ve örnekleme parametrelerini ayarlayabilir veya kontrol noktalarını kolayca hareket ettirebilirsiniz.

    Gerçekte, ses kaydederken bir stereo efekti oluşturmak için, çoğu zaman bir değil, aynı anda birkaç kanal kaydedilir. Kullanılan saklama formatına bağlı olarak, bağımsız olarak saklanabilirler. Ayrıca sinyal seviyeleri, ana kanalın seviyesi ile mevcut kanalın seviyesi arasındaki fark olarak kaydedilebilir.

    Bir dijital sinyalden analoğa ters dönüştürme, farklı bir cihaza ve çalışma ilkelerine sahip olabilen dijitalden analoğa dönüştürücüler kullanılarak gerçekleştirilir. Bu makaledeki bu ilkelerin açıklamasını atlayacağım.

    Örnekleme

    Bildiğiniz gibi dijital sinyal, belirli zaman aralıklarında kaydedilen bir dizi sinyal seviyesi değeridir. Sürekli bir analog sinyali dijital bir sinyale dönüştürme işlemine örnekleme denir (zamana göre ve seviyeye göre). Bir dijital sinyalin iki ana özelliği vardır - örnekleme oranı ve seviye örnekleme derinliği.

    Yeşil, frekansı Nyquist frekansından daha yüksek olan frekans bileşenini gösterir. Böyle bir frekans bileşenini sayısallaştırırken, onu doğru bir şekilde tanımlayacak kadar veri kaydetmek mümkün değildir. Sonuç olarak, oynatma sırasında tamamen farklı bir sinyal elde edilir - sarı bir eğri.

    Sinyal seviyesi

    Başlangıç ​​​​olarak, dijital bir sinyal söz konusu olduğunda, yalnızca sinyalin göreceli seviyesinden bahsedebileceğinizi hemen anlamalısınız. Mutlak, öncelikle yeniden üretim ekipmanına bağlıdır ve göreli ile doğru orantılıdır. Bağıl sinyal seviyelerini hesaplarken, desibel kullanmak adettendir. Bu durumda, belirli bir örnekleme derinliğinde mümkün olan maksimum genliğe sahip bir sinyal referans noktası olarak alınır. Bu seviye 0 dBFS (dB - desibel, FS = Tam Ölçek - tam ölçek) olarak belirtilir. Alt sinyal seviyeleri -1 dBFS, -2 dBFS, vb. olarak belirtilir. Daha yüksek seviyelerin olmadığı oldukça açık (başlangıçta mümkün olan en yüksek seviyeyi alıyoruz).

    İlk başta, desibel ile gerçek sinyal seviyesinin nasıl ilişkili olduğunu anlamak zor olabilir. Aslında, her şey basit. Her ~6 dB (daha doğrusu 20 log(2) ~ 6,02 dB), sinyal seviyesinde iki kat bir değişiklik olduğunu gösterir. Yani -12 dBFS seviyesine sahip bir sinyalden bahsettiğimizde, bunun seviyesi maksimumdan dört kat daha az ve -18 dBFS sekiz kat daha düşük olan bir sinyal olduğunu anlıyoruz. Bir desibelin tanımına bakarsanız, bir değer belirtir - o zaman 20 nereden geliyor? Mesele şu ki, desibel, aynı isimdeki iki enerji miktarının oranının logaritması, 10 ile çarpılmasıdır. Genlik değil enerji değer, bu nedenle uygun bir değere dönüştürülmelidir. Farklı genlikteki dalgaların taşıdığı güç, genliğin karesiyle orantılıdır. Bu nedenle, genlik için (genlik dışındaki tüm koşullar değişmeden alınırsa), formül şu şekilde yazılabilir:

    Not: Bu durumda logaritmanın ondalık sayı olarak alındığını belirtmekte fayda var, oysa log adlı bir işlev altındaki çoğu kitaplık doğal bir logaritma varsayar.

    Farklı örnekleme derinliklerinde, bu ölçekteki sinyal seviyesi değişmeyecektir. -6 dBFS sinyali, -6 dBFS sinyali olarak kalacaktır. Ancak yine de bir özellik değişecek - dinamik aralık. Bir sinyalin dinamik aralığı, minimum ve maksimum değerleri arasındaki farktır. n'nin ayrıklaştırma derinliği olduğu formülle hesaplanır (kaba tahminler için daha basit bir formül kullanabilirsiniz: n * 6). 16 bit için ~96,33 dB, 24 bit için ~144,49 dB'dir. Bu, 24 bit örnekleme derinliği ile tanımlanabilecek en büyük seviye düşüşünün (144,49 dB), 16 bit derinlikle (96,33 dB) en büyük seviye düşüşünden 48,16 dB daha büyük olduğu anlamına gelir. Ayrıca, 24 bitteki ezme sesi 48 dB daha sessizdir.

    Algı

    İnsanın ses algısı hakkında konuştuğumuzda, öncelikle insanların sesi nasıl algıladıklarını anlamalıyız. Açıkçası, kulaklarımızla işitiyoruz. Ses dalgaları kulak zarı ile etkileşime girerek onu yerinden eder. Titreşimler, alıcılar tarafından alındıkları iç kulağa iletilir. Kulak zarının ne kadar hareket ettiği, ses basıncı gibi bir özelliğe bağlıdır. Bu durumda, algılanan ses yüksekliği doğrudan değil, logaritmik olarak ses basıncına bağlıdır. Bu nedenle, ses seviyesini değiştirirken, değerleri aynı desibelde gösterilen göreceli ölçek SPL'yi (ses basıncı seviyesi) kullanmak gelenekseldir. Bir sesin algılanan yüksekliğinin yalnızca ses basıncı seviyesine değil, aynı zamanda sesin frekansına da bağlı olduğunu belirtmekte fayda var:

    Hacim

    Ses işlemenin en basit örneği ses seviyesini değiştirmektir. Bu durumda, sinyal seviyesi basitçe sabit bir değerle çarpılır. Ancak ses ayarı gibi basit bir konuda bile bir tuzak vardır. Daha önce belirttiğim gibi, algılanan ses yüksekliği ses basıncının logaritmasına bağlıdır, bu da doğrusal bir ses yüksekliği ölçeği kullanmanın çok etkili olmadığı anlamına gelir. Doğrusal bir hacim ölçeğinde, aynı anda iki sorun ortaya çıkar - hacimde gözle görülür bir değişiklik için, kaydırıcı ölçeğin ortasının üzerindeyken, ölçeğin en altına yaklaşırken yeterince uzağa hareket ettirmeniz gerekir, kaydırma bir saç kalınlığından daha az, hacmi iki kat değiştirebiliyor (bunu herkes yaşamıştır sanırım). Bu sorunu çözmek için logaritmik bir ses yüksekliği ölçeği kullanılır. Aynı zamanda, kaydırıcıyı tüm uzunluğu boyunca sabit bir mesafede hareket ettirmek, sesi aynı sayıda değiştirir. Profesyonel kayıt ve işleme ekipmanında, kural olarak, kullanılan logaritmik ses yüksekliği ölçeğidir.

    Matematik

    Burada belki biraz matematiğe döneceğim çünkü logaritmik bir ölçeğin uygulanması birçokları için o kadar basit ve açık bir şey değil ve bu formülü internette bulmak istediğimiz kadar kolay değil. Aynı zamanda size ses değerlerini dBFS'ye ve tersini yapmanın ne kadar kolay olduğunu göstereceğim. Daha fazla açıklama için yararlı olacaktır.

    // Minimum ses değeri - bu seviyede ses kapatılır var EPSILON = 0.001; // dBFS'ye ve dBFS'den dönüştürme katsayısı var DBFS_COEF = 20 / Math.log(10); // Ölçekteki konumdan hacmi hesaplar var volumeToExponent = function(value) ( ​​​​var volume = Math.pow(EPSILON, 1 - value); dönüş hacmi > EPSILON ? hacim: 0; ); // Hacim değerinden ölçek üzerindeki konumu hesaplar var volumeFromExponent = function(hacim) ( return 1 - Math.log(Math.max(hacim, EPSILON)) / Math.log(EPSILON); ); // Hacim değerini dBFS'ye çevir var volumeToDBFS = function(volume) ( return Math.log(volume) * DBFS_COEF; ); // dBFS değerini hacme dönüştür var volumeFromDBFS = function(dbfs) ( return Math.exp(dbfs / DBFS_COEF); )

    dijital işleme

    Şimdi analog değil dijital bir sinyale sahip olduğumuz gerçeğine geri dönelim. Yüksek sesle çalışırken dikkate almanız gereken bir dijital sinyalin iki özelliği vardır:
    • sinyal seviyesinin gösterildiği doğruluk sınırlıdır (ve oldukça güçlüdür. 16 bit, standart bir kayan nokta sayısı için kullanılandan 2 kat daha azdır);
    • sinyalin aşamadığı bir üst seviye sınırı vardır.

    Sinyal seviyesinin bir doğruluk sınırına sahip olması iki şeyi ifade eder:

    • Hacim arttıkça ezilme sesinin seviyesi artar. Küçük değişiklikler için, bu genellikle çok kritik değildir, çünkü ilk gürültü seviyesi algılanandan çok daha sessizdir ve güvenli bir şekilde 4-8 kat artırılabilir (örneğin, ölçek sınırı ± olan bir ekolayzır kullanın) 12dB);
    • önce sinyal seviyesini büyük ölçüde düşürmemeli ve sonra büyük ölçüde artırmamalısınız - bu durumda, orijinal olarak orada olmayan yeni kırma sesleri görünebilir.

    Sinyalin bir üst seviye sınırı olduğu gerçeğinden, ses seviyesini birliğin üzerine çıkarmanın güvenli olmadığı sonucu çıkar. Bu durumda limitin üzerinde olan pikler “kesilir” ve veri kaybı oluşur.

    Uygulamada, tüm bunlar, Ses CD'si için standart örnekleme parametrelerinin (16 bit, 44,1 kHz) yüksek kaliteli ses işlemeye izin vermediği anlamına gelir, çünkü çok az fazlalıkları vardır. Bu amaçlar için, daha fazla gereksiz format kullanmak daha iyidir. Ancak, toplam dosya boyutunun örnekleme parametreleriyle orantılı olduğunu unutmayın, bu nedenle bu tür dosyaları çevrimiçi oynatma için yayınlamak iyi bir fikir değildir.

    ses yüksekliği ölçümü

    İki farklı sinyalin ses şiddetini karşılaştırmak için öncelikle bir şekilde ölçülmesi gerekir. Sinyallerin yüksekliğini ölçmek için en az üç metrik vardır - maksimum tepe değeri, sinyal seviyesinin ortalama değeri ve ReplayGain metriği.

    Maksimum tepe değeri, ses yüksekliğini değerlendirmek için oldukça zayıf bir ölçümdür. Genel ses seviyesini hiçbir şekilde hesaba katmaz - örneğin, bir fırtına kaydederseniz, çoğu zaman kayıtta sessizce yağmur yağar ve yalnızca birkaç kez gök gürültüsü gürler. Böyle bir kaydın sinyal seviyesinin maksimum tepe değeri oldukça yüksek olacaktır, ancak kaydın çoğunda çok düşük bir sinyal seviyesi olacaktır. Bununla birlikte, bu ölçüm yine de kullanışlıdır - zirvelerin "kesilmesi" nedeniyle hiçbir veri kaybının olmayacağı kayda uygulanabilecek maksimum kazancı hesaplamanıza olanak tanır.

    Ortalama sinyal seviyesi daha kullanışlı bir ölçüdür ve kolayca hesaplanır, ancak yine de sesi nasıl algıladığımızla ilgili önemli sakıncaları vardır. Aynı ortalama sinyal seviyesiyle kaydedilen bir daire testerenin gıcırtısı ve bir şelalenin gürültüsü tamamen farklı algılanacaktır.

    ReplayGain, kaydın algılanan ses seviyesini en doğru şekilde aktarır ve ses algısının fizyolojik ve zihinsel özelliklerini hesaba katar. Kayıtların endüstriyel olarak yayınlanması için birçok kayıt stüdyosu bunu kullanır ve ayrıca çoğu popüler medya oynatıcı tarafından da desteklenir. (WIKI birçok yanlışlık içerir ve aslında teknolojinin özünü doğru bir şekilde tanımlamaz)

    Hacim normalleştirme

    Farklı kayıtların yüksekliğini ölçebilirsek normalleştirebiliriz. Normalleştirme fikri, farklı sesleri aynı algılanan ses yüksekliği seviyesine getirmektir. Bunu yapmak için birkaç farklı yaklaşım kullanılır. Kural olarak, sesi en üst düzeye çıkarmaya çalışırlar, ancak bu, maksimum sinyal seviyesinin sınırlamaları nedeniyle her zaman mümkün değildir. Bu nedenle, bazı değerler genellikle tüm sinyallerin getirmeye çalıştığı maksimum değerden (örneğin -14 dBFS) biraz daha az alınır.

    Ses yüksekliği bazen tek bir kayıt içinde normalleştirilir ve kaydın farklı bölümleri, algılanan ses yüksekliklerinin aynı olması için farklı miktarlarda yükseltilir. Bu yaklaşım, bilgisayar video oynatıcılarında çok sık kullanılır - birçok filmin müzikleri, çok farklı yüksekliğe sahip bölümler içerebilir. Böyle bir durumda, daha sonra kulaklıksız film izlerken sorunlar ortaya çıkar - normalde ana karakterlerin fısıltılarının duyulduğu bir ses seviyesinde, çekimler komşuları uyandırabilir. Ve çekimlerin kulaklara çarpmadığı bir ses seviyesinde, fısıltı genellikle ayırt edilemez hale gelir. Parça içi ses normalleştirmesi ile oynatıcı, sessiz alanlarda sesi otomatik olarak yükseltir ve gürültülü alanlarda azaltır. Bununla birlikte, bu yaklaşım, sessiz ve yüksek ses arasındaki keskin geçişler sırasında somut oynatma yapaylıkları yaratır ve ayrıca bazen, tasarım gereği arka planda olması ve zar zor ayırt edilmesi gereken bazı seslerin yüksekliğini abartır.

    Ayrıca, parçaların genel hacmini artırmak için bazen dahili normalleştirme yapılır. Buna sıkıştırma ile normalleştirme denir. Bu yaklaşımla, sinyal seviyesinin ortalama değeri, tüm sinyali belirli bir miktarda yükselterek maksimize edilir. "Kesilmesi" gereken alanlar, maksimum seviyeyi aştığı için daha küçük bir miktar büyütülür ve bundan kaçınılır. Bu ses seviyesini artırma yöntemi, parçanın ses kalitesini önemli ölçüde azaltır, ancak yine de birçok kayıt stüdyosu bunu kullanmaktan çekinmez.

    filtreleme

    Kesinlikle tüm ses filtrelerini açıklamayacağım, kendimi yalnızca Web Ses API'sinde bulunan standart olanlarla sınırlayacağım. Bunların en basiti ve en yaygın olanı biquad filtresidir (BiquadFilterNode) - bu, oldukça fazla sayıda efekti yeniden üretebilen sonsuz dürtü yanıtına sahip aktif bir ikinci dereceden filtredir. Bu filtrenin çalışma prensibi, her biri iki örnek içeren iki tampon kullanımına dayanmaktadır. Bir tampon, giriş sinyalindeki son iki örneği içerir, diğer tampon, çıkış sinyalindeki son iki örneği içerir. Ortaya çıkan değer, beş değer toplanarak elde edilir: mevcut numune ve her iki tampondan alınan numuneler, önceden hesaplanmış katsayılarla çarpılır. Bu filtrenin katsayıları doğrudan ayarlanmaz, frekans, kalite faktörü (Q) ve kazanç parametrelerinden hesaplanır.

    Aşağıdaki tüm grafikler 20 Hz ile 20.000 Hz arasındaki frekans aralığını göstermektedir. Yatay eksen frekansı gösterir, boyunca bir logaritmik ölçek uygulanır, dikey eksen - 0'dan 2'ye büyüklük (sarı grafik) veya -Pi'den Pi'ye faz kayması (yeşil grafik). Tüm filtrelerin frekansı (632 Hz) grafikte kırmızı bir çizgi ile işaretlenmiştir.

    Düşük geçiş



    Pirinç. 8. Düşük geçiş filtresi.

    Yalnızca ayarlanan frekansın altındaki frekansları iletir. Filtre, frekans ve kalite faktörüne göre ayarlanır.

    yüksek geçiş



    Pirinç. 9. Yüksek geçiş filtresi.

    Düşük geçişe benzer şekilde çalışır, ancak frekansları belirtilen frekansın altından değil, üstünden geçirir.

    bant geçişi



    Pirinç. 10. Bant geçiren filtre.

    Bu filtre daha seçicidir - yalnızca belirli bir frekans bandını geçer.

    Çentik



    Pirinç. 11. Çentik filtresi.

    Bant geçirmenin tersidir - verilen bandın dışındaki tüm frekansları geçirir. Bununla birlikte, darbenin zayıflama eğrilerindeki ve bu filtrelerin faz özelliklerindeki farkı belirtmekte fayda var.

    Düşük raf



    Pirinç. 12. Düşük raf filtresi.

    Yüksek geçişin daha "akıllı" bir versiyonudur - ayarlananın altındaki frekansları artırır veya azaltır, yukarıdaki frekansları değiştirmeden geçirir. Filtre, frekans ve kazanç tarafından ayarlanır.

    yüksek raf



    Pirinç. 13. Yüksek raf filtresi.

    Alçak geçişin daha akıllı bir versiyonu - belirli bir frekansın üzerindeki frekansları yükseltir veya azaltır, aşağıdaki frekansları değiştirmeden geçirir.

    zirve



    Pirinç. 14. zirve filtresi.

    Bu, çentiğin daha "akıllı" bir versiyonudur - belirli bir aralıktaki frekansları artırır veya azaltır ve geri kalan frekansları değiştirmeden geçer. Filtre frekans, kazanç ve kalite faktörü ile ayarlanır.

    tüm geçiren filtre



    Pirinç. 15. Allpass filtresi.

    Allpass diğerlerinden farklıdır - sinyalin genlik özelliklerini değiştirmez, bunun yerine verilen frekanslarda faz kayması yapar. Filtre, frekans ve kalite faktörüne göre ayarlanır.

    WaveShaperNode filtresi

    Waveshaper (), karmaşık ses distorsiyon efektleri oluşturmak için kullanılır, özellikle "distortion", "overdrive" ve "fuzz" efektlerini uygulamak için kullanılabilir. Bu filtre, giriş sinyaline özel bir biçimlendirme işlevi uygular. Bu tür işlevleri oluşturma ilkeleri oldukça karmaşıktır ve ayrı bir makale gerektirir, bu nedenle açıklamalarını atlayacağım.

    ConvolverNode filtresi

    Giriş sinyalini, belirli bir dürtü yanıtını tanımlayan bir ses arabelleği ile doğrusal olarak birleştiren bir filtre. Dürtü yanıtı, bir sistemin tek bir dürtüye verdiği yanıttır. Basit bir ifadeyle, buna sesin "fotoğrafı" denilebilir. Gerçek bir fotoğraf ışık dalgaları hakkında, bunların nasıl yansıtıldığı, emildiği ve etkileşime girdiği hakkında bilgi içeriyorsa, dürtü tepkisi de ses dalgaları hakkında benzer bilgiler içerir. Bir ses akışının böyle bir "fotoğraf" ile evrilmesi, dürtü yanıtının alındığı ortamın giriş sinyali üzerindeki etkilerini olduğu gibi empoze eder.

    Bu filtrenin çalışması için sinyalin frekans bileşenlerine ayrıştırılması gerekir. Bu ayrıştırma, (maalesef, Rusça Vikipedi'de tamamen boştur, görünüşe göre, bir FFT'nin ne olduğunu zaten bilen ve aynı boş makaleyi kendileri yazabilen kişiler için yazılmıştır). Girişte de söylediğim gibi bu yazıda FFT'nin matematiğini vermeyeceğim ancak dijital sinyal işleme için mihenk taşı algoritmasından bahsetmemek yanlış olur.

    Bu filtre yankı efektini uygular. Bu filtre için çeşitli efektler ( , ) uygulayan birçok hazır ses tamponu kitaplığı vardır, bu tür kitaplıklar istek üzerine kolayca temin edilebilir.