Crépitements... [Résolu]

Signaler
Messages postés
234
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
21 novembre 2013
-
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
-
Yep !

Je me demandais si quelqu'un, ici, saurait m'expliquer comment produire un son (Wav, Midi) de crépitements... et l'utiliser avec TMediaPlayer, via un TMemoryStream ?

Merci...


blueperfect

22 réponses


Cari, attention à ton Tutu

Blueperfect : Va faire un tour du coté de la librairie Bass23. Elle permet de faire ce que tu veux.
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
14
Pour le crépitement, c'est le grand domaine de l'aléatoire à l'instar de la neige sur les anciens écrans TV.
En dynamique, ça doit se faire facilement à grands coups de Random().

Sinon pour ton info : Selon la norme midi il existe 128 instruments dont le numéro 121 qui est un bruit de souffle.

Pour le midi, regarde ici la fameuse batterie qui ne fait pas de bruits (N'est ce pas Cari ?) : je génère des sons midi via une simple unité (MidiCom.pas). J'avais fait un séquenceur que j'avais posté ici avec des : Regarde l'unité MidiWriter.pas.

Attention ces compos ne sont pas libres d'utilisation pour une utilisation commerciale (Enfin si tu me le demandes gentiment ca doit pouvoir se négocier )
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
14
Pour MIDI, c'est Francky le spécialiste...

Mais il faudrait savoir s'il s'agit bien de faire une simulation.
Si oui, s'agit-il de simuler la production de deux sons différents ou s'agit-il de simuler la reception (par un micro virtuel, par exemple) de deux sons + ou - éloignés dans l'espace.

Mais, dans les deux cas, je pense que la cotemporalité peut se régler en utilisant n'importe quel système disposant de la stéreo et de jouer sur les deux canaux.
Messages postés
420
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
6 mai 2019
16
Faut pas chercher MIDI à 14 heures.

Je sors...
Messages postés
3818
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
18 septembre 2020
34
pour jouer deux sons simultanément (ou plus) et sans lib supplémentaire voir WaveOut* (MSDN)


[hr]@+Cirec
[hr]

@Cirec : Oui sauf que si il veut générer le crépitement lui même (Peu importe que cela soit à la volée ou via un fichier son), BluePerfect va en baver comme un rat mort. De plus WaveOut est une usine à gaz quand on n'y connait rien et il ne pourra absolument pas lire de midi. Quand à des données midi ca "pèse" quand meme moins lourd qu'un fichier wav. Le seul problème du fichier wav est qu'il faut une soundfont.
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
14
« De plus WaveOut est une usine à gaz...»


J'ai jeté un oeil... et je dirais même une usine à gaz de schiste !

C'est "marrant" que tout ce qui concerne le son soit si compliqué.
Physiquement, c'est pourtant moins complexe que les couleurs...
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
14
Salut,

Ici ?
Messages postés
3818
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
18 septembre 2020
34
Salut,

et pas besoin de TMediaPlayer
PlaySound s'y prête très bien:
var Stream : TMemoryStream;
begin
  ...
  PlaySound(Stream.Memory, 0, SND_SYNC Or SND_MEMORY);
  ...
end;



[hr]@+Cirec
[hr]
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
14
Messages postés
234
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
21 novembre 2013

Non,

plus sérieusement :

Sachant le distances à un centre d'écoute de n points de l'espace, comment construire un TMemoryStream, et le jouer en continu....

Playsound fonctionne, mais il ne permets pas de jouer 2 wav en simultané.

Les TMemoryStream seront créés dynamiquement, et joués les uns après les autres, sans interruption du son. Effet que l'on peut obtenir par rotation de 2 TMediaPlayer actifs en même temps (un peu comme une table de mixage)...jouant 1s de son chacun...

Peut-être existe-t-il un moyen via MIDI ?

blueperfect
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
14
Blueperfect ayant pondu un truc simple... ça m'étonnait aussi.
Messages postés
234
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
21 novembre 2013

>>bass library :
ok, ok, mais moi je veux construire mon WAV moi-même....et utiliser un build-in objet de la VCL, qui est le TMediaPlayer (portable sur Kylix)...

>>random
les points qui crépitent sont disposés dans l'espace...je m'en tirerai en utilisant la distance d'un point à l'auditeur...

Le problème est de jouer ce son dynamique en continu...

blueperfect

Blueperfect le problème est que ton objectif n'est pas clair (en tout cas pour moi ). Tu parles de produire un crépitement à la volée puis de TMediaplayer ce qui est incompatible. Ensuite tu parles non pas de jouer un son mais d'en joueur deux, puis tu dis vouloir le faire de façon simultanée pour dire en suite que tu veux les jouer l'un après l'autre 1 seconde et cela en boucle infinie (Ce qui pour moi revient à les jouer non pas simultanément mais l'un après l'autre). Bref éclaire nos lumières ^^

avec des composants : oupppsss j'ai oublié un mot
Messages postés
234
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
21 novembre 2013

Merci à tous...MIDI sonne !

@+

blueperfect
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
14
[Esprit d'escalier]
Une alternative serait d'utiliser DirectSound, une API dédiée à la gestion de la partie audio qui fait partie de l'ensemble DirectX.
Et en particulier DirectSound3D (DS3D) qui permet de jouer des sons positionnés dans un espace 3D...
Messages postés
234
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
21 novembre 2013

>>WaveOut
thanks

blueperfect
Messages postés
234
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
21 novembre 2013

Son et lumière :
techniquement, ce n'est pas si moins complexe que les couleurs (visibles même sans espace). Pour entendre du son, il FAUT un espace, et là, en plus, un espace de temps...

Je crois que je vais être contraint de me limiter aux sons MIDI, et qu'une note correspondra à "DES" crépitements...peut-être qu'en jouant sur le volume et/ou la balance...

Merci quand même...

@+

blueperfect