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 10 Nov - 15:14 (2016)    Post subject: "Big Sample" Reply with quote

roudoudou wrote:
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





Oups ! Super ça !!! Je m'en vais essayer de ce pas... As tu déjà fait des essais avec?


Une dernière chose, je pensais après une discussion avec Power et Offset que les valeurs 13, 14 et 15 étaient à proscrire ? Qu'en est il ?
_________________
Ast/iMP4CT

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


Back to top
Publicité






PostPosted: Thu 10 Nov - 15:14 (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 10 Nov - 15:41 (2016)    Post subject: "Big Sample" Reply with quote

On pourrait supprimer les trois dernières valeurs pour gagner en qualité en effet, c'est une très bonne idée!


Par contre l'utilisateur devra monter le volume et on va perdre en dynamique (est-ce grave?)


J'ai fait des essais sur émulateur là, je suis en train de coder une cartouche pour tester sur le +


Par contre, ma cartouche ne fonctionne pas pour le moment, le basic doit faire une initialisation (PPI ou AY) que je ne fais pas


Back to top
Ast
Administrateur

Offline

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

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

Envoie le Cpr, je vais tester sur le miens Smile
_________________
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 - 15:47 (2016)    Post subject: "Big Sample" Reply with quote

nan mais y a rien à tester, ça marche pas
faut que je trouve de la doc sur l'AY
j'ai du bruit (pchhhhhhhhhhhhhhhh) dans les canaux, y a donc des trucs activés alors que ça devrait pas


Back to top
Ast
Administrateur

Offline

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

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

As tu bien modifié le reg 7 de l'ay?

val (r7) or %001001 pour le sample canal 8
val (r7) or %010010 pour le sample canal 9
val (r7) or %100100 pour le sample canal 10

voilà!

Edit
Pour ceux qui l'ignorent, cela permet de fermer sur le canal x, le son et le bruit Okay
_________________
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 - 15:56 (2016)    Post subject: "Big Sample" Reply with quote

j'étais dessus, ça marche mieux, mais maintenant j'ai un sifflement aigu


voici ma liste d'init, je vais ajouter le bit pour couper le canal en effet!

align 2
InitAY
defw #0000
defw #0100
defw #0200
defw #0300
defw #0400
defw #0500
defw #0600
defw #0700+8+16+32
defw #0800
defw #0900
defw #0A00
defw #0B00
defw #0C00
defw #0D00
defw #4020






EDIT: Victoire, ça fonctionne, reste à terminer la lecture continue, changement de ROM, etc 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 10 Nov - 16:00 (2016)    Post subject: "Big Sample" Reply with quote

T'as pas besoin de modifier tous les registres !

Ton ay-list doit être du style :

Code:

aylist word #0700+%001001 ; pour un sample joué sur canal 8
         word #08xx ; ici ton sample converti en aylist
         word #4020 ; fin de ton aylist





Nul besoin de modifier les autres registres, sauf, si un son était envoyé au canal 8 pendant que tu joues ton sample...

Edit

Et ça fonctionne ou pas maintenant ?
_________________
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: Thu 10 Nov - 16:10 (2016)    Post subject: "Big Sample" Reply with quote

Faudrait qu'on voit avec Targhan, pour voir s'il a mis au point d'autres tables logarithmiques où s'il utilise toujours les mêmes.
Je serais curieux de faire des essais.
_________________
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 - 16:51 (2016)    Post subject: "Big Sample" Reply with quote

c'est plutôt sur les transitions qu'il faudrait creuser à l'oscillo, un niveau fixe, c'est pas pareil que changer de volume 15000 fois par seconde

Back to top
Ast
Administrateur

Offline

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

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

C'est à ce moment là qu'on dit : "Power, on a besoin de ton aide et de ton oscillo !!!!"

J'ai testé toutes les tables (1, 2 et 3) de Targhan, et elles sont très bien pour du sampling de Drums, comme quoi!
Par contre ta table Log ne rends pas terrible sur des digidrums.

Faudrait regarder sur le Digitrakker de Prodatron pour voir sur quelles valeurs logarithmiques, il se base....

C'est une idée à creuser...
_________________
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: Thu 10 Nov - 17:43 (2016)    Post subject: "Big Sample" Reply with quote

Est ce que les docs sur le AY-3-8912 peuvent d'aider ?

Si oui, doc 1, et voici doc 2.

J'espère que cela te sera utile...
_________________
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: Thu 10 Nov - 18:04 (2016)    Post subject: "Big Sample" Reply with quote

Tant que j'y suis, j'ai retrouvé la table de conversion 8 Bits -> 4 bits de Power^Ukonx.

La voici :

Code:
; ***************************************************************
; *            Table de conversion lineaire -> log              *
; *      By Power/Uknox utilisée dans la HateBeats Demo         *
; ***************************************************************

TABPSG2

byte   0,0,0,0,0,1,1,1, 1,1,2,2,2,2,2,2 ;0
byte   3,3,3,3,3,4,4,4, 4,4,5,5,5,5,5,5 ;1
byte   6,6,6,6,6,6,6,6, 6,6,7,7,7,7,7,7 ;2
byte   7,7,7,7,7,8,8,8, 8,8,8,8,8,8,8,8 ;3
byte   9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9 ;4
byte   10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10 ;5
byte   10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10 ;6
byte   11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11 ;7
byte   11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11 ;8
byte   11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11 ;9
byte   12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12 ;10
byte   12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12 ;11
byte   12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12 ;12
byte   12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12 ;13
byte   12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12 ;14
byte   13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13 ;15











Voici la table utilisée par Roudoudou :

Code:
;
; Table Log - Roudoudou/Flower Corp.
;
fill    3,1
byte 2,3,4,4,5,5,6,6,6
fill    5,7
fill    6,8
fill    10,9
fill    13,10
fill    19,11
fill    26,12
fill    37,13
fill    53,14
fill    75,15




Voici les 3 tables utilisées par Targhan :

Code:
;
;        Table1 Log - Targhan/Arkos
;
      BYTE &00,&00,&01,&01,&02,&03,&03,&04,&05,&05,&06,&07,&07,&07,&07,&08
      BYTE &08,&08,&08,&08,&08,&08,&08,&08,&09,&09,&09,&09,&09,&09,&09,&09
      BYTE &0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0B
      BYTE &0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B
      BYTE &0B,&0B,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C
      BYTE &0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0D,&0D,&0D,&0D
      BYTE &0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D
      BYTE &0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D
      BYTE &0D,&0D,&0D,&0D,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E
      BYTE &0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E
      BYTE &0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E
      BYTE &0E,&0E,&0E,&0E,&0E,&0E,&0E,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F
      BYTE &0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F
      BYTE &0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F
      BYTE &0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F
      BYTE &0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F







Code:
;
;        Table2 Log - Targhan/Arkos
;
      BYTE &00,&00,&01,&01,&02,&03,&03,&04,&04,&04,&05,&05,&05,&05,&06,&06
      BYTE &06,&06,&06,&06,&06,&06,&07,&07,&07,&07,&07,&07,&07,&08,&08,&08
      BYTE &08,&08,&08,&08,&08,&08,&08,&08,&08,&09,&09,&09,&09,&09,&09,&09
      BYTE &09,&09,&09,&09,&09,&09,&09,&09,&09,&09,&09,&09,&09,&09,&0A,&0A
      BYTE &0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A,&0A
      BYTE &0A,&0A,&0A,&0A,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B
      BYTE &0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0C
      BYTE &0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C
      BYTE &0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C
      BYTE &0C,&0C,&0C,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D
      BYTE &0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D
      BYTE &0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0D,&0E,&0E,&0E,&0E,&0E,&0E
      BYTE &0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E
      BYTE &0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E
      BYTE &0E,&0E,&0E,&0E,&0E,&0E,&0E,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F
      BYTE &0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F








Code:
;
;        Table3 Log - Targhan/Arkos
;
      BYTE &00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00
      BYTE &00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00
      BYTE &00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00
      BYTE &00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00
      BYTE &00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00,&00
      BYTE &00,&00,&00,&00,&00,&00,&05,&05,&05,&06,&06,&06,&07,&08,&08,&08
      BYTE &08,&09,&09,&09,&0A,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B,&0B
      BYTE &0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0C,&0D,&0D
      BYTE &0D,&0D,&0D,&0D,&0D,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E
      BYTE &0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0E,&0F,&0F
      BYTE &0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F
      BYTE &0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F
      BYTE &0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F
      BYTE &0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F
      BYTE &0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F
      BYTE &0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F,&0F





_________________
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: Fri 11 Nov - 18:56 (2016)    Post subject: "Big Sample" Reply with quote

Ca y est ! Je viens de me coder un outil sur mon Cpc Plus, qui permet de convertir un sample 8 bits en 4 bits à 15khz.
Ensuite il crée une Ay-List en utilisant l'unité de pause des Dma, puis pour terminer il joue le sample un fois converti en Ay-List.

Reste plus qu'à sauvegarder le tout !

Tout ça avec un tout petit call ! Okay
_________________
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: Thu 17 Nov - 14:52 (2016)    Post subject: "Big Sample" Reply with quote

Roudoudou : as-tu pu retravailler sur une nouvelle table logarithmique grâce aux documents que je t'ai fourni ?
_________________
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 17 Nov - 15:35 (2016)    Post subject: "Big Sample" Reply with quote

Je pense que c'est une perte de temps de chercher une belle table de conversion quand le problème est le sample initial, qui supporte plus ou moins bien la perte de résolution en amplitude.


En gros, avec n'importe quelle table, même une table saccagée, une percussion rendra toujours bien, des sons complexes non.


Donc si je suis en train de faire quelque chose en ce moment, c'est surtout de trouver un truc qui rende bien, tout court Wink


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 2 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