IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques Discussion :

Nouvelle API Audio pour Windows


Sujet :

Bibliothèques

  1. #1
    Membre averti
    Avatar de VBurel
    Profil pro
    Développeur Indépendant
    Inscrit en
    Août 2004
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Indépendant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 116
    Points : 333
    Points
    333
    Billets dans le blog
    1
    Par défaut Nouvelle API Audio pour Windows
    Ce message s'adresse à ceux qui font du traitement du signal audio numérique et qui cherchent des alternatives ou des solutions plus simples et plus puissantes que ce que proposent les API Audio Microsoft.

    Voicemeeter (notre table de mixage virtuelle sur PC Windows) propose maintenant une API audio pour traiter le son à l’intérieur de Voicemeeter.

    L’intérêt pour une application cliente est de profiter de tout ce que fait Voicemeeter :
    - la gestion des périphériques audio et leur agrégation/synchronisation ;
    - l’interconnexion avec des applications ;
    - la prise en charge de toutes les interfaces audio (y compris ASIO) ;
    - les I/O virtuelles (incluant les drivers ASIO virtuels) ;
    - le protocole VBAN pour envoyer/recevoir du son sur le réseau local.

    Très facilement avec quatre fonctions, l’API Voicemeeter permet de mettre en place une Callback pour traiter le son de ses différents canaux internes.

    Voicemeeter propose trois Callbacks différentes (qui peuvent être utilisées par trois applications différentes)
    Nom : VoicemeeterVirtualAudioBoardCallback.jpg
Affichages : 537
Taille : 151,6 Ko

    Les liens pour la nouvelle version de Voicemeeter , et du SDK Voicemeeter remote API :
    http://vbaudio.jcedeveloppement.com/....php?f=6&t=389

    Voicemeeter Remote API Documentation :
    http://vbaudio.jcedeveloppement.com/...rRemoteAPI.pdf

    Si cela vous intéresse, n’hésitez pas à nous contacter, s’inscrire sur nos forums, nous assurerons un suivi très assidu pendant les deux mois qui viennent.

    Cordialement
    Vincent Burel
    www.vb-audio.com
    www.mt128.com
    www.vb-cable.com
    www.voicemeeter.com
    https://www.facebook.com/vbaudiosoftware
    https://plus.google.com/110557338955940627490
    https://twitter.com/VB_Audio

  2. #2
    Membre averti
    Avatar de VBurel
    Profil pro
    Développeur Indépendant
    Inscrit en
    Août 2004
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Indépendant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 116
    Points : 333
    Points
    333
    Billets dans le blog
    1
    Par défaut 8x8 Gain Matrix for Voicemeeter Output BUS
    Comme premier exemple concret d’utilisation de l’API Audio fourni par Voicemeeter. Nous avons fait une sorte d’APO fonctionnant comme un application classique, qui vient s’insérer sur les sorties bus de voicemeeter (pre master section – CALLBACK 2) pour faire un traitement de sortie bien connue dans le monde du home-cinema :une simple matrice 8x8 de gain.

    Nom : Matrix8x8AsVoicemeeterAPO.jpg
Affichages : 422
Taille : 94,1 Ko

    Un matrice 8x8 de gain permet de faire des "UP MIX" ou "DOWN MIX" pour redistribuer les possibles 8 canaux d’un DVD sur un système quelconque mono, stéréo, 5.1, 7.1…

    Vous trouverez cette application dans le nouveau SDK (Voicemeeter Remote API) sous forme de source code ou d’exécutable: http://vbaudio.jcedeveloppement.com/...x8x8_v1000.zip.

    Je rappelle que L’API Audio de Voicemeeter a été conçu pour simplifier le développment de traitement audio sous Windows. Le code source de l’application 8x8 gain matrix tient dans un seul fichier ‘C’ et la partie traitement Audio se limite à l’implémentation d’une callback :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    long __stdcall PROCESSING_MyCallback(void * lpUser, long nCommand, void * lpData, long nnn)
    {
    	float gain,fzero=0.0f;
    	float * lpBufferIn;
    	float * lpBufferOut;
    	float signal;
    	int nuChannel,nbs, nuIn, nuOut;
    	LPT_APP_CONTEXT lpapp;
    	LPT_AUDIODSDPCTX lpctx;
    	VBVMR_LPT_AUDIOINFO pinfo;
    	VBVMR_LPT_AUDIOBUFFER lpa;
     
    	lpapp = (LPT_APP_CONTEXT)lpUser;
    	lpctx = &(lpapp->dsp);
    	switch(nCommand)
    	{
     
    	//--------------------------------------
    	// Init/End your object and allocate your memory
    	//--------------------------------------
    	case VBVMR_CBCOMMAND_STARTING:
    		pinfo = (VBVMR_LPT_AUDIOINFO)lpData;
    		break;		
    	case VBVMR_CBCOMMAND_ENDING:
    		pinfo = (VBVMR_LPT_AUDIOINFO)lpData;
    		break;		
    	case VBVMR_CBCOMMAND_CHANGE:
    		pinfo = (VBVMR_LPT_AUDIOINFO)lpData;
    		PostMessage(lpapp->hwnd_MainWindow,WM_COMMAND, IDM_RESTART,0);
    		break;		
    	//--------------------------------------
    	// process buffer for Output INSERT
    	//--------------------------------------
    	case VBVMR_CBCOMMAND_BUFFER_OUT:
    		lpa =(VBVMR_LPT_AUDIOBUFFER)lpData;
    		nuChannel = lpctx->nuBusSelected * 8;
    		if ((nuChannel+8) > (lpa->audiobuffer_nbi-1)) break; //check that the given channels are existing
    		for (nuOut=0;nuOut<8;nuOut++)
    		{
    			//get pointer on output related to channel nuChannel
    			lpBufferOut = lpa->audiobuffer_w[nuChannel+nuOut]; 
    			//reset output bus
    			for (nbs=0;nbs < lpa->audiobuffer_nbs; nbs++) lpBufferOut[nbs]=fzero;
     
    			//compute bus from 8 input according gain matrix
    			for (nuIn=0;nuIn<8;nuIn++)
    			{
    				gain = lpctx->matrix_gain[nuOut][nuIn];
    				lpBufferIn = lpa->audiobuffer_r[nuChannel+nuIn];	//get pointer on input related to channel nuChannel
    				for (nbs=0;nbs < lpa->audiobuffer_nbs; nbs++)
    				{
    					signal= lpBufferIn[nbs] * gain;	//apply gain to sample
    					lpBufferOut[nbs] +=signal;		//accumulate in bus
    				}			
    			}
    		}
     
    		//copy other channels (otherwise there will be no sound in other busses.
    		for (nuOut =0; nuOut < lpa->audiobuffer_nbi; nuOut++)
    		{
    			if ((nuOut < nuChannel) || (nuOut >= (nuChannel+8)))
    			{
    				lpBufferIn = lpa->audiobuffer_r[nuOut]; 
    				lpBufferOut = lpa->audiobuffer_w[nuOut]; 
    				for (nbs=0;nbs < lpa->audiobuffer_nbs; nbs++) lpBufferOut[nbs]=lpBufferIn[nbs];
    			}
    		}
    		break;
    	}
    	return 0;
    }

  3. #3
    Membre averti
    Avatar de VBurel
    Profil pro
    Développeur Indépendant
    Inscrit en
    Août 2004
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Indépendant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 116
    Points : 333
    Points
    333
    Billets dans le blog
    1
    Par défaut Voicemeeter Remote API OCT 2020
    je mets à jour ce thread et les liens qui vont avec:

    Le SDK Voicemeeter Remote API est sur notre forum ici:
    https://forum.vb-audio.com/viewtopic.php?f=8&t=346

    il vient d'être mis à jour avec les dernières versions de Voicemeeter (OCT 2020)

    Nom : VoicemeeterRemoteAPI2020.jpg
Affichages : 228
Taille : 260,0 Ko

Discussions similaires

  1. codecs audio gsm pour windows
    Par youp_db dans le forum Windows
    Réponses: 0
    Dernier message: 14/03/2008, 11h55
  2. Choix API graphique pour Windows, Linux, Mac ?
    Par Tarteens dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 15/06/2007, 12h23
  3. [Windows]Api win32 pour java
    Par cpanette dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 27/06/2005, 16h06
  4. Conseils sur une API simple pour Windows
    Par alejandro dans le forum Choisir un environnement de développement
    Réponses: 4
    Dernier message: 28/04/2005, 19h12
  5. Réponses: 2
    Dernier message: 08/11/2004, 23h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo