Se connecter
Se connecter

ou
Créer un compte

ou

Echantillonnage

  • 53 réponses
  • 6 participants
  • 953 vues
  • 1 follower
Sujet de la discussion Echantillonnage
Bonjour,

Est-ce que quelqu'un pourrait m'expliquer les différentes étapes lors d'un échantillonnage logiciel depuis Windows (je ne parle pas de prise de son micro ou instrument réèl) mais par exemple l'échantillonnage d'une belle nappe sous FM7, du streaming, etc...

Quels sont les composants logiciels et physiques traversés ?
Quel est le rôle des drivers ASIO ?
Quel est le rôle des drivers Windows ?

Merci d'avance pour vos lumières.
Afficher le sujet de la discussion
11

Hors sujet :

Citation : En gros je ne pourrais pas être mon pote quoi.

pareil :mdr: je me saoulerais direct

on a bien ri...

12
I am an ugly geek who can aswser you...

Citation :
Quel est le rôle des drivers ASIO ?



L'idée d'un ordi 'normal' avec un OS 'normal', c'est:

hardware <-> driver <-> OS <-> applications

Donc pour qu'une appli 'parle' à la carte son, il faut passer par l'OS, qui lui passe par le driver pour parler à la carte son. Les OS 'normaux' sont multi taches, et lorsque l'OS fait appel à une fonction pour lire du son ou en sortir à la carte son, en général, ça prend du temps, de plusieurs 10ms à plusieurs secondes.

Le rôle d'ASIO, c'est plus ou moins de cours-cicuiter l'OS là dedans, et de faire en sorte que le driver réponde aussi vite que possible: si cubase dit je veux mettre tant de samples dans la carte son (pour après les entendre sur tes enceintes), asio est fait de telle manière à ce que ce soit le plus rapide possible.

Pour bien comprendre comment se passe le son sur PC: la carte son, quand elle convertit le son en échantillons, ne les envoie pas un par un , mais toujours buffer par buffer, et la taille est dépendante de la carte son. Ces premiers buffers, hardware, sont inhérents au numérique. (t'en as aussi sur des effets numériques 'purement' hardware). Quand un buffer est plein, la carte son signale le CPU qu'elle est prête en envoyant un IRQ (c'est là qu'intervient le fameux IRQ...), et au bout d'un certain temps, dépendant des qualités de l'OS, l'appli style cubase peut utiliser le contenu de ce buffer.

Schématiquement, ça se passe comme ça.
13

Citation : hardware <-> driver <-> OS <-> applications



C'est exactement ça.

Allez je m'y essayes...

-> Tu appuyes sur une touche de ton clavier maitre MIDI
-> reception sur l'interface MIDI de ton ordi (carte MIDI, ou carte son combinant une interface MIDI exemple soundblaster, ou port joystick de la carte mere)
-> passage par les drivers MIDI de la carte (drivers generiques de windows ou driver du constructeur de ta carte) vers l'OS (windows)
-> passage au logiciel qui ecoute l'arrivée de MIDI via l'OS
-> action du logiciel qui va chercher un sample correspondant à la note MIDI (exemple do diese)
-> demande de lecture d'un fichier (echantillon sonore) à l'OS
-> recuperation du fichier par l'OS sur le disque dur via les drivers du disque dur
-> streaming du fichier du disque au logiciel via l'OS
-> transformation du fichier par le logiciel par des calculs, un algorithme (usage CPU !!)
(bon là j'ai pris d'exemple d'une synthese à base d'echantillon, mais sinon ya pas ces etapes de lecture de fichier bien sur, et on commence direct par du calcul algorithme, exemple les VSTi qui emule les synthés analo, style Synth1)
-> envoi de la sortie vers la carte son via l'OS
-> l'OS utilise les drivers de la carte (ASIO le cas echant...) pour envoyer ce qui est calculé par le CPU le plus rapidement possible au controleur de la carte audio
-> conversion numérique-analogique par la carte
-> haut-parleur
14
Ok, merci Choc pour ta doc et les autres pour vos explications, je vais lire ça tranquillement en mangeant mon muffin.
15
Sans rentrer dans les détails:

- ta carte son c'est du hardware, qui communique avec Windobe par le biais des drivers

- Windows utilise par défaut des ressources de type MME ( Multi Media Extension)qui sont
plus ou moins génériques et qui ont des performances très limités ( antécedents de DirectX, DirectSound c'est un peu pareil )...

- Les logiciels passent (comme le disait un de mes camarades) par windows donc par les ressources MME pour communiquer avec la carte son ( qui elle possède un driver sachant communiquer avec ce protocole, c'est pour ça que tu as des drivers 95, 98, XP, etc...).

- Le concept de l'ASIO est de ne pas passer par ce fameux protocole générique, mais plutôt par un protocole propriétaire qui optimise les temps de latence. Il faut simplement que la carte son soit livrée avec un driver supportant ce protocole ASIO. Donc quand on dit, qu'une carte a un drivers ASIO, c'est que ce drivers supporte le protocole ASIO...

- Pour ce qui concerne l'échantillonage, en fait il n'y en a pas dans un soft virtuel... Le son que tu entend est effectivement converti par un CNA, mais en interne, cela reste des 0 et des 1. C'est juste au moment de l'export audio qu'il converti les données en fichier Wav par exemple...

Voilà, j'ai peut être oublié des trucs, mais c'est ce que j'ai cru comprendre.
16
Ok, mais qu'en est-il pour le cheminement lors de l'enregistrement d'un synthé virtuel ?

Admettons que je joue sur FM7 et que j'enregistre via CoolEdit:

_ note jouée (je passe les étapes midi) par fm7
_ calcul des algos de sythèse par le cpu
_ résultat stocké en ram
_ résultat (échantillons) lu par le driver asio et balancé à la carte
_ et après ?
17
En fait les soft audio ne font appel à la carte son que pour faire sortir un signal ( sur tes enceintes) ou pour enregistrer un signal...
Pour le reste c'est complètement indépendant. Tu peux faire tourner Reason 2.5 avec une carte son intégrée bas de gamme, vu que c'est le processeur qui calcul tout.
18
Merci Utopia pour tes éclaircissements !
Donc en théorie si j'enregistre avec CoolEdit un signal sortant de FM7 je n'utilise pas la carte son (enfin elle sera quand même utilisée mais uniquement pour la sortie sur des enceintes). C'est ça ?
19
Là ce que tu veux savoir, c'est plus compliqué, parce que tu rentre dans les notions de programmation système sous Windows...
En gros, DirectX ou ASIO, permettent de gérer un canal audio interne ( c'est celui qui s'appel son qui sort des enceintes dans Windows en principe), c'est une sorte de canal Monitoring...
Plusieurs applications peuvent y avoir accès donc FM7 créé du son sur ce canal, et l'autre logiciel enregistre en temps réel ce même canal.
20
Oui, c'est ça, c'est Windows et ASIO, qui gèrent tout en interne... :bravo: