MSX Village forum

L'école (Résolu) Lire/convertir music MP3->PCM pour COVOX à default d'avoir un lecteur MP3

Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 04/03/2012 à 21h53

Reprise du message précédent

Le VDP envoie une info à la fin du rafraichissement
Je pense que le VDP doit servir de timer

J'ai lu sur le poste qu'il y avait quelques coupures
Ne serait il pas judicieux d'échantillonner à 15 625 sur nos machines à 50Hz (hors 2+ origine et TurboR) Edité par Fabf Le 04/03/2012 à 21h54
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 6284

Le 04/03/2012 à 22h18
Je n'y avait pas pensé, en effet Fabf, comme nous l'a ci bien précisé igal, en 50hz (ce qui est le cas pour nous ) c'est Fh(50 Hz) = 50 x 625 / 2 = 15 625 Hz
Me reste a tester en 60hz qui sait :heink


ps: rien n'empeche de convertir en dessous du genre 10000hz, ça fonctionne ! ça augmente la durée , mais au détriment de la qualité :(


KCX Bluetooth emitter Mono/ Stéréo, Smart USB
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 6284

Le 04/03/2012 à 22h23
igal :
Le Covox sur le Port imprimante et le Music Module sur le port cartouche...



Avec "Unreal Démo" les données vont simultanément sur les deux! (J'ai même posté un enregistrement le précisant)



Covox => Oui

Music Modul => Oui

Sortie Audio Msx => Non



On peut penser que ce n'est pas un flux audio qui est propagé dans le MSX et ressort pas le Music Module puisque le MSX ne sort aucun Son!



La même bande son est envoyée vers les deux périphériques.



Je suppose qu'un Software pourrait donc jouer les Deux pistes différentes simultanément, une piste sur le Music Module et l'autre sur le Covox.



Je saurai pas te dire si c'est vraiment réalisable, n'y connaissant pas grand chose :heink




Ce serait top de pouvoir jouer les 2 pistes avec les 2 carte son separé, mais ce ne sera pas possible. Un seul morceau ne peux etres joué a la fois en plus la totalité de la ram (4mo) est pratiquement deja attribué a un seul morceau. Donc point mort (crot... :( ) Edité par MSXlegend Le 04/03/2012 à 22h24


KCX Bluetooth emitter Mono/ Stéréo, Smart USB
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1503

Le 05/03/2012 à 09h06
igal :
15750 est en fait le nombre de Top de retour de ligne horizontales dans l'image par secondes lorsque la fréquence est à 60Hz.

Vue que c'est la même fréquence d’échantillonnage des musiques, c'est donc certainement lié!




Je ne crois pas, non ... Je pense plutôt que c'est une coïncidence.



Car les seuls signaux que peuvent transmettre le VDP au processeur, ce sont les interruptions. Dans le cas du MSX1, seule l'interruption VBLANK est transmise (donc 50Hz ou 60Hz). Pour le MSX2, on peut paramétrer une interruption par ligne lors des HBLANK, mais cela ne fait que 10600Hz (212x50) ou 12720Hz (212x60).



Dans le cas de programmes qui nécessitent un timing très précis, la procédure la plus souvent utilisée est d'écrire une boucle de code répétitive qui a toujours la même longueur d'exécution. Comme on connaît le temps d'exécution des opcodes Z80, on peut donc en déduire l'intervalle d'échantillonnage.



De plus, cette méthode est plus facile à mettre en oeuvre que de se baser sur une interruption du VDP. Dans le cas du MSX2, il faut réinitialiser l'interruption à chaque cycle (une dizaine d'opérations), et au minimum, comme les interruption peuvent être multiples, il faut toujours vérifier qu'elle vient du VDP (quelques opérations). Au final, on ralenti le code principal.



Il y a d'ailleurs un test facile à faire pour vérifier d'où viens le timing du séquençage : utiliser le programme sur un MSX avec un Z80 overclocké. Si la musique ne change pas de vitesse, c'est que le timing vient du VDP, si elle change de vitesse, c'est que le timing vient du code. Edité par Metalion Le 05/03/2012 à 09h43


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 6284

Le 05/03/2012 à 22h30
Metalion :
Il y a d'ailleurs un test facile à faire pour vérifier d'où viens le timing du séquençage : utiliser le programme sur un MSX avec un Z80 overclocké. Si la musique ne change pas de vitesse, c'est que le timing vient du VDP, si elle change de vitesse, c'est que le timing vient du code.


Je confirme qu'en mode 7Mhz, la musique double de vitesse ^^



-------



Une question pour les pro!!! Je ralenti par 2 mon morceau de musique, et que je conserve 8bits mono 15Khz, alors si je me met en mode 7Mhz, ma musique tournera en 31Khz (en quelque sorte) non! si on réfléchi bien ! Par contre on n'aurait que 2 minutes au lieu de 4mn

ça vaut le coup d'essayer, mais est ce possible :hum



Dans le menu de playsmp, (lecteur de PCM), il y a aussi possibilité de choisir la vitesse de lecture. Par default, j'ai mi 10. Si je change de sorte a lire plus vite mon morceau (que j'ai ralenti au moment de la convertion) j'ai normalement le meme resultat.



