Page 1 sur 3
HuC6280 vs. HuC6280A (samples PCM)
Publié : mar. 12 déc. 2017 19:40
par touko
Bonjour, je viens de faire un nouveau driver PCM basé sur la technique du buffer de la puce audio .
L'astuce est simple, elle consiste à laisser la lecture du buffer de 32 octets faire le boulot pour nous, et de le recharger une fois les 32 octets lus à l'aide du timer avec les 32 octets suivant de notre sample .
Pour le moment je vais l'utiliser pour jouer des samples à 7khz .
Certains vont me demander quel est l'intérêt de faire ça sachant qu'on peut déjà jouer des samples de cette qualité .C'est exact mais ce qui va suivre va juste vous donner un aperçu du truc .
Jusqu'à présent on utilisait le timer pour envoyer les samples 1 à 1 dans le DAC , et notamment à 7khz,comme je le faisais avec mon ancien driver .
Ca marchait plutôt bien et ça prenait 5/6% de CPU / voix, à titre infos le driver de bonk prend 20/25% de CPU pour un sample .
Donc cette technique joue un sample, mais par exemple pour 7khz on est à 1% de CPU, vous voyez l'intérêt maintenant ??
Toujours pas ??, et si je vous dis que jouer des samples 32khz avec cette technique prend autant (voire moins) de CPU que la méthode classique pour des samples 7khz (soit 5%) ??
Ca c'est mieux non ??

Re: sons PCM
Publié : mar. 12 déc. 2017 20:16
par pnauts
Je dis cool ! mais quand est-ce qu'on voit une utilisation concrète ?!

