OVH Cloud OVH Cloud

device pour le son?

8 réponses
Avatar
Saïd
Bonjour,

Comment sortir du son sous Mac OS X? Quel device faut-il ouvrir et ou
trouver les possibilite de configuration du device? (C'est pour sortir du
son a partir d'un programme en C).

--
Saïd.

8 réponses

Avatar
Éric Lévénez
Le 12/12/03 11:29, dans , « Saïd »
a écrit :

Comment sortir du son sous Mac OS X? Quel device faut-il ouvrir et ou
trouver les possibilite de configuration du device? (C'est pour sortir du
son a partir d'un programme en C).


Voici un petit exemple en C :

#include <stdio.h>

int main(void)
{
(void)puts("a");
return 0;
}

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
Saïd
Éric Lévénez :
Le 12/12/03 11:29, dans , « Saïd »
a écrit :

Comment sortir du son sous Mac OS X? Quel device faut-il ouvrir et ou
trouver les possibilite de configuration du device? (C'est pour sortir du
son a partir d'un programme en C).


Voici un petit exemple en C :

#include <stdio.h>

int main(void)
{
(void)puts("a");
return 0;
}



En fait je voulais sortir du vrai son avec parametrage de la fequence
d'echantillonnage et du nombre de bits. C'est pour ajouter une
fonctionnalite son a un logiciel de traitement du signal.

--
Saïd.


Avatar
Éric Lévénez
Le 12/12/03 14:19, dans , « Saïd »
a écrit :

Éric Lévénez :
Le 12/12/03 11:29, dans , « Saïd »
a écrit :

Comment sortir du son sous Mac OS X? Quel device faut-il ouvrir et ou
trouver les possibilite de configuration du device? (C'est pour sortir du
son a partir d'un programme en C).


Voici un petit exemple en C :

#include <stdio.h>

int main(void)
{
(void)puts("a");
return 0;
}


En fait je voulais sortir du vrai son


Ah ? Crois-tu que je n'avais pas compris ? :->>>

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.



Avatar
Saïd
Éric Lévénez :
Le 12/12/03 14:19, dans , « Saïd »
a écrit :

Éric Lévénez :
Le 12/12/03 11:29, dans , « Saïd »
a écrit :

Comment sortir du son sous Mac OS X? Quel device faut-il ouvrir et ou
trouver les possibilite de configuration du device? (C'est pour sortir du
son a partir d'un programme en C).


Voici un petit exemple en C :

#include <stdio.h>

int main(void)
{
(void)puts("a");
return 0;
}


En fait je voulais sortir du vrai son


Ah ? Crois-tu que je n'avais pas compris ? :->>>



Et toi? :->>>>>>

Et tu pourrais pas me filer le nom de /dev/dsp sous NeXTStep 6.0 .

--
Saïd. (il faut le travailler aux sentiments le Eric...)




Avatar
Éric Lévénez
Le 12/12/03 14:54, dans , « Saïd »
a écrit :

Et tu pourrais pas me filer le nom de /dev/dsp sous NeXTStep 6.0 .


Sous NeXTSTEP 3 n'est effectivement /dev/dsp, mais il faut fournir du code
DSP, pas du son brut. Pour avoir du son en C, c'était :

SNDSoundStruct *s;

SNDReadSoundFile("fichier.snd", *s);
SNDStartPlaying(s, 1, 5, 0, 0, (SNDNotificationFun)SNDFree);
SNDWait(0);


Voir :

<http://www.channelu.com/NeXT/NeXTStep/3.3/nd/GeneralRef/16_Sound/SoundFunct
ions/SoundFunctions.htmld/>

Pour la gestion du son en Objective-C :

<http://www.channelu.com/NeXT/NeXTStep/3.3/nd/GeneralRef/16_Sound/Classes/So
und.htmld/index.html>

Je ne suis pas sûr que cela t'aide beaucoup. :-)

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
Saïd
Éric Lévénez :
Le 12/12/03 14:54, dans , « Saïd »
a écrit :

Et tu pourrais pas me filer le nom de /dev/dsp sous NeXTStep 6.0 .


Sous NeXTSTEP 3 n'est effectivement /dev/dsp, mais il faut fournir du code
DSP, pas du son brut. Pour avoir du son en C, c'était :

SNDSoundStruct *s;

SNDReadSoundFile("fichier.snd", *s);
SNDStartPlaying(s, 1, 5, 0, 0, (SNDNotificationFun)SNDFree);
SNDWait(0);


Voir :

<http://www.channelu.com/NeXT/NeXTStep/3.3/nd/GeneralRef/16_Sound/SoundFunct
ions/SoundFunctions.htmld/>

Pour la gestion du son en Objective-C :

<http://www.channelu.com/NeXT/NeXTStep/3.3/nd/GeneralRef/16_Sound/Classes/So
und.htmld/index.html>

Je ne suis pas sûr que cela t'aide beaucoup. :-)



J'ai trouve ca sur mon disque dur:
/Developer/Examples/CoreAudio

Je verrai ce soir quand je serais en face de l'iBook. En tout cas ca semble
plus complique de d'ouvrir /dev/dsp est d'y foutre du son.

--
Saïd.


Avatar
Éric Lévénez
Le 12/12/03 14:54, dans , « Saïd »
a écrit :

Et tu pourrais pas me filer le nom de /dev/dsp sous NeXTStep 6.0 .


Tiens, un truc qu'il y avait sous NeXTSTEP et qui utilisait le DSP était les
ScoreFile. Tout comme un fichier PostScript est un fichier de texte
décrivant une page imprimée, un fichier Score décrit du son sous forme de
texte.

Pour écrire des partitions, on pouvait mettre les descriptions de chaque
note, les unes derrière les autres en indiquant tous les attributs, par
exemple un tout petit bout de "the last movement of the Bach Am violin
concerto" :

t 9.03884;
p4 (noteOn 2423) bright:0.32068, sustain:0.60200, amp:0.79566, freq:440.00;
p3 (noteOn 3423) bright:0.32068, sustain:0.60200, amp:0.79566, freq:440.57;
t 10.03331;
p4 (noteOn 2424) bright:0.19664, sustain:0.64800, amp:0.55354, freq:391.99;
p3 (noteOn 3424) bright:0.19664, sustain:0.64800, amp:0.55354, freq:392.05;
t 10.03939;
p5 (noteOn 1603) bright:0.31044, sustain:0.73300, amp:0.65770, freq:783.98;


Cela peut ressembler à au MIDI, mais les Score étaient plus puissants. Avec
le Music Kit de NeXTSTEP on pouvait d'ailleurs convertir du MIDI en Score.

Mais on pouvait aussi utiliser le langage ScoreFile pour coder du son
dynamiquement. Voici un exemple :

/* This example Scorefile illustrates the ScoreFile Language looping
constructs. Three loops are invoked.

1. The inner-most loop creates a set of notes that start at the same
time. They differ in frequency by a small "beatingOffset".
This beatingOffset causes a phasing effect.
2. The second loop creates a slow harmonic series melody
3. The outer-most loop causes the harmonic series melodies to
move around the cycle of fifths.
*/

part aPart; /* Declare a part */
aPart synthPatch:"Fm1i" synthPatchCount:11;

envelope ampFn = [(0,1)(.1,.7)|(1.0,0)];
envelope indFn = [(0,1)(.1,.7)];

BEGIN;
t 0.00000;
/* First set some defaults. */
aPart (noteUpdate) amp:.08 ampEnv:ampFn m1Ind1:5 m1Ind0:0 m1IndEnv:indFn;
t + .1;

double curPitch,basePitch,beatingOffset;
int i,j,k;

int numVoicesPerNote = 5;
int numNotesPerChord = 5;
int numChords = 4;

k = 0;
while (k<numChords) { /* Outer loop */
basePitch = c0 * 1.5 ^ k; /* basePitch moves up cycle of 5ths */
j = 0;
while (j<numNotesPerChord) {
i = 0;
curPitch = basePitch * (j + 2); /* curPitch moves up series */
beatingOffset = .2 * ran + .05; /* Beating offset randomly choosen
*/
while (i<numVoicesPerNote) { /* Inner loop */
aPart (8) freq:curPitch + beatingOffset * i
bearing:90*i/numVoicesPerNote-45;
i = i + 1;
}
t +3;
j = j + 1;
}
k = k + 1;
}

END;


Pour jouer un tel fichier, on clique dessus, il lance ScorePlayer qui fait
une conversion à la volée en ordre DSP, et le son est joué. Des outils
graphiques existaient bien sûr.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
michele
Saïd wrote: Quel device faut-il ouvrir et ou
possibilite de configuration du device?


Jocelynnnnnnnnnn, sors du corps de saïdddddddddddd.
Device©