Echantillonnage
- 53 réponses
- 6 participants
- 953 vues
- 1 follower
funkiness
894
Posteur·euse AFfolé·e
Membre depuis 21 ans
Sujet de la discussion Posté le 18/03/2004 à 12:49:55Echantillonnage
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.
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.
faya vince
7988
Je poste, donc je suis
Membre depuis 21 ans
11 Posté le 19/03/2004 à 12:24:53
Hors sujet : Citation : En gros je ne pourrais pas être mon pote quoi.
on a bien ri...
Pov Gabou
19553
Drogué·e à l’AFéine
Membre depuis 22 ans
12 Posté le 19/03/2004 à 12:32:33
I am an ugly geek who can aswser you...
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.
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.
prodilion
153
Posteur·euse AFfiné·e
Membre depuis 22 ans
13 Posté le 19/03/2004 à 12:42:42
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
funkiness
894
Posteur·euse AFfolé·e
Membre depuis 21 ans
14 Posté le 19/03/2004 à 13:33:26
Ok, merci Choc pour ta doc et les autres pour vos explications, je vais lire ça tranquillement en mangeant mon muffin.
utopik
581
Posteur·euse AFfolé·e
Membre depuis 22 ans
15 Posté le 19/03/2004 à 13:53:28
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.
- 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.
funkiness
894
Posteur·euse AFfolé·e
Membre depuis 21 ans
16 Posté le 19/03/2004 à 13:54:44
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 ?
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 ?
utopik
581
Posteur·euse AFfolé·e
Membre depuis 22 ans
17 Posté le 19/03/2004 à 13:57:18
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.
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.
funkiness
894
Posteur·euse AFfolé·e
Membre depuis 21 ans
18 Posté le 19/03/2004 à 14:00:34
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 ?
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 ?
utopik
581
Posteur·euse AFfolé·e
Membre depuis 22 ans
19 Posté le 19/03/2004 à 14:01:59
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.
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.
utopik
581
Posteur·euse AFfolé·e
Membre depuis 22 ans
20 Posté le 19/03/2004 à 14:02:46
Oui, c'est ça, c'est Windows et ASIO, qui gèrent tout en interne...
- < Liste des sujets
- Charte