[Thomson] Musique 1 bit avec SDDRIVE
Modérateurs : Papy.G, fneck, Carl
[Thomson] Musique 1 bit avec SDDRIVE
SDDRIVE accède à la carte SD en mode SPI, c'est à dire que les données ne sont pas lues par octets complets, mais par bit, un par un.
Cette caractéristique en fait le périphérique idéal pour du streaming de musique 1 bit.
Pour tester j'ai fait un premier essai (très imparfait) pour MO5. Le résultat est assez encourageant et devrait pouvoir être amélioré.
Avec un vrai MO5 le moniteur ou le téléviseur ont une bande passante limitée et filtrent les aigus, par contre avec un PC attention à vos oreilles
Voici le fichier .sd pour SDDRIVE (fonctionne uniquement sur MO)
Cette caractéristique en fait le périphérique idéal pour du streaming de musique 1 bit.
Pour tester j'ai fait un premier essai (très imparfait) pour MO5. Le résultat est assez encourageant et devrait pouvoir être amélioré.
Avec un vrai MO5 le moniteur ou le téléviseur ont une bande passante limitée et filtrent les aigus, par contre avec un PC attention à vos oreilles
Voici le fichier .sd pour SDDRIVE (fonctionne uniquement sur MO)
Dernière modification par Daniel le 21 juin 2021 20:25, modifié 1 fois.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- gleike
- Messages : 1341
- Inscription : 16 oct. 2014 11:12
- Localisation : Ludres (54710) Meurthe & Moselle
Re: [Thomson] Musique 1 bit avec SDDRIVE
Effectivement, on entend bien les aigus
ça frise les ultrasons.
ça frise les ultrasons.
Re: [Thomson] Musique 1 bit avec SDDRIVE
C'est bien meilleur sur les vraies machines.
Avec l'émulateur il y a un gros problème de restitution, car le son est joué à 25000 échantillons par seconde, alors que la musique 1 bit est jouée à 40000 bits par seconde. Il en résulte des phénomènes assez complexes qui provoquent ces sifflements désagréables.
Les vraies machines n'ont pas ce problème car elles jouent effectivement 40000 bits par seconde.
[Edit 20:30]
J'ai modifié la fréquence de sortie de l'émulateur pour atténuer le sifflement et uploadé à nouveau le programme win.exe dans le premier post.
Avec l'émulateur il y a un gros problème de restitution, car le son est joué à 25000 échantillons par seconde, alors que la musique 1 bit est jouée à 40000 bits par seconde. Il en résulte des phénomènes assez complexes qui provoquent ces sifflements désagréables.
Les vraies machines n'ont pas ce problème car elles jouent effectivement 40000 bits par seconde.
[Edit 20:30]
J'ai modifié la fréquence de sortie de l'émulateur pour atténuer le sifflement et uploadé à nouveau le programme win.exe dans le premier post.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: [Thomson] Musique 1 bit avec SDDRIVE
"virus détecté" windows refuse le téléchargement.
Re: [Thomson] Musique 1 bit avec SDDRIVE
La version windows crachote beaucoup niveau harmonique.
Re: [Thomson] Musique 1 bit avec SDDRIVE
Merci pour cette découverte. Je suis allé voir leurs autres productions et c'est plutôt sympa comme style. Concernant le 1-bit si c'est la même technique que les exemples que tu précharges sur la carte microSD des SDDRIVE j'ai en effet pu me rendre compte que ça sonne bien sur le téléviseur.
-
- Messages : 7924
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: [Thomson] Musique 1 bit avec SDDRIVE
Heu.. je me trompe ou on avait déjà évoqué ce sujet avec SDMOTO ? C'était là: https://forum.system-cfg.com/viewtopic.php?t=6013
J'ai rapidement revu le fil correspondant. On avait fait pas mal de tests, avec analyse du signal sous audacity. Par contre comme les fichiers étaient sur cjoint, je doute qu'ils soient encore disponibles pour comparer. Il faudrait les reproduire. Heureusement les sources sont tous dispo dans l'ancien fil. Si quelqu'un se sent le courage.. (pour ma part sur suis sur un autre truc.. dont je ne vais pas tarder à parler si ca avance comme je le veux.)
J'ai rapidement revu le fil correspondant. On avait fait pas mal de tests, avec analyse du signal sous audacity. Par contre comme les fichiers étaient sur cjoint, je doute qu'ils soient encore disponibles pour comparer. Il faudrait les reproduire. Heureusement les sources sont tous dispo dans l'ancien fil. Si quelqu'un se sent le courage.. (pour ma part sur suis sur un autre truc.. dont je ne vais pas tarder à parler si ca avance comme je le veux.)
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
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: [Thomson] Musique 1 bit avec SDDRIVE
Oui, nous avions bien avancé sur le sujet avec DCMOTO. Il faudrait reprendre les tests faits à l'époque. Je dois avoir tout gardé dans mes archives, il faut que je cherche.
Avec SDMOTO, le signal d'horloge monte et descend par soft. Il faut 4 cycles pour chaque changement, soit 8 cycles par bit.
Avec SDDRIVE le signal d'horloge est généré par le matériel, on économise les 8 cycles par bit, c'est considérable.
C'est pourquoi j'ai eu envie de reprendre les essais. Le morceau Space Invaders est un début, sans aucune recherche d'optimisation, pour montrer que c'est possible. Tout reste à faire en reprenant les projets précédents.
Il y a deux points à travailler :
- L'algorithme de conversion de 8 bits vers 1 bit
- Le traitement du délai de changement de bloc à la lecture de la carte SD.
Dans ce premier essai la boucle ne tient pas compte des changements de bloc, il y a donc une interruption périodique du son très audible.
Avec SDMOTO, le signal d'horloge monte et descend par soft. Il faut 4 cycles pour chaque changement, soit 8 cycles par bit.
Avec SDDRIVE le signal d'horloge est généré par le matériel, on économise les 8 cycles par bit, c'est considérable.
C'est pourquoi j'ai eu envie de reprendre les essais. Le morceau Space Invaders est un début, sans aucune recherche d'optimisation, pour montrer que c'est possible. Tout reste à faire en reprenant les projets précédents.
Il y a deux points à travailler :
- L'algorithme de conversion de 8 bits vers 1 bit
- Le traitement du délai de changement de bloc à la lecture de la carte SD.
Dans ce premier essai la boucle ne tient pas compte des changements de bloc, il y a donc une interruption périodique du son très audible.
Code : Tout sélectionner
;------------------------------------------------------
; Boucle de lecture d'un bloc (25 cycles / bit)
;------------------------------------------------------
PLAY2
LDB #$7F ; initialiser B pour lecture (2)
LDX #$1000 ; compteur pour 4096 bits
LDA $A7C1 ; pour MO5 (5)
PLAY3
LSRA ; perte du bit 0 (buzzer) (2)
CMPB <$BF ; lecture d'un bit dans CARRY (4)
ROLA ; remplacement du bit 0 (2)
STA $A7C1 ; envoi du bit au buzzer (5)
LEAX -1,X ; comptage bits secteur (5)
NOP ; temporisation (2)
NOP ; temporisation (2)
BNE PLAY3 ; nouvelle boucle (3)
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: [Thomson] Musique 1 bit avec SDDRIVE
Le virus a laissé sa trace à l'écran. Deux ou trois coups de pistolet laser devraient suffire pour l'éradiquer
J'ai déjà, dans le forum, perdu beaucoup de temps à discuter des virus et des antivirus. Ça n'a servi à rien. Dorénavant je refuse toute discussion sur ce sujet.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: [Thomson] Musique 1 bit avec SDDRIVE
Non, SDDRIVE Music est du son 6 bits à 15152 échantillons par seconde, joué par le CNA : http://dcmoto.free.fr/programmes/sddriv ... index.html
Le sujet ici est la musique 1 bit jouée par le buzzer. La qualité n'est pas comparable.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: [Thomson] Musique 1 bit avec SDDRIVE
D'accord merci pour la précision. Ceci explique la qualité. 1-bit c'est effectivement très peu mais j'aimerais me faire une idée sur la machine physique. A terme si tu avances sur le sujet ce sera possible de faire une version TO?
Re: [Thomson] Musique 1 bit avec SDDRIVE
Nouvelle version du fichier .sd, compatible MO et TO :
C'est toujours la première version expérimentale, je vais essayer de l'améliorer en utilisant les méthodes décrites dans notre discussion de 2015.
https://forum.system-cfg.com/viewtopic.php?t=6013
[Edit]
Cette nouvelle version utilise un algorithme de diffusion d'erreur de 2015.
Elle semble meilleure, mais le craquement au changement de bloc reste bien audible.
C'est toujours la première version expérimentale, je vais essayer de l'améliorer en utilisant les méthodes décrites dans notre discussion de 2015.
https://forum.system-cfg.com/viewtopic.php?t=6013
[Edit]
Cette nouvelle version utilise un algorithme de diffusion d'erreur de 2015.
Elle semble meilleure, mais le craquement au changement de bloc reste bien audible.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: [Thomson] Musique 1 bit avec SDDRIVE
Merci Daniel j'ai écouté les deux morceaux hier. C'est quand même épatant de ressortir une musique identifiable mais le son semble venir de loin et le timbre est assez métallique. Le processeur est-il à 100% pour produire la musique à cette qualité ?
Re: [Thomson] Musique 1 bit avec SDDRIVE
Le son est joué à la fréquence de 48000 bits par seconde, ce qui occupe le processeur à 100%.
Cette fréquence est suffisante pour obtenir un son ressemblant, mais il faudrait beaucoup plus pour avoir une bonne qualité.
Avec un ordinateur Thomson on n'ira pas beaucoup plus vite, par contre on doit pouvoir améliorer un peu l'algorithme de conversion en 1 bit et atténuer le claquement au changement de bloc de la carte SD.
SDSTREAM lit un octet à la même fréquence que SDDRIVE lit un bit, et donc joue la musique en PCM à 48000 échantillons par seconde. La différence de qualité est impressionnante. L'expérience de musique 1 bit avec SDDRIVE montre seulement que c'est possible. Pour les mélomanes SDSTREAM Music est la seule solution.
Cette fréquence est suffisante pour obtenir un son ressemblant, mais il faudrait beaucoup plus pour avoir une bonne qualité.
Avec un ordinateur Thomson on n'ira pas beaucoup plus vite, par contre on doit pouvoir améliorer un peu l'algorithme de conversion en 1 bit et atténuer le claquement au changement de bloc de la carte SD.
SDSTREAM lit un octet à la même fréquence que SDDRIVE lit un bit, et donc joue la musique en PCM à 48000 échantillons par seconde. La différence de qualité est impressionnante. L'expérience de musique 1 bit avec SDDRIVE montre seulement que c'est possible. Pour les mélomanes SDSTREAM Music est la seule solution.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.