Jump to content

Branche la hifi !!


GT Turbo

Recommended Posts

Il y a de cela quelques temps, j'ai commencé a regarder pour faire une bonne routine son pour la Jag, a l'heure actuelle il existe deux routines soundtracks différentes, dont une qui apparement ne rejoues pas correctement tous les effets et surement quelques routines de replay persos de certaines personnes.

 

 

 

Pour avoir accès a une grande librairies de musiques, j'avais contacté Gwem (Codeur et spécialiste en musique sur Atari) pour pouvoir convertir sa routine de replay de musique au format SID, malheuresement pas de temps libre. En écoutant dernièrement une musique au format ACE (Tracker Falcon, 16 voies maxi), ca m'a fait mal au derrière, la balance stéréo, les effets, les reverbs a tuer, donc je suis en train de me battre avec les différentes adresses mails pour contacter son auteur, car une telle routine sur la Jag, montez le son !!

 

 

 

Mais avant que je partes pour casser du haut parleur, tout les developpeurs ici ne possèdent pas de Falcon, donc quels seraient les formats musicaux que vous voudriez utiliser ? De préférence on va peut ètre eviter un format perso, a moins qu'un programmeur soit tenté d'écrire un éditeur complet et de trouver des musiciens qui voudraient l'utiliser. On vas pas pour l'instant parler de MP3 ou autre, pas de lecture directe (Oui avec la CF je sais, mais on veut peut ètre utiliser la CF pour autres choses) mais des VRAIS formats musicaux, pas de compression de m... merci on veut pas du son qui ressemble a celui d'un poste a galène de nos grands parents, mais un son numérique hifi !!

 

 

 

 

 

GT Sourd :wacko:

Link to comment
Share on other sites

Ca va me faire du bien cette incursion dans le mode du son, j'ai toujours voulu, mais faute de temps et aucune raison valable m'a fait eviter ce domaine et là je vais enfin pouvoir tripoter ce domaine !!

 

 

 

Cts t'est sérieux ? On rejoue du Mad Max ? Count Zero ? Le Yamaha j'avais joué un peu juste pour pouvoir faire des vu-metres sur un ST mais c'est tout, mais je suis pret a tout essayer !! ;)

 

 

 

GT ;)

Link to comment
Share on other sites

Orion_ :


du XM ? format super répandu, c'est la reference des trackers aujourd'hui.





Bonne remarque, maintenant le but du jeu c'est de trouver le format du fichier, le détails meme des commandes. Je possèdes quelques musiques a ce format.



GT ;)
Link to comment
Share on other sites

Salut à tous.

 

 

 

Bon, GT, tu vas arrêter de truster tous les domaines de développement sur la Jag ? C'est déprimant pour les autres, tu sais :D

 

Déjà qu'on se demande comment tu fais pour aligner de telles quantités de code en si peu de temps... ;)

 

 

 

Sérieusement, l'une des raisons qui m'ont fait m'intéresser à la Jag, c'est que SCPCD m'avait dit qu'il manquait de codeurs pour le son (un de mes domaines de prédilection). Je ne veux pas être condamné à faire de l'ASM seulement sous Windows :angry:

 

 

 

Ceci dit, bon courage. Pour ma part, je suis actuellement en discussion avec SCPCD sur un point en rapport avec cette question... Ah, on me dit "chuuuuuut !" :blush:

Link to comment
Share on other sites

Zerosquare :


Salut à tous.



Bon, GT, tu vas arrêter de truster tous les domaines de développement sur la Jag ? C'est déprimant pour les autres, tu sais :D

Déjà qu'on se demande comment tu fais pour aligner de telles quantités de code en si peu de temps... ;)





Salut a toi Zerosquare (Pseudo qui a pour ma part une certaine classe, enfin j'aime beaucoup !)



Je fais comme SCPCD je dors pas !! :wacko:



Bon ben alors je te laisses ceci !!



Hier soir en rentrant chez moi je me demandais comment emuler 'une puce soundchip (Yamaha 2149)' avec une puce 'numérique' (Dsp Jaguar). Mais pour l'instant je vais retourner sur Topaze et te laisse donc ce domaine !!



GT ;)
Link to comment
Share on other sites

Je ferais bien qu'un essais son pour essayer mes premières routines d'interuption DSP. Mais je ferais ceci juste pour le fun quand j'aurais fini les gros travaux en cours.

 

 

 

GT En train de chanter :wacko:

Link to comment
Share on other sites

Salut a toi Zerosquare (Pseudo qui a pour ma part une certaine classe, enfin j'aime beaucoup !)

 

 

 

Merci :blush:

 

 

 

Le 2149 est une puce assez simple, je pense que ça ne devrait pas poser de gros problèmes. En tout cas, vu que c'est un "classique", il doit y avoir moyen de jeter un coup d'oeil à des sources d'émulateurs si on a besoin d'un coup de pouce.

 

 

 

( Point de vue personnel : je trouve ça un peu dommage d'utiliser une architecture DSP + convertisseurs qualité CD pour émuler un soundchip, mais je comprends tout à fait qu'il y ait des nostalgiques du son de l'époque :) )

 

 

 

Azrael, je pense à la même chose que toi : avec le DSP, on doit pouvoir faire :

 

 

 

* écho/réverb/égaliseur/filtres de tous types/n'importe quel effet linéaire

<mode matheux>vu que ça reste un bête produit de convolution, plus quelques astuces pour diminuer le nombre de coeffs, genre IIR/vecteurs "creux"/etc.[code]</mode matheux>

 

 

 

* doppler/variation de vitesse/chorus/... (interpolation/réechantillonage)

 

 

 

* distortions diverses et variées (fonction de transfert non linéaire et filtrage)

 

 

 

* décompression (LUTs, produits de matrices, FFT ou DCT...)

 

 

 

* plein d'autres choses

 

 

 

J'ai déjà bricolé pas mal de fonctions en ASM pour ces trucs sur mon PC, il faudrait que je voie comment les réoptimiser pour le DSP de la Jag (je donnerais bien plus de détails mais j'ai pas accès à la partie privée du forum :cry:)

 

 

 

Pour le moment, je suis pas mal occupé par d'autres projets Jag (et surtout non-Jag, hélas, et ceux-là ne sont pas facultatifs), mais je m'y mettrai dès que j'en aurai l'occasion.

Link to comment
Share on other sites

Zerosquare :


</mode matheux>



* doppler/variation de vitesse/chorus/... (interpolation/réechantillonage)



* distortions diverses et variées (fonction de transfert non linéaire et filtrage)



* décompression (LUTs, produits de matrices, FFT ou DCT...)



* plein d'autres choses



J'ai déjà bricolé pas mal de fonctions en ASM pour ces trucs sur mon PC, il faudrait que je voie comment les réoptimiser pour le DSP de la Jag (je donnerais bien plus de détails mais j'ai pas accès à la partie privée du forum :cry:)



Pour le moment, je suis pas mal occupé par d'autres projets Jag (et surtout non-Jag, hélas, et ceux-là ne sont pas facultatifs), mais je m'y mettrai dès que j'en aurai l'occasion.





Tout d'un coup je ressents un grand vide et vais retourner coder l'éditeur de map avant de me prendre une autre rafales des matheux du coin !!



GT Plus là !! ;)
Link to comment
Share on other sites

Zerosquare :


Azrael, je pense à la même chose que toi : avec le DSP, on doit pouvoir faire :



* écho/réverb/égaliseur/filtres de tous types/n'importe quel effet linéaire
<mode matheux>vu que ça reste un bête produit de convolution, plus quelques astuces pour diminuer le nombre de coeffs, genre IIR/vecteurs "creux"/etc.[code]</mode matheux>





Oui, mais je dirais que c'est "basique". S'il n'y a pas ça on ne peut pas prétendre faire un bon jeu. Mais ça reste à faire. Attention ! j'ai dit basique mais j'ai pas dit facile ! je pensais surtout à un simulateur 3D, et je n'ai pour le moment rien vu comme code là dessus (j'ai pas demandé à Google non plus). Je suis partant pour faire ça aussi, du moins en théorie (la théorie c'est cool, on bosse presque pas et on fait bosser les autres, hein GT :yes: !).



En tout cas ce que tu as fait sur PC te seras d'une grande utilité !
Link to comment
Share on other sites

J'm'autorise quelques remarques.

 

 

 

Quand je parle d'emu YM, c'est pas juste par 'nostalgie'...mais plutot parceque ce genre de routine peut tourner ENTIEREMENT dans les 8Ko du DSP.

 

Autrement dit: TOUTE la bande passant du bus est dispo pour l'affichage (3D ou autre).

 

Pas négligeable...

 

 

 

Notez que si on realise un emu YM, l'emu SID est pas loin. Et là on commence à avoir du bon son !

 

 

 

Les sources de STonx/Hatari sont des mines pour ce genre de routines...(bon, j'ai aussi fait le mien en C, si ça branche quelqu'un d'y jeter un oeil...)

 

 

 

Quelqu'un aurait de l'experience rapport au SID ?

Link to comment
Share on other sites

Zerosquare :


(je donnerais bien plus de détails mais j'ai pas accès à la partie privée du forum :cry:)
Je relève juste un détail histoire de te dire de ne pas le prendre mal et de garder à l'esprit qui si tu montres ton intérêt en postant, en amenant des idées, bref, en faisant vivre le développement Jaguar et donc par extension le forum, ta promotion est assurée. Comme cela est précisé à l'inscription.

Et vu que tu as l'air et doué et motivé, ce ne sera surement pas un problème.



Ca à l'air excellent ce que tu proposes, bon courage pour la suite.
Link to comment
Share on other sites

RaZ : Merci pour la clarification et le soutien. Je disais ça surtout parce que j'avais cru comprendre que les informations plus détaillées sur le développement étaient postées dans la partie privée.

 

 

 

cts : Je n'y avais pas pensé. Ça pose la question de l'équilibre qualité graphique/qualité sonore...

 

 

 

Azrael : Effectivement, c'est basique mathématiquement parlant, mais comme tu le fais remarquer, ce n'est pas pour autant que c'est facile à coder. Je ne sais pas si tu es orienté maths appliquées (au sens implémentation informatique, j'entends) ; si ce n'est pas le cas, ou si quelqu'un d'autre est intéressé, je peux faire un petit topo sur les problèmes d'implémentation de ce genre d'algos.

Link to comment
Share on other sites

Tant que je suis là, et pour être précis.

 

Autant que je comprenne de quoi parle les coders, les infos transmises sur les forums privés ne sont que des infos qui doivent rester cachés pour éviter tout faux espoirs aux potentiels lecteurs ou sur des choses qui ne sont même pas à l'état de projet. C'est de la discussion informelle en général.

 

Et trois-quarts de ces infos ne sont pas techniques, tout ce qui est de la programmation est dans son forum respectif. Je viens de refaire le tour des forums privés pour être sûr que je ne dise pas de bétises, il y 28 topics et deux ont des bouts de codes dedans, et encore.

 

 

 

Cachés du code qui puisse être utile à tout le monde, c'est pas la politique de la maison. Le pire est que si on laissait faire GT, il donnerait toutes ses sources avant que l'on ai pu en faire quoique ce soit, quand il ne passe pas sont temps à écrire des bouts de code pour les autres. ;)

Link to comment
Share on other sites

cts :


Notez que si on realise un emu YM, l'emu SID est pas loin. Et là on commence à avoir du bon son !



