Avec VC++ je développe en C avec l'API Windows et je souhaite sortir des sons, mais pas sur le hp du PC, par la carte son et pas en Midi. Je ne trouve pas les fonctions OpenSound et CloseSound. Quelqu'un peut-il m'aider svp ?
Avec VC++ je développe en C avec l'API Windows et je souhaite sortir des sons, mais pas sur le hp du PC, par la carte son et pas en Midi. Je ne trouve pas les fonctions OpenSound et CloseSound. Quelqu'un peut-il m'aider svp ?
Tu as regardé du côté des bibliothèques portables comme la SDL qui fournit une API simple pour jouer du son.
Il y a des articles sur le site avec exemple sinon je te propose te poster la partie de code qui ne compile pas ou qui ne s'execute pas comme attendu
J'ai bien regardé dans la SDL mais je ne vois pas de fonctions qui me permettraient de jouer des notes avec la hauteur de la note et la durée de la note. Comment faut-il s'y prendre ?
Merci pour ta réponse.
Ah jouer une note genre do, ré, mi, fa, sol etc ? Effectivement je ne sais même pas si c'est possible, tu sais une carte son ce n'est pas une flûte![]()
Ce genre de fonction est en général l'apanage des circuits de synthèse FM... Or, ce genre de circuit était surtout dédié à pallier l'absence de cartes MIDI performantes, ce qui n'est plus le cas depuis pas mal de temps : il n'est donc pas très étonnant que tu ne trouves que des fonctions liées au HP interne (support "historique") ou au MIDI (c'est quand même son rôle de faire ça !).
Quel est le problème qui te gêne avec le support MIDI, exactement ? Si tu vas un poil plus loin et que tu passes par DirectSound, tu auras un support bien meilleur que tout ce que tu pourrais faire à la main, et si l'instrument te pose un souci tu n'as qu'à prendre le piano, c'est le plus passe-partout...
EDIT : Autre solution, générer une sinusoïde parfaite en WAVE, sur une période, puis la jouer à des fréquences diverses (et en boucle pendant X ms) directement via les commandes Waveform...
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
Merci pour les réponses, on se sent moins seul.
Je vais le faire en Midi. J'ai installé la bibliothèque Fmod.
Est-ce que tu as un exemple pour sortir une note ?
Pour jouer du son/musique avec la SDL il faut utiliser la bibliothèque additionnelle SDL_mixer ! Bien sûr ce que tu recherches est plus spécifique et tu risque fort de te heurter au problème de ne rien trouver là dessus ! Il faudrait voir peut être des programmes de musique libre et voir comment eux ils font ca s'il le font mais là encore sans aucune garantie![]()
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Fait une recherche avec
- midiOutOpen
- midiOutShortMsg
- ...
fichier include mmsystem.h
J'ai trouvé un exemple de programmation midi
Charles Petzold KBmidi.c
Je n'arrive toujours pas à sortir le moindre son.
Voici ce que je fais :
iDevice=0 ; /* 1ère unité sur les 2 données par midiOutGetNumDevs */
nStatus=midiOutOpen(&hMidiOut, iDevice, NULL, 0L, 0L) ;
nStatus=midiOutShortMsg(hMidiOut, (DWORD) 0x00403c90) ; /* note on */
midiOutClose(hMidiOut) ;
La variable nStatus est bien égale à zéro. Aucun son ne sort (mes hp sont bien en fonction)
Je n'ai pas mis le note off pour l'instant.
Si quelqu'un a des idées ?
Partager