A étudier tout ça ;) Edité par MSXlegend Le 05/03/2012 à 23h15


KCX Bluetooth emitter Mono/ Stéréo, Smart USB
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 06/03/2012 à 09h19
@Métalion:
J'ai trouvé le nom du signal auquel je pensai.
Il s'agit du "Top retour de ligne" contenu dans le Signal CVBS (Composite). (Toutes les 20 ms)
Mais comme tu l'as dit, c'est peut être une coïncidence!

@Legend:
Mode [Frankenstein ON]

Essais cela :fou

1) Tu prends une musique de Référence à 30Khz de 50 secondes. (L'idéal serait de le faire avec une ziq à 60Khz)
2) Tu ré-enregistres ton morceau en le lisant à la moitié de sa vitesse normale.
3) Tu obtiens une Musique de 100 Secondes avec des voix et des sons d'outre tombe :heink
4) Tu Samples cette lecture de (100 Secondes à vitesse lente) à 30 Khz.
5) Tu obtiens une Musique de 100 Secondes à 30 Khz avec des Sons graves.
6) Tu envoie dans ton MSX et tu lis comme un morceau à 15Khz mais en "overclockant" au double du CPU normal.

Au final, tu devrais avoir un morceau de 50 Secondes lu à 30 Khz avec un rendu normal.
Par contre, tu peux stocker 4 fois moins de Temps de musiques sur tes 4Mo.
2 Fois moins parce que ton Sample est à 30 Khz.
2 Fois moins parce que tu as divisé par 2 le Temps.

Bon c'est très tordu comme approche, mais ...je l'avais enclenché le Mode [Frankenstein ON] :fou :fou :fou

Allez...Je prends mes cachets maintenant :sick Edité par igal Le 06/03/2012 à 09h32


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 6284

Le 06/03/2012 à 10h00
Dans un 1er temps, dit moi comment on fait pour ralentir un mp3 de sorte que quand je le lit avec mon player sur pc, il puisse tourner 2 fois plus lentement :hum on peut normalement avec audacity il me semble mais comment

ensuite, il me restera plus qu'a convertir mon morceau en 8bits, mono, 15khz. En mode lecture rapide, je devrais avoir l'equivalent de 31Khz.

Si ça fonctionne (et je sais que c'est possible ^^) je compte séparer les voie gauche et droite. Pour cela, il me faudra mes deux 8235 4mo avec 2 covox et 2 lecteurs de carte chacune pour le stockage du morceau PCM. Pour le 1er MSX, il y aura la partie de gauche, et pour le 2eme MSX, la partie de droite. Il restera plus qu'a faire partir en simultané les 2 morceaux et me voila avec un echantillon 8bits stereo 31Khz (non je ne suis pas fou :fou )

C'est tout a fait réalisable comme project :kiss Edité par MSXlegend Le 06/03/2012 à 10h01


KCX Bluetooth emitter Mono/ Stéréo, Smart USB
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10730

Le 06/03/2012 à 12h49
le plus dur dans l'affaire sera de synchroniser les 2 MSX pour qu'ils démarrent la musisque en même temps

peut être un bouton spécial avec 2 contacts branché sur les 2 ports manettes A des 2 MSX !!


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 06/03/2012 à 19h24
MSXlegend :
Dans un 1er temps, dit moi comment on fait pour ralentir un mp3 de sorte que quand je le lit avec mon player sur pc, il puisse tourner 2 fois plus lentement :hum on peut normalement avec audacity il me semble mais comment




Je maîtrise pas non plus audacity, mais voila ce que j'ai fais pour arriver à mes fins! (presque lol)



Première étape: Création du SAMPLE à une fréquence Quadruple aux 15750Hz requis :moue

***************

1) Tu lances Audacity

2) tu fais ouvrir.

3) tu choisis ta ziq. (Disons TOTO.MP3 et en 44 000 Hz 16Bits Stéréo)

4) tu cliques sur une des pistes

5) tu fais PISTES/STEREO VERS MONO

6) tu n'as plus qu'une piste MONO

7) tu fais PISTES / REECHANTILLONER => 63000 (Soit 2 X 2 X 15750) / OK

8) tu peux voir l'entête de ta piste (tout à gauche) => Mono, 63000Hz, 32 Bits flottant.

9) tu fais FICHIER / EXPORTER / AUTRES FORMATS NON COMPRESSES => RAW => SIGNED 8 BIT PCM /ENREGISTRE / OK

10) Dorénavant ton Sample est TOTO.RAW (Mono/63000Hz/8Bits)

11) tu fermes AUDACITY sans accepter de modifier ton fichier source ;)

Nb: Le fichier créé sera lu à une vitesse 2 fois moindre que sa vitesse normale!



Seconde étape: préparation à l'enregistrement à la volée!

Nécessite un second ordinateur :oups :hum

1) tu ouvres Audacity.

2) FICHIER / IMPORTER / FICHIER BRUT RAW / TOTO.RAW => SIGNED 8 BITS / 1 CANAL MONO / FREQUENCE ECHANTILLONAGE => 31500HZ

3) tu supprimes la piste présente.

4) L'ordinateur et le logiciel sont prêt à Sampler à une fréqence de 31500Hz en Mono et 8 Bit.



Troisième étape: Lecture à vitesse V divisée par 2.

1) tu lances Audacity.

2) FICHIER / IMPORTER / FICHIER BRUT RAW / TOTO.RAW (63000Hz)

3) tu lances la lecture du fichier avec le TRIANGLE VERT situé sous l'icone du Micro et haut parleur en ayant placé le réglage à 50/100.

La lecture se fait donc à mi-vitesse ;)



Quatrième étape: Enregistrent à un fréquence 2 fois trop importante et une vitesse 2 fois trop lente :D

Sur l'autre ordinateur:

1) tu cliques sur le bouton ENREGISTRER. (Une fois l'enregistrement terminé.)

2) tu cliques sur FICHIER / EXPORTER / OPTIONS / RAW SIGNED 8 BITS

3) tu fermes Audacity sans accepter de modifier le fichier!

Au final, tu as une musique.RAW/MONO/31500HZ/VITESSE LENTE



Sur ton MSX Overclocké, les musiques étant 2 fois trop rapide, au final, l'idée est d'essayer ça:



Un enregistrement en 15700Hz lu sur ton MSX en Turbo => Vitesse de lecture 2 fois trop rapide.

Un enregistrement LENT en 15700Hz avec ton MSX en Turbo => Vitesse bonne, mais qualité peut être faiblarde.

Un enregistrement LENT en 31500Hz avec ton MSX en Turbo => Vitesse Bonne et Qualité peut être meilleur.



Moralité, si t'a pas un second PC...Ben tu peux pas produire l'enregistrement :fou




























Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Visiteur

Vagabond

Rang

Avatar

Message : 0

Le 06/03/2012 à 19h43
2 PC ? :oups

Je pense qu'il suffit d'avoir une copie de TOTO.RAW renommée TOTO2.RAW ! :heink

Donc, pas 2 PC, mais 2 TOTO !!! :lol :lol :lol
   
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 6284

Le 06/03/2012 à 19h46
:| ........ :lol

En fait sans perdre la qualité et tout en restant en stereo, je souhaiterais ralentir mon mp3 par 2. Je vais étudier ton petit "bims :heink " plus haut

Ensuite avec wavosaure, je convertirais en 8bits mono 15Kz. Par contre Igal, sache qu'un PCM 8 bits mono 31khz ne peux pas etre lu. Il me faut a la fin obligatoirement un fichier WAV en 8bits mono 15Khz. Le fait de doubler la vitesse de lecture sur MSX (et c'est possible meme par 4x sans le kit 7Mhz ;) ) permet de passer a l'equivalent de 31Kz voir meme plus mais au detriment de la durée...


KCX Bluetooth emitter Mono/ Stéréo, Smart USB
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 6284

Le 06/03/2012 à 23h37
Igal, tu te donne trop de mal pour rien. Il faut plutot faire un tour sur ce tutoriel. (Mais tu as tout bon pour audacity ^^)

http://www.tutoriels-animes.com/ralentir-accelerer-vitesse-mp3.html



KCX Bluetooth emitter Mono/ Stéréo, Smart USB
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 6284

Le 07/03/2012 à 00h20
Voici le morceau choisi: 17warp stage.mp3

"TESTLOW-15KHZ.WAV" c'est le "FAUX" 31Khz pour MSX. Sur PC la musique tourne en 15Khz mais est 2 fois plus lente
http://www.mediafire.com/?z7m10xmxzmoi62m

"TEST15KZ.WAV" C'est la version standard 15Khz
http://www.mediafire.com/?oocqn0zlc58jlyi


Et pour finir, le resultat esperé (on peux réver :siffle ) . Lisible uniquement sur PC: Test31Kz.wav pour PC

Il suffit de renommer les 2 fichier en PCM pour que ce soit compatible MSX (TESTLOW-15KHZ.WAV en Test31Kz.pcm/ et TEST15KHZ.WAV en Test15Khz.PCM)

