Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Faire des copier/coller sur un morceau de SoundBuffer  (Lu 2028 fois)

0 Membres et 1 Invité sur ce sujet

voidcome

  • Newbie
  • *
  • Messages: 3
    • Voir le profil
Faire des copier/coller sur un morceau de SoundBuffer
« le: Juin 21, 2014, 03:16:55 pm »
Bonjour,

Je développe actuellement un petit logiciel d'édition de fichiers audio, et je souhaite réaliser quelques traitements audio. Vu que j'ai plusieurs questions "différentes", j'ai créé plusieurs sujets afin de séparer les questions et rendre le tout plus clair pour le forum ainsi que pour les prochains qui feront des recherches; j'espère que ce n'est pas gênant.


Je souhaite faire des petites fonctions d’édition du genre copier un morceau (de 00m05s à 00m10s) d'un buffer A et ensuite le coller dans un buffer B à 00m17s. Je vais donc utiliser des SoundBuffer afin d'accéder aux samples.

Note : je ne sais pas du tout comment gérer des SampleRate différent pour le moment, donc je suppose avori deux fichiers avec le même SampleRate.


Première question : Pour être sûr d'avoir compris, le nombre de sample correspondant à une seconde est relatif au SampleRate. Donc, pour avoir un morceau entre 00m05s et 00m10s, avec un SampleRate de 44100, je dois parcourir le buffer entre l'offset (5 * 44100) et (10 * 44100) ?

Seconde question : Quelle valeur mettre dans les samples pour faire du vide ? Zéro ?
Par exemple, si je colle mon morceau copié après la fin d'un son, il faut que je remplisse le blanc qu'il y a entre les deux... mais avec quelle valeur pour sf::Int16 ?


Merci.



Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Faire des copier/coller sur un morceau de SoundBuffer
« Réponse #1 le: Juin 21, 2014, 05:43:36 pm »
Citer
Première question : Pour être sûr d'avoir compris, le nombre de sample correspondant à une seconde est relatif au SampleRate. Donc, pour avoir un morceau entre 00m05s et 00m10s, avec un SampleRate de 44100, je dois parcourir le buffer entre l'offset (5 * 44100) et (10 * 44100) ?
Presque. Il faut aussi multiplier par le nombre de canaux.

Citer
Seconde question : Quelle valeur mettre dans les samples pour faire du vide ? Zéro ?
Par exemple, si je colle mon morceau copié après la fin d'un son, il faut que je remplisse le blanc qu'il y a entre les deux... mais avec quelle valeur pour sf::Int16 ?
Zéro devrait marcher oui. Ca correspond à un son de fréquence non-définie mais de volume nul, donc je pense que c'est la valeur standard pour du silence.
Laurent Gomila - SFML developer