Garvuino : émulateur hardware de chiptunes

C'est le lieu des discussions diverses et variées, mais toujours en rapport avec le thème général du forum et dans l'esprit de celui-ci. Contient des rubriques électroniques.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
farvardin
Messages : 436
Inscription : 27 déc. 2014 16:07
Contact :

Garvuino : émulateur hardware de chiptunes

Message par farvardin »

Je viens vous présenter ma petite carte PCB et les projets associés que je suis en train de réaliser.

Ça a commencé avec un émulateur matériel de soundchip YM2149 / AY-3-8910 sur le projet AVR-AY (rien à voir avec la ville du même nom !) : http://www.avray.ru/

Alors oui un émulateur logiciel permet de faire une bonne simulation des musiques, mais celui-ci utilisant un vrai "chip", le rendu sera différent d'un émulateur logiciel.

Je l'ai assemblé sur une carte de prototypage, et comme ça m'a bien plu, j'ai fait une carte PCB. Il s'agit donc d'un projet "artistique", qui n'a d'autre finalité que de produire des musiques et des sons.

Exemples :

- http://picosong.com/wseMn/ (Cauldron / Amstrad)
- http://picosong.com/HUGM/ (Xenon / Spectrum)
- https://soundcloud.com/memento-somniare/sidarduino-test (synthé SID)
- http://battleofthebits.org/arena/Entry/ ... ter/26509/ (création personnelle, mode Spectrum)

Ça permet donc de jouer des chiptunes sans avoir besoin d'un Amstrad, ZX spectrum ou Atari ST complet !

Mais pas que cela. Il y a également d'autres aspects à cette carte puisque ça comprend ces éléments :

- filtre passe-bas
- arduino nano
- lecteur de carte SD
- connecteur Midi DIN-5

De ce fait, on peut l'utiliser également pour la conception d'autres projets :

- synthé Mozzi (voir les possibilités ici : https://sensorium.github.io/Mozzi)
- synthé émulateur SID (le chip sonore du C64 !)
- lecteur de musique "beeper" en 1-bit, issus de routines du ZX Spectrum.
- je n'ai pas encore réussi à faire un synthé pour utiliser le chip AY, néanmoins on peut brancher une petite photo-résistance et l'utiliser comme un générateur quasi-aléatoire de musiques ou de bruit.


Lorsque j'aurai reçu mes cartes de l'usine, prochainement je pense, je compte faire une petite vidéo de présentation un peu plus détaillée des possibilités.

Je peux vendre la carte seule (compter 4 € avec frais de port), mais aussi des kits à souder soi-même, faut que je regarde le poids total pour donner un prix mais ça ne devrait pas dépasser 15 € pour la France si ça passe en lettre). Et puis l'option tout assemblé, idem, faut voir le temps que je passe mais je pense que ça devrait être dans les 20 €

Le projet sur github :
https://github.com/farvardin/garvuino

Image
Avatar de l’utilisateur
Falkor
Messages : 1701
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: Garvuino : émulateur hardware de chiptunes

Message par Falkor »

Chouette projet ! :wink:
Notator
Messages : 1286
Inscription : 09 août 2015 20:13

Re: Garvuino : émulateur hardware de chiptunes

Message par Notator »

Ce n'est pas un peu sur-dimensionné, un Arduino Nano, plus un AT Mega, juste pour réaliser un chiptune ? :shock:
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
Avatar de l’utilisateur
farvardin
Messages : 436
Inscription : 27 déc. 2014 16:07
Contact :

Re: Garvuino : émulateur hardware de chiptunes

Message par farvardin »

Notator a écrit :Ce n'est pas un peu sur-dimensionné, un Arduino Nano, plus un AT Mega, juste pour réaliser un chiptune ? :shock:
bien sûr que c'est surdimensionné, Linus Åkesson a bien créé son propre chip pour jouer sa musique : http://www.linusakesson.net/hardware/chiptune.php

Mais je n'ai pas son intelligence ni le temps pour recoder tout dans un chip plus petit. Et surtout, avec le code de AVRAY on peut réutiliser les musiques des milliers de chiptunes déjà écrites depuis des années pour ZX Spectrum, Atari ST ou Amiga, sans devoir tous les réécrire, donc finalement c'est plutôt économique, la réécriture complète étant en soi plutôt chronophage...

On peut également réutiliser le code de Mozzi, qui n'existe que sur Arduino et c'est la même chose pour toutes les autres possibilités de créer des sons. Je ne comprends pas ta remarque finalement. C'est pas surdimensionné d'avoir besoin d'un ZX Spectrum ou d'un Amstrad complet juste pour jouer des chiptunes ?
Avatar de l’utilisateur
Falkor
Messages : 1701
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: Garvuino : émulateur hardware de chiptunes

Message par Falkor »

On reste surtout sur une configuration similaire à celle des micros de l'époque : la nano fait office de microprocesseur et envoie les infos au circuit sonore "émulé" par l'atmega (si j'ai bien compris le fonctionnement).

Et cette carte rassemble différentes "technologies" audio...
Avatar de l’utilisateur
farvardin
Messages : 436
Inscription : 27 déc. 2014 16:07
Contact :

Re: Garvuino : émulateur hardware de chiptunes

Message par farvardin »

oui tout à fait, dans la partie émulation du chip AY/YM, c'est l'arduino qui titille les registres du processeur sonore, comme à l'époque :)
Notator
Messages : 1286
Inscription : 09 août 2015 20:13

Re: Garvuino : émulateur hardware de chiptunes

Message par Notator »

farvardin a écrit : Je ne comprends pas ta remarque finalement. C'est pas surdimensionné d'avoir besoin d'un ZX Spectrum ou d'un Amstrad complet juste pour jouer des chiptunes ?
Ben non ; tu sais bien qu'il est possible de faire bien d'autres choses en même temps que jouer des chiptunes, avec ces micro-ordinateurs.

Entendons-nous bien, tu fais bien ce que tu veux ; tu peux même rajouter des DSP, si ça te chante.
Je m'étonnais juste du fait qu'utiliser deux processeurs pour jouer uniquement des chiptunes, ça faisait riche ; alors que les micro-ordinateurs précités n'ont qu'un seul processeur, et exécutent simultanément à la génération de musiquettes des tâches bien plus complexes.
Tu viens de répondre que faire comme tu fais te simplifie la vie. OK, pas de problème. :)
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
Avatar de l’utilisateur
farvardin
Messages : 436
Inscription : 27 déc. 2014 16:07
Contact :

Re: Garvuino : émulateur hardware de chiptunes

Message par farvardin »

ben riche, juste en rajoutant un atmega8 à 1€50, on n'a pas la même notion du luxe.
Et puis c'est pareil pour l'arduino : il pilote le chip sonore, et en même temps il lit les données depuis la carte SD et allume une led.

Beaucoup de gens pensent que les chiptunes c'est toujours la même chose, si c'est juste pour sortir un signal carré dégueu, oui on peut le faire avec n'importe quel chip, mais là c'est pour émuler plusieurs chips historiques, avec des caractères et des contraintes précis.

Code : Tout sélectionner

utiliser deux processeurs pour jouer uniquement des chiptunes
l'atmega8 n'est pas utilisé ici en tant que CPU mais pour recréer l'AY-3-8910.
Dernière modification par farvardin le 14 mars 2024 22:11, modifié 1 fois.
Notator
Messages : 1286
Inscription : 09 août 2015 20:13

Re: Garvuino : émulateur hardware de chiptunes

Message par Notator »

farvardin a écrit :ben riche, juste en rajoutant un atmega8 à 1€50, on n'a pas la même notion du luxe.
Je ne parle pas de coût de revient, mais de puissance processeur.
J'en dirais tout autant s'il était question d'utiliser un Arduino juste pour faire clignoter une led.
Ce n'est pas une question de prix, mais de moyens utilisés, disproportionnés par rapport à la finalité visée.
...utiliser deux processeurs pour jouer uniquement des chiptunes.
l'atmega8 n'est pas utilisé ici en tant que CPU mais pour recréer l'AY-3-8910.
J'ai bien compris ce qu'il faisait ; mais vu sa puissance, l'ATmega8 devrait bien avoir d'inemployé le chouia de ressources nécessaire pour générer une misérable séquence avec quelques changements de paramètres sonores.
Quand on pense que des processeurs de puissance équivalente, voire moindre, ont pu servir de moteur pour des synthés workstations, on se dit qu'il y a moyen...

Encore une fois, je ne critique pas tes choix (parce que j'ai l'impression d'avoir touché sans le vouloir une susceptibilité), sur lesquels tu es évidemment libre ; ceci n'est uniquement qu'une discussion académique sur des possibilités techniques de réalisation.
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
Avatar de l’utilisateur
farvardin
Messages : 436
Inscription : 27 déc. 2014 16:07
Contact :

Re: Garvuino : émulateur hardware de chiptunes

Message par farvardin »

oui, j'entends bien, on peut toujours tout faire d'une manière différente. Cela ne heurte pas spécifiquement une susceptibilité, et ce n'est pas contre toi, mais souvent quand on propose une initiative, il y a toujours les remarques qui viennent contre-carrer la raison d'être de cette initiative, par des gens plus savants. Si tu mets de l'arduino, c'est pas bien parce que tu peux faire la même chose avec un PIC, si tu fait de la musique électronique c'est pas bien parce que c'est tellement mieux les vrais instruments, si tu joues de la guitare électrique c'est pas bien parce qu'il faut commencer par la guitare classique pour apprendre dans les règles etc.

Dans le même ordre d'idée sur un forum concurrent on a pu voir toutes les railleries contre un magazine qui proposait de piloter un processeur zilog z80 avec un arduino. « Mais ma bonne dame, moi en 1975 je programmais mon z80 avec un trombone et deux transistors, et c'est comme ça qu'on apprenait, comme de vrais hommes, pas avec un truc qui mâche tout le travail ».

Bref, si j'utilise ici 2 processeurs, c'est parce que la possibilité de sortir des sons de ce type n'existe que de cette manière. Je me vois mal adapter cela juste sur un seul arduino (comme ça a été fait pour le SID), déjà je n'ai pas le bagage technique pour le faire, ensuite si l'auteur d'avr-AY, qui est plus compétent que moi, l'a fait ainsi, c'est peut-être que ce n'était pas possible autrement. Et à l'inverse, je ne sais pas s'il est possible de programmer l'atmega8 pour qu'en plus d'émuler le chip AY, il puisse lire les séquences depuis la carte SD.

Image

https://www.instagram.com/p/BY6k1jtB9Mw ... by=garvalf

Alors, j'ai reçu les PCB, évidemment j'avais fait une erreur dans la conception, et assigné la led et le switch sur la même borne :( Ça se corrige facilement avec un coup de dremel, mais c'est pas très pro...

J'ai aussi inversé les bornes pour le lecteur de mini usb, mais je me demande si je n'ai pas été induit en erreur par un description ebay erronée. D'un autre côté, même si ça m'oblige à dessouder les bornes du lecteur pour inverser le sens, ça sera sans doute plus pratique à l'usage.

J'ai également placé certains cavaliers à un endroit pas pratique à utiliser. Et il y a trop de cavaliers de façon générale. Je vais voir si je peux me passer de certains.

En tout cas pour le reste, ça semble fonctionner correctement.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Garvuino : émulateur hardware de chiptunes

Message par __sam__ »

En tout cas pour le reste, ça semble fonctionner correctement.
Et c'est ca qui importe en fin de compte. C'est cool, bravo! 8)
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
Falkor
Messages : 1701
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: Garvuino : émulateur hardware de chiptunes

Message par Falkor »

Chouette résultat. Tu as même poussé le thème à mettre leds et cavaliers bleus, c'est super joli. :wink:
Notator
Messages : 1286
Inscription : 09 août 2015 20:13

Re: Garvuino : émulateur hardware de chiptunes

Message par Notator »

farvardin a écrit : 14 sept. 2017 17:00 oui, j'entends bien, on peut toujours tout faire d'une manière différente. Cela ne heurte pas spécifiquement une susceptibilité, et ce n'est pas contre toi, mais souvent quand on propose une initiative, il y a toujours les remarques qui viennent contre-carrer la raison d'être de cette initiative, par des gens plus savants. Si tu mets de l'arduino, c'est pas bien parce que tu peux faire la même chose avec un PIC, si tu fait de la musique électronique c'est pas bien parce que c'est tellement mieux les vrais instruments, si tu joues de la guitare électrique c'est pas bien parce qu'il faut commencer par la guitare classique pour apprendre dans les règles etc.
Dans le même ordre d'idée sur un forum concurrent on a pu voir toutes les railleries contre un magazine qui proposait de piloter un processeur zilog z80 avec un arduino. « Mais ma bonne dame, moi en 1975 je programmais mon z80 avec un trombone et deux transistors, et c'est comme ça qu'on apprenait, comme de vrais hommes, pas avec un truc qui mâche tout le travail ».
Bon, revenons au fond. Pourquoi participe-t-on à un forum ?
Pour discuter et échanger des idées.
Nous ne sommes pas tous pareils, et c'est normal que tous nous ne voyons pas forcément les choses de la même manière.
Si tous nous étions toujours tous du même avis sur tout, ce serait d'un ennui mortel, et la discussion serait sans aucun intérêt.

Et puis, à partir du moment où on rend public le fruit d'une initiative, il faut accepter l'éventualité que ça ne plaise pas à tout le monde (je parle en général, pas spécifiquement du cas présent), et qu'un autre l'aurait réalisé d'une autre manière ; sans compter ceux qui peuvent n'avoir pas bien compris la finalité du truc.

Si c'est juste pour avoir des retours comme :"Oui, c'est bien, c'est super, c'est génial", ça flatte l'ego, mais ça n'apporte rien de plus.

Après, les limites du média forum font qu'une discussion qui ferait 3 minutes dans la vie réelle, s'étale sur des jours (parce qu'on a une vie entre deux réponses) et prend un résonance déformée. Mes contributions prouvent que je me suis intéressé à l'aspect technique de ta réalisation, il ne faut rien y voir d'autre. :)
Bref, si j'utilise ici 2 processeurs, c'est parce que la possibilité de sortir des sons de ce type n'existe que de cette manière.
Plus justement dit, d'autres possibilités existent, mais tu as choisi celle-ci, que tu as jugée préférable aux autres. :)
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Garvuino : émulateur hardware de chiptunes

Message par Daniel »

Félicitations pour ce montage et la qualité du circuit imprimé. L'intérêt d'utiliser deux micro-processeurs est évident, ils simplifient le projet en séparant les fonctions.

On peut toujours discuter sur ce choix, mais la discussion est stérile tant qu'elle ne débouche pas sur une réalisation concrète. Critiquer n'apporte rien, faire mieux est plus intéressant. Mais est-ce possible ? Comme St Thomas je demande à voir...
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17424
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: Garvuino : émulateur hardware de chiptunes

Message par fneck »

Notator a écrit : 15 sept. 2017 09:00 Bon, revenons au fond. Pourquoi participe-t-on à un forum ?
Pour discuter et échanger des idées.
Oui, je suis d'accord et c'est toujours bon de le rappeler 8)
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Répondre