Pour les écouter sur PC, il faut les laisser en WAV et il faut une lecture 2x plus rapide pour la version testlow-15Khz.wav (Faux 31Khz)
On se rend bien compte de la différence avec un casque. Edité par MSXlegend Le 11/03/2012 à 23h11


KCX Bluetooth emitter Mono/ Stéréo, Smart USB
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 07/03/2012 à 09h16
mars2000 :
2 PC ? :oups



Je pense qu'il suffit d'avoir une copie de TOTO.RAW renommée TOTO2.RAW ! :heink



Donc, pas 2 PC, mais 2 TOTO !!! :lol :lol :lol




Lut Mars 2000 ;)



En fait il faut lancer deux taches différentes sur le même logiciel à savoir:



Audacity => Lecture Lente 63 000Hz

et simultanément:

Audacity => Enregistrement Normal 31500Hz.



J'ai essayé, mais pas moyen de lancer deux fois le même logiciel avec ses fonctions (Contraire!)

Encore une fois, je maîtrise pas du tout Audacity..

J'ai donc essayé de Lire sur VLC et enregistrer simultanément sur Audacity, mais pas concluant. (Qualité pourrie)

Il semblerait que Légend ait trouvé le bon tuto pour le faire avec un seul ordi :top



@Légend:



Content que ça fonctionne...ça restait de l'hypothèse, t'en a fait une pratique :top

Cependant, une chose me laisse perplexe.



Tu as posté ces deux enregistrements:

*************************************

Voici le rendu REEL sur MSX (Le PCM n'est qu'un fichier WAV 8bits !!) "TEST15KZ.WAV"

http://www.mediafire.com/?oocqn0zlc58jlyi



Voici le rendu REEL sur MSX en double vitesse logiciel (kit 7Mhz pas nécéssaire) "TEST31KHZ.WAV"

http://www.mediafire.com/?e57lg6n24z9jcv1

*************************************



Ces deux enregistrements sont ceux de la lecture du PCM par le MSX?

Msx => Player => Teste15.pcm ou Teste30.pcm => Covox => Cinch ou MiniJack => PC => Enregistreuse Windows ? :|

Si c'est bien ça, alors c'est d'la balle atomique...J'suis sur le c.. :heink



Plus sérieusement, si c'est bien la qualité de Sortie Audio, alors, un Sound Tracker (genre Amiga) serait génialissime :love Edité par igal Le 07/03/2012 à 09h17


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 6284

Le 07/03/2012 à 10h06
Les 2 fichiers wav 15 et 31kz est le rendu sur pc, c'est pour avoir un aperçu sur PC, en fait il faut rester en 15Khz sur msx. Pour avoir l'equivalent s'un 31Khz, il faut renommer les 2 fichiers (TEST15KZ.WAV et TESTLOW-15KHZ.WAV en TEST15kHZ.PCM et TEST31KZ.PCM pour MSX)

Donc on garde "TESTLOW-15KHZ.WAV" a renommer en TEST31Kz.PCM
http://www.mediafire.com/?z7m10xmxzmoi62m

Et "TEST15KZ.WAV" en TEST15Kz.PCM
http://www.mediafire.com/?oocqn0zlc58jlyi

Ce n'est que theorique car je n'ai pas encore fait le test sur MSX, mais c'est en court actuellement ;)

Il faut utiliser Playsmp et choisir vitesse 10. Je ne connais pas encore le reglage pour avoir une lecture rapide de mon WAV low pour avoir l'equivalent d'un 31000Hz (en cours !!) Edité par MSXlegend Le 07/03/2012 à 10h37


KCX Bluetooth emitter Mono/ Stéréo, Smart USB
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 6284

Le 07/03/2012 à 10h27
Test sur MSX effectué

Il faut le logiciel PLAYSMP, et le COVOX

Pour la lecture en 15Khz il faut régler SPEED à 10 (test15Kz.pcm)
Pour la lecture en 31Khz il faut régler SPEED à 2 (test31kz.pcm qui est tout simplement un fichier 15Khz ralenti par 2 directement a partir d'un MP3 puis converti en mono 8bits 15Khz)

Dans les 2 cas, le morceau fait 44 secondes

M'a été pratique les SAMPLES sur Amiga :kiss

Je pensais pouvoir faire un morceau en 44Khz mais il faudra le kit 7Mhz pour ça, car le MSX est presque au max en 31Kz

Voila Igal peux tu tester la difference et me dire si on sent bien la difference de qualité ?
Le fichier testlow15Kz.wav -> renommé test31Kz.pcm prend 2 fois plus de place qu'un simple PCM donc 2mn d'ecoute max est possible Edité par MSXlegend Le 07/03/2012 à 10h35


KCX Bluetooth emitter Mono/ Stéréo, Smart USB
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie