Amstrad Plus Forum Index

Amstrad Plus
Découverte de la gamme Old et Plus des Cpc d'Amstrad.

 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

"Big Sample"
Goto page: 1, 2, 3  >
 
Post new topic   Reply to topic    Amstrad Plus Forum Index -> Programmation Cpc -> Asic
Previous topic :: Next topic  
Author Message
Ast
Administrateur

Offline

Joined: 05 Sep 2014
Posts: 2,977
Masculin
Point(s): 390
Moyenne de points: 0.13

PostPosted: Thu 3 Nov - 05:31 (2016)    Post subject: "Big Sample" Reply with quote

Je suis très intrigué par le sample qu'utilise la démo que Roudoudou est en train de terminer pour le concours hiver 2016.
Sans rien révèler sur celui-ci, peux tu me dire quels sont les outils que tu as utilisé pour le réaliser ce sample ?
De quel type de source es tu parti (mp3, wav...) ?
Peux tu nous expliquer les étapes pour arriver à ce résultat ?


Merci à toi.
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Back to top
Publicité






PostPosted: Thu 3 Nov - 05:31 (2016)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
roudoudou


Offline

Joined: 14 Jul 2016
Posts: 427
Localisation: LYON
Masculin
Point(s): 46
Moyenne de points: 0.11

PostPosted: Thu 3 Nov - 09:07 (2016)    Post subject: "Big Sample" Reply with quote

Je pars d'un MP3 de bonne qualité (on n'est plus dans les années 90...)

Ensuite je travaille sous Linux alors j'ai pas trop le choix, j'utilise Audacity pour passer le sample en mono, le ré-échantillonner en 15625Hz


Il faut aussi passer de 16bits à 8bits par échantillon, ça crade encore un peu plus le tout


Je m'occupe un peu de la dynamique pour bien utiliser les 4bits avec au choix l'amplification, voir un compresseur (de dynamique)




J'ai écrit un programme adapté d'une routine d'Iron pour faire une DMA-list


Le principe est assez simple, si des valeurs se répètent, on augmente un compteur de pause


Comme le nombre de valeurs de volume différentes est faible (16) il y a souvent des répétitions et on peut avoir une DMA list un peu inférieure en taille au sample brut


Toute la subtilité de la conversion va se jouer lors du passage 8bits vers 4bits car il semblerait (je n'ai pas vérifié) que les niveaux de sortie des premières valeurs de volume soient très faibles et inutiles. On peut donc grandement jouer sur la "compression" en dégageant toutes les valeurs faibles sur 0
Là on commence à vraiment réduire la taille du sample


Du coup, je me suis demandé si on trouvait aussi des motifs qui se répètent car du coup, il n'y aurait qu'à faire une boucle avec un DMA-repeat pour les dupliquer et effectivement, il y en a quelques unes, sur des samples non travaillés pour ça. On peut gagner environ 10% de plus


Je pourrai publier le source du convertisseur, m'enfin il me semble que ce n'est pas du tout une nouveauté


-----------


Bon, au final, je n'utiliserai pas ce programme pour la part du concours Amstrad.eu


Comme le truc va être claqué dans une cartouche pour faire un groooooooooooos sample je vais me contenter de convertir les niveaux de volume dans un gros fichier, ensuite je vais regrouper les volumes deux par deux. Ça permet de stocker deux secondes par bank de 16k soit près d'une minute dans la cartouche


Pour le replay, comme on en a parlé au meeting, le plus simple est de faire deux DMA-list brute de 312 samples et de remplir l'une tandis que l'autre se lit. Comme l'effet est à la frame, il n'y a qu'à lancer alternativement la DMA-list 0 ou 1 pour que le sample joue en continu


Vraiment rien de bien méchant, mais comme je n'ai toujours pas codé cette partie (je bosse sur le cruncher) je ne peux rien publier pour le moment Wink




 


Back to top
Ast
Administrateur

Offline

Joined: 05 Sep 2014
Posts: 2,977
Masculin
Point(s): 390
Moyenne de points: 0.13

PostPosted: Thu 3 Nov - 16:02 (2016)    Post subject: "Big Sample" Reply with quote

Merci pour toutes tes infos..

Mais, tu as oublié une chose importante. Le fichier doit être exporté en 8 bits unsigned.
Je ne sais pas si cela a vraiment une grande importance entre le 8 Bits et le 8 bits unsigned. Ca reste à verifier ^^

Allez zou !
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Back to top
roudoudou


Offline

Joined: 14 Jul 2016
Posts: 427
Localisation: LYON
Masculin
Point(s): 46
Moyenne de points: 0.11

PostPosted: Thu 3 Nov - 17:20 (2016)    Post subject: "Big Sample" Reply with quote

si, si, il faut faire du unsigned car le volume du CPC est une valeur positive uniquement!

Back to top
Ast
Administrateur

Offline

Joined: 05 Sep 2014
Posts: 2,977
Masculin
Point(s): 390
Moyenne de points: 0.13

PostPosted: Thu 3 Nov - 17:30 (2016)    Post subject: "Big Sample" Reply with quote

roudoudou wrote:
si, si, il faut faire du unsigned car le volume du CPC est une valeur positive uniquement!





Merci pour ton explication. Je ne le savais pas... comme quoi...

D'ailleurs une chose, pour corriger ce que tu disais. Il n'est nul besoin d'utiliser 2 canaux Dma pour le flip/flop.
Tu as juste à modifier l'adresse SAR envoyée à l'Asic pour une frame sur 2.

Conclusion : Tu dois créer 2 ay-lists de 312 valeurs (15625Hz) et alterner 1 fois sur 2... C'est bon ça ?
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Back to top
roudoudou


Offline

Joined: 14 Jul 2016
Posts: 427
Localisation: LYON
Masculin
Point(s): 46
Moyenne de points: 0.11

PostPosted: Thu 3 Nov - 18:40 (2016)    Post subject: "Big Sample" Reply with quote

C'est ce que j'ai écrit sans me faire comprendre, une DMA-list 0 ou 1, pas le canal DMA 0 ou 1, tout se fait sur un seul canal en effet Wink

Back to top
Power_Ukx


Offline

Joined: 06 Sep 2014
Posts: 13
Localisation: Lyon
Masculin
Point(s): 3
Moyenne de points: 0.23

PostPosted: Thu 3 Nov - 19:33 (2016)    Post subject: "Big Sample" Reply with quote

j'ai hâte d’écouter le résultat Very Happy

Back to top
Ast
Administrateur

Offline

Joined: 05 Sep 2014
Posts: 2,977
Masculin
Point(s): 390
Moyenne de points: 0.13

PostPosted: Thu 3 Nov - 20:41 (2016)    Post subject: "Big Sample" Reply with quote

Oh! Un power ! Salut vieux!


Roudoudou : j'ai fait des essais avec Audacity mais rien de concluant.... 😭
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Back to top
Ast
Administrateur

Offline

Joined: 05 Sep 2014
Posts: 2,977
Masculin
Point(s): 390
Moyenne de points: 0.13

PostPosted: Mon 7 Nov - 01:33 (2016)    Post subject: "Big Sample" Reply with quote

Malheureusement malgré plusieurs essais, rien ne fonctionne comme il faut... Le pire, je ne vois pas où je merde...
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Back to top
roudoudou


Offline

Joined: 14 Jul 2016
Posts: 427
Localisation: LYON
Masculin
Point(s): 46
Moyenne de points: 0.11

PostPosted: Mon 7 Nov - 19:57 (2016)    Post subject: "Big Sample" Reply with quote

Audacity ou le tic-toc avec les listes DMA?

Back to top
Ast
Administrateur

Offline

Joined: 05 Sep 2014
Posts: 2,977
Masculin
Point(s): 390
Moyenne de points: 0.13

PostPosted: Mon 7 Nov - 22:18 (2016)    Post subject: "Big Sample" Reply with quote

Audacity... j'ai déjà un player 100% Dma.
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Back to top
Ast
Administrateur

Offline

Joined: 05 Sep 2014
Posts: 2,977
Masculin
Point(s): 390
Moyenne de points: 0.13

PostPosted: Tue 8 Nov - 00:54 (2016)    Post subject: "Big Sample" Reply with quote

C'est plus la transfo du sample en 15khz qui merde pour une raison que j'ignore.
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Back to top
roudoudou


Offline

Joined: 14 Jul 2016
Posts: 427
Localisation: LYON
Masculin
Point(s): 46
Moyenne de points: 0.11

PostPosted: Tue 8 Nov - 09:40 (2016)    Post subject: "Big Sample" Reply with quote

Il y a deux choses à faire attention

- Utiliser la fonction resample pour modifier le sample en 15600Hz
- Et ne pas oublier en bas à gauche de l'écran, de mettre AUSSI le projet en 15600Hz sinon l'export se fera quand même à 44100Hz ou autre valeur par défaut




Pour ma part j'ai un début de quelque chose d'écoutable (avec une compression x5) mais c'est crade
Il faut que j'enquête si c'est ma conversion RAW -> CPC qui déconne
À l'oreille ça ressemble un peu quand même ^_^
Bon, en même temps je suis sur un émulateur qui fonctionne sous windows, lui même émulé sous Linux, le son crachote déjà en temps normal...


Back to top
Ast
Administrateur

Offline

Joined: 05 Sep 2014
Posts: 2,977
Masculin
Point(s): 390
Moyenne de points: 0.13

PostPosted: Tue 8 Nov - 11:16 (2016)    Post subject: "Big Sample" Reply with quote

roudoudou wrote:
Il y a deux choses à faire attention

- Utiliser la fonction resample pour modifier le sample en 15600Hz
- Et ne pas oublier en bas à gauche de l'écran, de mettre AUSSI le projet en 15600Hz sinon l'export se fera quand même à 44100Hz ou autre valeur par défaut



Ah, ça je ne faisais pas. Cela vient peut être de cela... Je vais vérifier !


roudoudou wrote:

Pour ma part j'ai un début de quelque chose d'écoutable (avec une compression x5) mais c'est crade
Il faut que j'enquête si c'est ma conversion RAW -> CPC qui déconne
À l'oreille ça ressemble un peu quand même ^_^
Bon, en même temps je suis sur un émulateur qui fonctionne sous windows, lui même émulé sous Linux, le son crachote déjà en temps normal...



Si tu veux que je teste sur mon plus en direct live, n'hésites pas ! J'ai presque que ça à foutre de la journée... Je suis preneur pour un compte rendu rapide en temps réel !
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Back to top
roudoudou


Offline

Joined: 14 Jul 2016
Posts: 427
Localisation: LYON
Masculin
Point(s): 46
Moyenne de points: 0.11

PostPosted: Thu 10 Nov - 14:40 (2016)    Post subject: "Big Sample" Reply with quote

Bon, alors après quelques tests, ça fonctionne bien, c'est juste que le début du sample est pas terrible (trop chargé) pour être rendu vraiment propre sur CPC, je dois travailler la chose.


Par contre, j'avais aussi des tables de conversion un peu pourries. Ce sont les tables que tout le monde se refile et qui, curieusement ne sont pas calquées sur les niveaux de sortie du CPC (ou alors uniquement du leur)


Pour ma part j'ai bêtement repris la formule de sortie théorique du niveau -> output level = 255/sqrt(2)^(15-v)


ce qui en ASM se traduit par 256 valeurs (j'ai arrondi au mieux)


VolumeConversionFromRAW8
defs 3,1
defb 2,3,4,4,5,5,6,6,6
defs 5,7
defs 6,8
defs 10,9
defs 13,10
defs 19,11
defs 26,12
defs 37,13
defs 53,14
defs 75,15


Back to top
Display posts from previous:   
Post new topic   Reply to topic    Amstrad Plus Forum Index -> Programmation Cpc -> Asic All times are GMT + 2 Hours
Goto page: 1, 2, 3  >
Page 1 of 3

 
Jump to:  

Index | Administration Panel | Create a forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group