Les sources de STonx/Hatari sont des mines pour ce genre de routines...(bon, j'ai aussi fait le mien en C, si ça branche quelqu'un d'y jeter un oeil...)



Quelqu'un aurait de l'experience rapport au SID ?





Du bon son comme tu dis, aucune experience par rapport au SID, je vais essayer de contacter d'autre personnes qui ont écrit des éditeurs ou des players SID.



On laisse la hifi numérique au 'fanatiques de la FFT' et on se bricole un player SID, comme cela tout le monde est heureux !!



GT ;)
Link to comment
Share on other sites

Zerosquare :


Azrael : Je ne sais pas si tu es orienté maths appliquées (au sens implémentation informatique, j'entends) ; si ce n'est pas le cas, ou si quelqu'un d'autre est intéressé, je peux faire un petit topo sur les problèmes d'implémentation de ce genre d'algos.





Disons que je me débrouille. J'ai dans l'idée que pour chaque code assez technique (genre moteur 3D, gestion de liste de sprites, mapping, gestion sonore...) on fasse un tuto dessus, partant de la théorie à l'application. Chacun pourrait comprendre ce qui a été fait, et les erreurs sont facilement décelables en faisant des comparaisons entre le code et ce qui est sur le papier.
Link to comment
Share on other sites

La question technique, on fait comment pour traduire un son a une certaine fréquence (Genre une voie du 2149) pour la reproduire sur le DSP ?

 

 

 

Dans l'autre sens (2149-> sample) on utilise une table de conversion, on ferait pareil dans l'autre sens ? La question me turlupine !!

 

 

 

 

 

GT :blink:

Link to comment
Share on other sites

- faut preparer les enveloppes

 

- preparer un signal carré

 

 

 

en fonction de la fequence de replay et de la frequence "theorique YM" tu calcule un increment dans les tablers enveloppes/signal carré.

 

 

 

un peu comme dans les 'rejoueur' de .MOD, les samples sont tous à la même fréquence dans le MOD mais on peut les rejouer à d'autres fréquences.

 

 

 

Le YM c'est un peu plsu compliquer vu que par voie on peut avoir un mix enveloppe/bruit/signal carré[sidvoice/digidrum]

 

 

 

d'ou la question : vaut-il mieux mixer toutes les voies dans un seul buffer ou alors mixer 3 (ou plus !;) buffers en direct lors de l'ecriture dans le chip son ? (dans ce cas là, on bouffe de la ram et ça tiens plus dans le DSP)

Link to comment
Share on other sites

Qu'est ce que vous entendez par "sample" exactement ?

 

 

 

* Le forme d'onde "brute" d'une voix 2149 (signal carré je crois) : Dans ce cas-là il faut un algo de réechantillonnage pour le convertir à la fréquence de la note

 

 

 

* Le signal d'une voix : il suffit de mixer les voix entre elles, facile à faire avec le DSP

 

 

 

* Le "mix" final : effectivement dans ce cas-là il n'y a plus rien à faire, à part piloter le DSP pour qu'il lise les échantillons

 

 

 

Je crois que j'ai pas tout saisi :unsure:

Link to comment
Share on other sites

Post croisé avec toi, cts...

 

 

 

Je crois que le seul intérêt de mixer les 3 voix séparément serait de pouvoir utiliser des algos de synthèse plus performants sur un bloc que sur un échantillon isolé, mais comme le DSP ne gère le DMA de toutes façons, on doit sortir les échantillons un par un, alors...

 

 

 

Pour la génération des signaux carrés, la table précalculée (avec ou sans interpolation) n'est pas la meilleure méthode au niveau de la qualité sonore. Vu que cette forme d'onde a énormément d'harmoniques (beaucoup plus qu'un échantillon typique de fichier MOD), les algos "simples" montrent leurs limites, surtout pour les notes aigües.

 

 

 

J'ai déjà testé une solution pour contourner le problème, qui donne un son nickel mais qui nécessite énormément de temps de calcul ; j'ai aussi une autre idée que je n'ai pas encore eu le temps de tester mais qui me paraît raisonnable.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...