Re: sons PCM
Publié : mar. 12 déc. 2017 20:23
par touko
Faudrait que je fasse un petit truc avec un sample de qualité >= 32khz .
Mais ce sera difficile de voir l'apport effectif juste avec ça .
concrètement on pourra avoir ça comme zique:
https://www.youtube.com/watch?v=pHcwt5Oh6O4
mais in game .
Pour le moment ça marche sous mednafen, j'ai pas encore testé sur ma SGX(y'a pas de raisons que ça marche pas, mais on sait jamais).
Re: sons PCM
Publié : sam. 16 déc. 2017 22:31
par Kaminari
Je ne comprenais pas grand chose à la lecture... jusqu'à ce que je réalise que je pensais "ADPCM"
Pour du PCM, c'est juste brillant. Il me semble que Tomaitheous utilisait une technique similaire il y a déjà quelques années pour jouer du PCM 32 KHz avec très peu d'overhead.
Re: sons PCM
Publié : dim. 17 déc. 2017 09:19
par touko
Lui il utilise 2 voix qu'il alterne, qd une lit, l'autre est remplie,moi je fais tout dans une voix .
Cette technique (d'alterner) est quasi obligatoire à partir de 32 khz .
Pour info il a fait une lecture de sample à 56khz
Mon but est plus une utilisation dans un jeu(utilisation CPU et taille des samples),et le procédé est tellement simple que je comprends pas comment ça n'a pas été déjà fait avant

Re: sons PCM
Publié : dim. 17 déc. 2017 15:48
par pnauts
Mais es-tu sûr que ça n'a pas déjà été fait avant ?
Re: sons PCM
Publié : dim. 17 déc. 2017 17:56
par touko
Sur non, mais même un jeu comme SF2 utilise un driver PCM pourri .
Même mon schéma de compression pour les samples ne semble pas avoir été utilisé qui est pourtant ultra évident à voir et permet d'économiser 33% de place .
Re: sons PCM
Publié : dim. 17 déc. 2017 21:51
par Kaminari
Je vais me faire l'avocat du diable, mais considérant le grand nombre de jeux sur cartouche qui exploitent le PCM pour les bruitages ou les instruments, la conclusion logique est que les devs ne voyaient pas de problème à consacrer 25% de leurs ressources CPU au driver audio. De toute évidence, même des jeux exigeants comme SF2, Coryoon ou PC Denjin s'en accommodent parfaitement.
Le plus intéressant dans ta routine est le sample rate, qui propose pour le même prix une qualité nettement supérieure (32 KHz, c'est au même niveau que l'ADPCM). Je ne suis pas sûr que ce soit complètement gratuit en terme d'espace, même pour une carte 8 Mb, mais je te fais confiance
Il faudrait cependant voir du côté des jeux US. Certains titres comme Champions Forever Boxing poussent l'utilisation du PCM assez loin (multitrack façon MOD) et la qualité des samples s'approche de l'ADPCM.
Re: sons PCM
Publié : lun. 18 déc. 2017 10:03
par touko
Je vais me faire l'avocat du diable, mais considérant le grand nombre de jeux sur cartouche qui exploitent le PCM pour les bruitages ou les instruments, la conclusion logique est que les devs ne voyaient pas de problème à consacrer 25% de leurs ressources CPU au driver audio. De toute évidence, même des jeux exigeants comme SF2, Coryoon ou PC Denjin s'en accommodent parfaitement.
c'est tout à fait ça en fait,et d'ailleurs il me semble que celui de airzonk est vraiment un des plus mauvais (30% pour 1 voix),et pourtant c'est pas un pacman le jeu .
Donc tu imagines bien ce qu'aurait pu donner un jeu PCE ultra optimisé .
Je ne suis pas sûr que ce soit complètement gratuit en terme d'espace, même pour une carte 8 Mb, mais je te fais confiance

Non c'est clair c'est absolument pas gratuit, après je pense que des sample 14khz pour la grande majorité des jeux est largement faisable,mais par contre la compression devient moins réalisable à cause des besoins en CPU entre chaque sample .
On est à 1024 cycles de dispo entre chaque sample pour du 7khz, et on passe à 512 pour du 14khz

,donc plus délicat pour décompresser et remplir le buffer .
Et puis rien n'oblige à se limiter à 8MB, aujourd'hui on peut faire des hucard 20MB(voire bcp plus) facilement .
Il faudrait cependant voir du côté des jeux US. Certains titres comme Champions Forever Boxing poussent l'utilisation du PCM assez loin (multitrack façon MOD) et la qualité des samples s'approche de l'ADPCM.
Effectivement, je connaissais pas plus que ça ce jeu, mais tu as raison, je vais regarder de plus près .
PS: j'ai testé le driver ce WE sur ma SGX, et tout roule au poil pour le moment .

Re: sons PCM
Publié : lun. 18 déc. 2017 13:36
par Kaminari
touko a écrit : ↑lun. 18 déc. 2017 10:03
Et puis rien n'oblige à se limiter à 8MB, aujourd'hui on peut faire des hucard 20MB(voire bcp plus) facilement .
Tout à fait d'accord, et le mapper MC Genjin supporte 64 Mb
Je voulais dire qu'à l'époque où la carte moyenne faisait 4 Mb, cette qualité de sample rate aurait sûrement été plus problématique.
Re: sons PCM
Publié : lun. 18 déc. 2017 13:52
par touko
Oui faire du 32 ou même du 14khz était illusoire vu les tailles des hucard .
Faudra un de ces 4 que j'essaye de coder avec un mapper pour voir, parce que faire un jeu avec 20MB ou plus ça serrait top,et je pense que je me passerai du CD définitivement (enfin presque) .
Re: sons PCM
Publié : mer. 20 déc. 2017 16:53
par touko
Si quelqu'un peut tester sur une PCE blanche (ou un sans la rev du CPU ) et me dire comment est le son, merci :
https://www.dropbox.com/s/q7zrmts9ov9e8 ... s.pce?dl=0
Re: sons PCM
Publié : jeu. 21 déc. 2017 00:11
par Kaminari
Normalement tous les modèles de PCE (sauf la Core blanche) ont un HuC6280A. A quelles différences faut-il s'attendre avec le 6280 ?
Re: sons PCM
Publié : jeu. 21 déc. 2017 10:23
par franz
QUOI???
Mais j'ai toujours entendu dire que les 3 PCEs (La blanche, la Core 1 et la Core II) possédaient exactement le même hardware!
Tu peux préciser?
Re: sons PCM
Publié : jeu. 21 déc. 2017 17:02
par Kaminari
Rien de bien excitant, ce sont les mêmes architectures mais pas exactement le même hardware (compare les cartes-mère sur Google). Les révisions successives avaient simplement pour but de réduire les coûts de production.
Concernant la différence entre les deux CPUs, voici ce qu'en dit la doc de Mednafen :
Mednafen a écrit :
HuC6280A is found in the CoreGrafx 1 and SuperGrafx. Provides proper channel amplitude centering. Many games will have less clicking with the HuC6280A, but it may cause clicking in a few games designed with the original HuC6280's sound characteristics in mind.
Je pensais que cette révision touchait toutes les machines ultérieures à la PCE blanche, mais ce n'est apparemment pas le cas. Ce qui voudrait dire que le HuC6280 de base doit être considéré comme le CPU de référence. La version "améliorée" n'a été que temporaire.
Ca rappelle un peu le cas du Commodore C128, dont le chip audio avait été "bugfixé" mais qui foutait la zouille avec la majorité des musiques C64 existantes...