MSX Village forum

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

igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 25/04/2015 à 10h54

Reprise du message précédent

@Eric: tu pourrais nous donner quelques détails stp?
Je suis très intéressé par la possibilité de jouer les Samples depuis la VRAM => COVOX :D


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

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5552

Le 25/04/2015 à 15h11
@igal, en bas de la page de la cartouche SD drive
http://www.ebsoft.fr/shop/fr/home/36-sd-cartridge-sd-drive.html

il y a un lien de téléchargement "Covox player Demo"

dedans il y a :
- wav2msx.exe un petit logiciel PC que ma fille a réalisé pour convertir un fichier WAV en fichier BIN lisible sur MSX (fonctionne aussi pour PCMPLAY du Turbo-r)
- covox_play.dsk qui contient le programme Basic et ASM pour jouer des samples depuis le Basic.
(Le code du programme ASM à été réalisé par 6502MAN)

voilà, tu as tout ce qu'il te faut... amuse toi bien ;) Edité par ericb59 Le 25/04/2015 à 15h12


banniere-ericb59e
Site web    
6502man Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 19/08/2013 à 18h14

Messages: 815

Le 25/04/2015 à 19h17
;)


Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 25/04/2015 à 20h12
Merci :)

Par contre le MSX semble encore une fois verouille durant la lecture du sample.

J'ai essayé d'écourter la durée de lecture au minimum en augmentant la vitesse de lecture et en réduisant la quantité de données à lire (adresse de fin de lecture) à une seule unité (decimale) mais malgré la lecture très rapide, la quantité de données à lire semble être trop importante puisque cela dure une peu plus d'une seconde.

en 50hz, j'obtiens 29 unités TIME ce que est un peu plus d'une demi seconde.

6502man: merci :)


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

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5552

Le 25/04/2015 à 20h13
igal :
Merci :)



Par contre le MSX semble encore une fois verouille durant la lecture du sample.







oui , on ne pas faire mieux avec un simple covox,


banniere-ericb59e
Site web    
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 25/04/2015 à 20h33
Si le COVOX peut faire mieux, c'est le MSX qui est au taquet :lol
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 6201

Le 29/04/2015 à 00h16
Merci ericb59. Je regarderais ça une fois rentré au bercail


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 29/04/2015 à 11h14
Très intéressant d'utiliser la VRAM pour stocker de l'audio.

A l'origine, la voix prononce la phrase suivante:
=> Bonjour, je suis une voix PCAM jouée par Covox. Merci à EricB59.
Code TEXT :
 
1 ' COVOX ASM code by 6502 MAN
3 SCREEN8
4 BLOAD"sndtest.msx",S:BLOAD"covox-vr.bin"
5 POKE &H900A,0:REM Page de Vram 0 ou 1
6 POKE &H900C,0:POKE&H900E,0:REM debut du sample sur 16 bits
7 POKE &H9010,&HE3:POKE &H9012,&H92:REM fin du sample sur 16 bits
8 POKE &H902F,16:REM vitesse du sample
20 DEFUSR=&H9000:E=USR(0)



J'ai modifié l'adresse de début et de fin en remplaçant par une variable que j'incrémente à chaque cycle.

6 POKE &H900C,A:POKE&H900E,0:REM debut du sample sur 16 bits
7 POKE &H9010,&HA:POKE &H9012,&H92:REM fin du sample sur 16 bits
20 DEFUSR=&H9000:E=USR(0):A=A+5:GOTO6

Ce qui permet de lire les données par petites bribes.

L'idée est d'intégrer le programme dans un boucle vidéo qui joue des bribes comme le fait Joe&Mac.

Pourquoi le Poke &H900E peut être supprimé? Il désigne vraiment la première donnée a lire?
Pourquoi le Poke &H9012 peut être supprimé? il désigne vraiment la dernière donnée à lire?

@6502Man: Peux tu donner plus d'infos sur ce programme stp :D


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

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10683

Le 29/04/2015 à 17h02
les valeurs 900c 900E sont pour une adresse sur 16 BITS il faut donc 2 octets


:noel
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5552

Le 29/04/2015 à 17h16
Jipe :
les valeurs 900c 900E sont pour une adresse sur 16 BITS il faut donc 2 octets




@igal : Le sample étant stocké en Vram, si par exemple tu un morceau de sample qui commencerai la 100 ème ligne de l'écran, il faut donc dire au programme de commencer la lecture à partir du 100*256 = 25600 ème bit

En hexa 25600 = &h6400



tu feras donc un POKE &H900C,&h00:POKE&H900E,&h64 Edité par ericb59 Le 29/04/2015 à 18h18


banniere-ericb59e
Site web    
6502man Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 19/08/2013 à 18h14

Messages: 815

Le 29/04/2015 à 19h13
igal :
.... @6502Man: Peux tu donner plus d'infos sur ce programme stp :D




Qu'est ce que tu veux savoir sur ce programme ?



Suite à la demande de EricB59 pour un programme assembleur pouvant jouer un sample COVOX stocké en VRAM et après avoir fait un player COVOX (lecture en RAM) pour Fabf, j'ai donc essayé de le modifier pour pouvoir lire le sample en VRAM.

Comme je ne connait pas très bien les MSX j'ai un peu tâtonné et finalement c'est assez simple, et le programme est très court et fonctionne correctement avec un sample au maximum de 64Ko !



L'idée que tu as eu de lecture par bribes me donne une autre idée = lire une phrase en chargeant mot par mot et en lisant mot par mot le temps de pause entre chaque mot devrait être suffisant pour lire le sample d"un mot, c'est à essayer, si tu as besoin d'un coup de main dit moi le ;)


Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 30/04/2015 à 12h31
En fait voici ce que j'essais de faire.

Les 5 premières secondes donnent une idée de ce que je veux obtenir.
Forcément, moins il y aura de hachurage



J'ai simplement incrémenté de 5 "Unités" les valeurs de début et de fin de lecture du sample.
L'idée est de procéder comme suit.

1) Je charge une bribe de quelques lignes VRAM.
(L'idéal est de ne pas dépasser les 44 lignes que ce soit en screen8, 12)
2) je lance la lecture de la bribe.
3) je retourne à l'étape 1.

Tout ceci pose des problèmes de temporisation et tout le monde s'efforce à me le répéter inlassablement! Donc ne vous fatiguez pas à me le répéter parce que OUI, JE SAIS :fou

En fait je veux partir sur ce principe de boucle et trouver "à tâtons" quel est le meilleur compromis entre a) la vitesse de lecture b) le taux d'échantillonnage c) le nombre de ligne Vram à remplir.

Une fois trouvé le "moins mauvais compromis", j'essaierai (empiriquement comme toujours) d'intégrer cette boucle à la boucle que j'utilise pour afficher le Scroll VDP(24).

N'ayant pas de bonnes connaissance en programmation, je voulais avoir plus de détails sur la partie Basic du programme.

Merci :)


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

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5552

Le 30/04/2015 à 12h42
@igal : et au final tu veux arriver à faire quoi au juste en intégrand ça à ta routine scroll Vdp(24) ?
je ne coprend pas ta finalité ? :siffle


banniere-ericb59e
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 01/05/2015 à 10h12
Lire en continu de L'audio et de à vidéo :)

La finalité étant de ne pas être limité par les capacités de mémoires du MSX en "streamant" le Scrolling et l'audio :D


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: 6201

Le 01/05/2015 à 15h19
Voici un des jeux exploitant le covox en 1989
Roger rabbit

http://www.youtube.com/?#/watch?v=_Pqp1_yPG5o

J'ai des idées de jeu sous basic !! Edité par MSXlegend Le 02/05/2015 à 00h01


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

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1502

Le 02/05/2015 à 09h24
igal :
Lire en continu de L'audio et de à vidéo :)

La finalité étant de ne pas être limité par les capacités de mémoires du MSX en "streamant" le Scrolling et l'audio :D


Et le MSX dans tout ça ? Le vrai MSX ?



Personnellement, je regarde de très loin tous ces développements hardware ... Ils sont intéressants, mais ne représentent pas une finalité en soi. Et sont une déviation du matériel original. Car à la fin, le seul rôle qu'il reste au MSX est celui de contrôleur électronique. Bof.



Mais je suis bien conscient que la communauté entière du MSX est divisée sur ce point. Il y a ceux qui ne jurent que par le matériel d'époque et ses contraintes (on va dire les "orthodoxes"). Et ceux qui continuent à développer du matériel pour étendre les capacités du MSX.



Le problème est que plus la technologie avance, plus le MSX s'éloigne de ce qu'on peut faire aujourd'hui. Venir lui greffer des extensions vidéo et audio ne fait qu'appauvrir son rôle et son importance dans le résultat final.



Je suis sur qu'avec le matériel adéquat (extension processeur, extension vidéo, extension audio, ...) on pourrait faire tourner GTA5 sur MSX. Mais quel en serait l'intérêt ? Est-ce que ce serait encore du MSX ? Bien sur que non.


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)
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie