Utilisation du DMA
3 participants
Page 1 sur 1
Utilisation du DMA
Je suis en GFA 3.5F sur mon Mega STE
et je voudrai tester les fonctions DMASOUND et DMACONTROL, mais quoique je fasse j'ai une erreur de syntaxe...
Une idée ?
Exemple de code trouver sur le net :
n%=360*32
DIM a|(n%)
'DMASOUND V:a|(0),V:a|(n%),0
'DMASOUND V:a|(0),V:a|(n%),1
'DMASOUND V:a|(0),V:a|(n%),2
DMASOUND V:a|(0),V:a|(n%),3,3
FOR i%=0 TO n%
a|(i%)=128+SINQ(i%*i%/7200)*127
NEXT i%
REPEAT
UNTIL MOUSEK
DMACONTROL 0
et je voudrai tester les fonctions DMASOUND et DMACONTROL, mais quoique je fasse j'ai une erreur de syntaxe...
Une idée ?
Exemple de code trouver sur le net :
n%=360*32
DIM a|(n%)
'DMASOUND V:a|(0),V:a|(n%),0
'DMASOUND V:a|(0),V:a|(n%),1
'DMASOUND V:a|(0),V:a|(n%),2
DMASOUND V:a|(0),V:a|(n%),3,3
FOR i%=0 TO n%
a|(i%)=128+SINQ(i%*i%/7200)*127
NEXT i%
REPEAT
UNTIL MOUSEK
DMACONTROL 0
Shaoth- Messages : 64
Date d'inscription : 28/09/2020
Age : 54
Localisation : Courbevoie
Re: Utilisation du DMA
Pour info, ça fonctionne sur 3.6TT
Mais j'ai des glitchs avec mon code actuel...
Mais j'ai des glitchs avec mon code actuel...
Shaoth- Messages : 64
Date d'inscription : 28/09/2020
Age : 54
Localisation : Courbevoie
Re: Utilisation du DMA
J'ai essayé sous STEEM avec le 3.6 le son est ok en diminuant le volume sonore.
Les fonctions DMASOUND et DMACONTROL ne seraient pas utilisées par le GFA 3.5 xxx
Les fonctions DMASOUND et DMACONTROL ne seraient pas utilisées par le GFA 3.5 xxx
Re: Utilisation du DMA
Sur le groupe Facebook GFABASIC, Lonny m'a indiqué que certaine version étaient estampillées 3.5 mais ne l'étaient pas...
J'ai récupéré sur la section Fichiers du groupe une version correcte avec son compilateur et les fonctions DMASOUND et DMACONTROL fonctionnent.
Le sujet est clos
Enfin il me reste à comprendre comment générer et utiliser des sons sympas...
Si vous avez des idées, des tutos, des banques de sons DMA (ça existe ?) je suis preneur !!!
J'ai récupéré sur la section Fichiers du groupe une version correcte avec son compilateur et les fonctions DMASOUND et DMACONTROL fonctionnent.
Le sujet est clos
Enfin il me reste à comprendre comment générer et utiliser des sons sympas...
Si vous avez des idées, des tutos, des banques de sons DMA (ça existe ?) je suis preneur !!!
Shaoth- Messages : 64
Date d'inscription : 28/09/2020
Age : 54
Localisation : Courbevoie
Re: Utilisation du DMA
Si tu trouve, je serais peut-être intéressé car je ne connaissait pas cette fonction du GFA.
Re: Utilisation du DMA
Je pensais et j'espérais trouver quelqu'un en avance sur le sujet sur ce forum...
Bon je vais explorer le réseau internet
Bon je vais explorer le réseau internet
Shaoth- Messages : 64
Date d'inscription : 28/09/2020
Age : 54
Localisation : Courbevoie
Re: Utilisation du DMA
Il suffit de générer des fichiers exploitables.
C'est à dire des 8bit PCM avec les bonnes fréquences.
0 = 6.25 kHz (not supported on the Atari Falcon030)
1 = 12.5 kHz
2 = 25 kHz
3 = 50 kHz
Audacity le permet.
Ma version ne me propose pas les bonnes fréquences...
Je creuse !
On peut aussi utiliser une Cartouche ST REPLAY.
Je crois que je vais préférer cette solution.
Catacombs va avoir des sons digit !!!!
C'est à dire des 8bit PCM avec les bonnes fréquences.
0 = 6.25 kHz (not supported on the Atari Falcon030)
1 = 12.5 kHz
2 = 25 kHz
3 = 50 kHz
Audacity le permet.
Ma version ne me propose pas les bonnes fréquences...
Je creuse !
On peut aussi utiliser une Cartouche ST REPLAY.
Je crois que je vais préférer cette solution.
Catacombs va avoir des sons digit !!!!
Shaoth- Messages : 64
Date d'inscription : 28/09/2020
Age : 54
Localisation : Courbevoie
Re: Utilisation du DMA
Avec ma vieille version d'Audacity (1.3) j'exporte en wav "projet à 12516" 8 bit mono unsigned sans compression,
Puis un petit tours dans Soundlab1.1(demo)sur mon STe pour passer en High_Bit ,sauvegarde en SPL et c'est bon ,
regardes aussi la routine de PARADIZE en GFA+ASS [Vous devez être inscrit et connecté pour voir ce lien]
JB m'avait donné son exemple de replay dma (merci Cooper) que j'utilise toujours
' Aout 2011
' lire des sons en DMA
'
son%=MALLOC(2000) !exemple pour un sample de 2ko
BLOAD "clap.spl",son%
'
DO
!Mettre ici son programme
replay_sample(son%,2000,1)
LOOP UNTIL MOUSEK
arrete_son
~MFREE(son%) !on vide la mémoire
EDIT !retour au gfa
> PROCEDURE replay_sample(sample%,length%,boucle)
super%=GEMDOS(32,L:0)
dma%=&HFF8901 !adresse dma du ste
BYTE{dma%}=0
d0&=0
'
BYTE{dma%+2}=sample%/&H10000
BYTE{dma%+4}=sample%/&H100
BYTE{dma%+6}=sample% AND &HFF
'
BYTE{dma%+8}=sample%/&H10000
BYTE{dma%+&HA}=sample%/&H100
BYTE{dma%+&HC}=sample% AND &HFF
'
BYTE{dma%+&HE}=(sample%+length%)/&H10000
BYTE{dma%+&H10}=(sample%+length%)/&H100
BYTE{dma%+&H12}=(sample%+length%) AND &HFF
'
BYTE{dma%+32}=&H81 !80=6khz 81=12.5 82=25 83=50
'
BYTE{dma%}=boucle !dma on
'
~GEMDOS(32,L:super%) ! retour en mode utilisateur
RETURN
> PROCEDURE arrete_son
super%=GEMDOS(32,L:0) !mode superviseur
BYTE{dma%}=0 !stop le sample
~GEMDOS(32,L:super%) !retour en mode utilisateur
RETURN
J'ai retaillé mon listings j'espère que le code d'origine est bien là sans erreur.
Puis un petit tours dans Soundlab1.1(demo)sur mon STe pour passer en High_Bit ,sauvegarde en SPL et c'est bon ,
regardes aussi la routine de PARADIZE en GFA+ASS [Vous devez être inscrit et connecté pour voir ce lien]
JB m'avait donné son exemple de replay dma (merci Cooper) que j'utilise toujours
' Aout 2011
' lire des sons en DMA
'
son%=MALLOC(2000) !exemple pour un sample de 2ko
BLOAD "clap.spl",son%
'
DO
!Mettre ici son programme
replay_sample(son%,2000,1)
LOOP UNTIL MOUSEK
arrete_son
~MFREE(son%) !on vide la mémoire
EDIT !retour au gfa
> PROCEDURE replay_sample(sample%,length%,boucle)
super%=GEMDOS(32,L:0)
dma%=&HFF8901 !adresse dma du ste
BYTE{dma%}=0
d0&=0
'
BYTE{dma%+2}=sample%/&H10000
BYTE{dma%+4}=sample%/&H100
BYTE{dma%+6}=sample% AND &HFF
'
BYTE{dma%+8}=sample%/&H10000
BYTE{dma%+&HA}=sample%/&H100
BYTE{dma%+&HC}=sample% AND &HFF
'
BYTE{dma%+&HE}=(sample%+length%)/&H10000
BYTE{dma%+&H10}=(sample%+length%)/&H100
BYTE{dma%+&H12}=(sample%+length%) AND &HFF
'
BYTE{dma%+32}=&H81 !80=6khz 81=12.5 82=25 83=50
'
BYTE{dma%}=boucle !dma on
'
~GEMDOS(32,L:super%) ! retour en mode utilisateur
RETURN
> PROCEDURE arrete_son
super%=GEMDOS(32,L:0) !mode superviseur
BYTE{dma%}=0 !stop le sample
~GEMDOS(32,L:super%) !retour en mode utilisateur
RETURN
J'ai retaillé mon listings j'espère que le code d'origine est bien là sans erreur.
ManuM- Messages : 171
Date d'inscription : 01/01/2018
Localisation : Loir et Cher
Shadow272 aime ce message
Re: Utilisation du DMA
Salut Manu, mon soundlab ne prend pas du "WAV" et en plus mon AUDACITY ne sauve pas du 8 bit mais minimum 16 bit.
Aurais-tu une solution ?
Aurais-tu une solution ?
Re: Utilisation du DMA
Mon soundlab lit les WAV sans problème.
Mais c'est Audacity qui est à la traine...
L'export en u8_PCM est dispo mais c'est avec les fréquences que je bloque...
Dans la liste il y a en Hz 8000, 11025, 16000, 22050, 32000, 44100...
mais pas, en kHz, les 6.25, 12.5, 25 et 50 indiqués dans la Doc GFA...
à la lecture c'est tout bizarre, genre difficile à expliquer...
Mais c'est Audacity qui est à la traine...
L'export en u8_PCM est dispo mais c'est avec les fréquences que je bloque...
Dans la liste il y a en Hz 8000, 11025, 16000, 22050, 32000, 44100...
mais pas, en kHz, les 6.25, 12.5, 25 et 50 indiqués dans la Doc GFA...
à la lecture c'est tout bizarre, genre difficile à expliquer...
Shaoth- Messages : 64
Date d'inscription : 28/09/2020
Age : 54
Localisation : Courbevoie
Re: Utilisation du DMA
J'ai installé FFmpeg et je peux exporter à la fréquence voulue avec Audacity.
Il a reconnu le nouveau driver directement.
La vitesse de lecture est nickel
Par contre il y a une perte de qualité sonore entre Audacity et le STE !!!
Je continue de creuser
Edit : J'ai oublié de préciser que je ne passe pas par SoundLab...
Il a reconnu le nouveau driver directement.
La vitesse de lecture est nickel
Par contre il y a une perte de qualité sonore entre Audacity et le STE !!!
Je continue de creuser
Edit : J'ai oublié de préciser que je ne passe pas par SoundLab...
Shaoth- Messages : 64
Date d'inscription : 28/09/2020
Age : 54
Localisation : Courbevoie
Re: Utilisation du DMA
A 12.5khz sur le STe le son est clair et net, mais c'est le format signé/non signé qui ne va pas (moi j'utilise la fonction de soundlab1.1 "HIGH_BIT" avec mon 1040 STE puis je sauve le résultat en .SPL et c'est nickel )
Simon SunnyBoy a déjà écrit le .GFA qui retranscrit directement si c'est pas le bon format, plus besoin de passer par soundlab.
C'est dans GFASIC STUFF chez PARADIZE (lien plus haut) STE DMA SOUND interface
Je n'ai pas encore essayé (je suis tombé dessus hier soir )
Simon SunnyBoy a déjà écrit le .GFA qui retranscrit directement si c'est pas le bon format, plus besoin de passer par soundlab.
C'est dans GFASIC STUFF chez PARADIZE (lien plus haut) STE DMA SOUND interface
Je n'ai pas encore essayé (je suis tombé dessus hier soir )
Dernière édition par ManuM le Mer 9 Juin - 23:26, édité 1 fois
ManuM- Messages : 171
Date d'inscription : 01/01/2018
Localisation : Loir et Cher
Re: Utilisation du DMA
J'ai refait des tests et j'ai exporté à partir d'Audacity un fichier .raw en signed 8bit PCM à 12.5kHz
J'ai pu le lire nickel en GFA avec la fonction DMASOUND.
L'opération avec Audacity se fait en 2 fois
La première pour changer la fréquence du fichier grâce à FFmpeg
La seconde pour exporter en signed 8bit PCM (car pas moyen de changer la fréquence à ce moment là)
Je vais maintenant regarder les codes dispo chez PARADIZE
J'ai pu le lire nickel en GFA avec la fonction DMASOUND.
L'opération avec Audacity se fait en 2 fois
La première pour changer la fréquence du fichier grâce à FFmpeg
La seconde pour exporter en signed 8bit PCM (car pas moyen de changer la fréquence à ce moment là)
Je vais maintenant regarder les codes dispo chez PARADIZE
Shaoth- Messages : 64
Date d'inscription : 28/09/2020
Age : 54
Localisation : Courbevoie
Re: Utilisation du DMA
Shadow pour Soundlab, moi c'est sur ST (DMJ 1993), l'auteur a été contacté en 2020 mais les sources sont perdues (mais fonctionne bridé). IL accepte beaucoup de formats
Par chance ou malchance mon PC est bloqué avec ses vielles mises à jours, Audacity ne me pose pas de problème je peux sauver la fréquence au hertz près en 8bits mais non signé seulement.
Sinon convertir le 16bits en 8bits sur Falcon pour le STe. (avec ZeroX ?)
Par chance ou malchance mon PC est bloqué avec ses vielles mises à jours, Audacity ne me pose pas de problème je peux sauver la fréquence au hertz près en 8bits mais non signé seulement.
Sinon convertir le 16bits en 8bits sur Falcon pour le STe. (avec ZeroX ?)
ManuM- Messages : 171
Date d'inscription : 01/01/2018
Localisation : Loir et Cher
Re: Utilisation du DMA
Il ya a une série d'articles interessants dans les ST MAG 59, 60, 61 et 64 intitulée
Programmation d'un Sampler STE/TT
Je suis en train de les lire
Programmation d'un Sampler STE/TT
Je suis en train de les lire
Shaoth- Messages : 64
Date d'inscription : 28/09/2020
Age : 54
Localisation : Courbevoie
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|