Nintendo sonunda bu büyük görevi CPU-GPU'dan kurtarmak ve daha zengin sesler sağlamak için bazı özel ses devreleri sundu. Bu konsolda sundukları şey ise, Flipper içinde çalışan Macronix tarafından üretilen bağımsız bir Dijital Sinyal İşlemcisi veya 'DSP'.
DSP'nin görevi, ham ses verilerimiz üzerinde farklı işlemler gerçekleştirmek (örneğin, ses seviyesi değişiklikleri, örnekleme hızı dönüşümü, 3D ses efektleri, filtering, echo, reverb, vb) ve ardından 2 kanallı bir PCM sinyali çıkarmaktır. Ancak tek başına çalışmaz, DSP diğer bileşenlerin yardımıyla ses sağlar.
İlk yoldaşı Audio Interface (AI), TV'de sonlanan ses sinyali aracılığıyla son örneği göndermekten sorumlu 16 bit stereo dijital-analog dönüştürücüdür. Yapay zeka, her 0.25ms'te sadece 32 bayt ses verisi işleyebilir, bu nedenle her ses örneğinin 2 bayt ağırlığı olduğunu ve stereo ses oluşturmak için iki taneye ihtiyaç duyulduğunu dikkate alırsak, Yapay zeka en fazla 32 kHz örnekleme hızına sahip 8 stereo örneğini karıştırabilir, ses!
Son olarak, ham ses verilerini depolamak için kullanılabilecek büyük (16 MB) ancak çok yavaş bir yedek bellek olan Audio RAM (ARAM) bloğumuz var. Oldukça fazla alan var, bu nedenle GPU bunu ek materyalleri (dokular gibi) depolamak için de kullanabilir. CPU'nun bu belleğe doğrudan erişimi yoktur, bu nedenle içeriği taşımak için DMA'ya başvuracaktır.
Daha iyi veya daha kötü, DSP mikrokod kullanılarak programlanabilir (endişe verici), ancak endişelenmeyin, çünkü resmi SDK zaten her oyun tarafından kullanılan genel amaçlı bir mikrokod içerir, ancak konsol açılış dizisi ve bazı Nintendo oyunlarında (çok rahat, çünkü Nintendo DSP'yi belgelememişti, bu yüzden sadece onu nasıl programlayabileceklerini biliyorlar).
Bununla birlikte, ses üretme süreci aşağıdaki gibi işler :
- CPU, ham örnekleri ARAM'a taşımak için DMA'ya komut verir.
- CPU, DSP'nin bu örnekleri nasıl çalıştırması gerektiğini bildiren bir komut listesi gönderir. Başka bir deyişle, mikrokod programını yükler (geliştiriciler için resmi olarak yalnızca bir tane mevcuttur).
- DSP, ARAM'dan örnekleri alır, gerekli işlemleri uygular ve bunları iki kanala karıştırır. Son olarak, elde edilen verileri RAM üzerinde depolar.
- AI, işlenmiş örnekleri RAM'den alır ve bunları ses sinyali aracılığıyla çıkarır.
Sıkıştırma ve özgürlük
Her ne kadar örnekleme çağına çoktan ulaşmış olsak ve artık belirli dalga biçimlerine kilitlenmemiş olsak da, yeni ses sistemi yine de büyük bir gelişme. Yeni başlayanlar için, zorunlu müzik sıralama destanı sonsuza kadar gitti. Sistem artık, Saturn ve PS1'in yıllar önce başardığı gibi, önceden üretilmiş müziği ses uç noktasına sorunsuz bir şekilde aktarabiliyor.
Size biri Nintendo 64 için diğeri de GameCube için piyasaya sürülen iki oyunu kullanarak bir örnek göstereyim. Her ikisinin de müzik notaları farklıdır ancak bağlam (düşman savaşı) aynıdır. Her iki sistemin tasarımını (paylaşımlı vs özel) göz önünde bulundurarak her iki parçanın ses kalitesinde nasıl farklılık gösterdiğine bir göz atın.

Video - N64 için Paper Mario (2000).
RSP tarafından anında sekanslandı.

Video - Paper Mario: The Thousand-Year Door (2004) GC için.
DSP'ye aktarıldı.
Duyabileceğiniz gibi, DSP nihayet müzik bestecilerine her zaman istedikleri esnekliği ve zenginliği verdi.
Ek malzeme
Daha doğrudan bir yan yana karşılaştırma için, bestecilerin düzenlemelerini GameCube ve selefi için nasıl uyarladıklarını gösteren bu interaktif widget'ı hazırladım. Burada, bir Nintendo 64 oyunu ve bir GameCube oyunu için aynı neşeli müzik kullanılıyor ve ortaya çıkan karşılaştırma GameCube'ün DSP'sinin teknik avantajlarını (bir kez daha) göstermemi sağlıyor.
Nintendo 64:
Click to listen
GameCube:
Click to listen
Etkileşimli oynatıcı modern sürümde kullanılabilir
Ses örnekleri
Nintendo 64: Kirby 64: The Crystal Shards (2000).
GameCube: Kirby Air Ride (2003).
Şimdi, her bir parçanın arkasında neler olduğunu görselleştirmek için, işte iki ilgili spektrogram. Başlamadan önce, bu tür çizelgelere aşina değilseniz, önceki NES makalemi, özellikle de ses bölümünü (bunları tanıttığım yer) okumanızı tavsiye ederim.

Kirby 64: The Crystal Shards (2000) filmindeki PCM kanalının spektrogramı.

Kirby Air Ride'daki (2003) PCM kanalının spektrogramı
Dürüst olmak gerekirse, karışık parçaların spektrogramda ayrıştırılması zordur, ancak bundan bazı kalıplar çıkarmaya çalışabileceğime inanıyorum.
Öncelikle, GameCube parçasında neredeyse tüm frekans spektrumu eşit olarak kullanılıyor, bu da eşlik için kullanılan ek enstrümanlara (harmonikler ekleyen ve bu nedenle grafikte daha fazla alanı dolduran) bağlanabilir.
Son olarak, GameCube spektrogramındaki genlikler daha düzgün dağılmış görünüyor. Başka bir deyişle, her enstrümanın ses seviyesi farklı şekilde dengelenir ve reverb gibi efektler içerir. Sanırım bestecinin bu müziği üretirken asıl amaçladığı şey ikincisiydi ve bu tür kontroller GameCube'ün ses akışını desteklemesi sayesinde mümkün. Böylece besteciler, çalışma zamanında sıralama ve miks için konsola (ve sınırlamalarına) sıkı sıkıya bağlı olmak yerine, müziklerini sıralamak ve mikslemek için istedikleri herhangi bir aracı kullanabilirler.
Nintendo 64'ün aynı sonucu üretmekten tamamen aciz olduğunu söyleyemem. Ancak kesin olan bir şey var ki, Nintendo 64 dünyasında her bir ses işlevi ekstra döngülere ve/veya belleğe mal oluyor ve bu da oyunun diğer alanlarını etkileyebiliyor. Bu nedenle kaynakların rasyonel kullanılması gerekmektedir. Öte yandan, GameCube'ün büyük örnekleme desteği sayesinde, üretilen tüm partisyonu bir arada izlemek de mümkündür.