-
Content count
2,138 -
Joined
-
Last visited
-
Days Won
5
Posts posted by Zerosquare
-
-
Toi, tu l'as déjà entendue... d'ailleurs ça vaut le coup à ton avis ?
-
Au fait, puisqu'on parle de son sans en entendre : si vous êtes intéressé, je peux mettre en ligne un MP3 de démo d'un moteur audio que j'ai fait il y a quelques temps. C'est le même genre de synthèse que le 2149, mais avec 32 voix au lieu de 3

(bon, ç'a été fait en C, à l'arrache, en virgule flottante, presque pas optimisé, mais c'était pour tester une idée, donc il faut écouter sans penser au code

-
Je viens de mesurer sur mon synthé avec une carte son, et la courbe n'est pas linéaire. Cela dit, j'ai déjà fait des tests en utilisant ta méthode, et ça marche très bien aussi... Au pire il suffit d'implémenter une petite table de correspondance en RAM.
(Je rêve, ou l'utilité du tchat se fait vraiment sentir en ce moment ?
) -
Effectivement, pour ce genre de cas il y a deux solutions :
- Prédiviser les données par le nombre de voies, et faire une simple addition ensuite. Ça évite les problèmes de débordement, mais plus tu auras de voies, plus la qualité du son sera dégradée puisqu'en divisant tu perds de la précision.
- Faire les calculs sur plus de 16 bits et diviser ensuite par le nombre de voix. Plus de problèmes de perte de qualité dans ce cas, c'est la meilleure solution à mon avis, et c'est ce que font les logiciels de traitement audio (ils utilisent 32 bits ou plus en interne pour les calculs intermédiaires).
En plus, si ton nombre de voies est une puissance de 2, tu peux (mais tu t'en doutais sûrement
) remplacer la divison par un shift droit arithmétique ou logique (suivant que les données sur lesquelles tu travailles sont signées ou pas). Pour le mixage stéréo, oui c'est comme ça que ça marche, après on utilise souvent des échelles de volume non-linéaires qui sont plus "naturelles" à l'oreille.
-
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.
-
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

-
Apparemment, Imagin (la boîte qui fabrique les caméras) a seulement racheté le moule de la Jaguar à Atari, donc l'électronique n'a rien à voir (ouf !)
-
Je ne comprends pas bien ta question, GT

-
Ça : http://www.imaginsystems.com/Graphics/HotRod%20DS-final.pdf
(c'est un petit PDF de deux pages)
(RaZ, tu peux atomiser ce post si tout le monde connaît déjà le lien...
) -
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.
-
Salut a toi Zerosquare (Pseudo qui a pour ma part une certaine classe, enfin j'aime beaucoup !)Merci

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
)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.
-
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é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

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 !"

Branche la hifi !!
in Development
Posted · Report reply
OK, pour les curieux, c'est ici