Discussion fermée
Affichage des résultats 1 à 8 sur 8

Traitement des signaux sonores, coller deux samples



  1. #1
    DjPoke
    Invité

    Question Traitement des signaux sonores, coller deux samples


    ------

    Bonjour à tous !
    Je suis nouveau ici et je suis content d'avoir trouvé un forum de ce type, car je me trouve devant un sérieux problème théorique sur les signaux qui me dépasse :
    J'aurai besoin (pour un algorithme), de savoir comme je pourrais accoler deux sons échantillonnés l'un à la suite de l'autre sans bruits de commutation, sachant que ces deux samples n'ont rien à voir l'un avec l'autre, et qu'ils sont de l'ordre d'une durée de 100ms chacun ?
    (ps: si cette question n'est pas à sa place, merci de bien vouloir la placer là où il faut)

    -----

  2. Publicité
  3. #2
    Fabrizio

    Re : Traitement des signaux sonores, coller deux samples

    Hello,

    C'est quoi comme dit de signaux? Voix, instrument?

    Comment se termine le premier signal et comment commence le 2eme?

    Ciao

    Fabrizio

  4. #3
    martini_bird

    Re : Traitement des signaux sonores, coller deux samples

    Salut,

    tu peux peut-être essayer un fondu enchaîné en superposant les deux signaux durant quelques ms. C'est très simple à réaliser avec un logiciel de traitement audio

    Cordialement.

  5. #4
    DjPoke
    Invité

    Re : Traitement des signaux sonores, coller deux samples

    En fait, c'est pour un programme de pitch shift que je fais. Donc, il s'agit de petits bouts de samples de 100ms, que je découpe, que je pitch normalement (avec déformation du temps) et dont je prend un bout faisant aussi 100ms (s'il est plus grand, sinon je répète le meme s'il est plus petit), pour le réinjecter dans le rendu final. Donc, je peux avoir une succèssion de sample dont je ne connais, au niveau des signaux, ni le début ni la fin.
    Je vais déjà essayer de programmer un fondu enchainné, je vous tiens au courant.
    Merci beaucoup en tous cas !

  6. A voir en vidéo sur Futura
  7. #5
    DjPoke
    Invité

    Re : Traitement des signaux sonores, coller deux samples

    Avant de programmer le fondu enchainé sur l'ensemble des samples, j'avais besoin de rendre bouclable chaque sample de 100ms. J'ai donc fait un fondu enchainé (linéaire) entre le debut de chaque petit sample et la fin de ce meme sample pour qu'il boucle, mais cela provoque des "tics" proportionnels à la taille du fade.
    Est ce que quelqu'un saurait comment on calcule ce qu'on appelle je crois un "crossfade loop". J'avais vu ça sur un sampleur ensoniq EPS, et ça rendait un sample bouclable automatiquement.

  8. #6
    martini_bird

    Re : Traitement des signaux sonores, coller deux samples

    Salut,

    il serait peut-être utile que tu précises sur quelle machine/logiciel tu travailles.

    Sinon, avant toute chose, il faut repérer les zero crossing au début et à la fin de ton sample.

    Cordialement.

  9. Publicité
  10. #7
    DjPoke
    Invité

    Re : Traitement des signaux sonores, coller deux samples

    En fait, je bosse sur pc avec une edirol UA-20. Comme language, j'utilise le C++. J'ai pigé pour le zero crossing. Le problème est que si je modifie les 100ms de la taille du sample de base en cours (pour aller d'un point zero à un autre) , je joue sur la frequence de mon pitch shift. Elle doit tout le temps être identique.
    N'y a t'il pas moyen, par exemple, via une fonction mathématique, de faire boucler le son autrement ? Chaque sample peut etre considéré comme un signal apériodique, meme si en réalité, il peut etre un bout de signal periodique.
    Je peux poster le code si nécéssaire !
    En tout cas, merci pour tout !

  11. #8
    DjPoke
    Invité

    Re : Traitement des signaux sonores, coller deux samples

    J'ai trouvé une solution que je suis en train de mettre au point:
    Au lieu de toucher au volumes car ils détériorent le son (crossfade), je touche aux frequences. Je m'explique :
    J'ai besoin pour mon crossfadeloop d'avoir deux points zero, mais je suis obligé pour mon pitch shift de les déplacer jusqu'a mes points à 0 et 100ms.
    Donc, je repère les points zero les plus proches, je récupère une partie du signal, et je la pitche très légèrement pour qu'elle tienne à la place du bout de signal deffectueux. Le pitch ne doit pas dépasser 1.5 car au dessus, il peut atteindre le demiton et faire osciller le son d'origine. Donc, je considère que ma zone du point de depart au point zero fait "1" et je prend "1/2" en plus pour calculer le signal à pitcher, signal que je pitch pour l'enfermer dans les "1,5" restant.
    Merci à tous pour votre coopération.

Discussions similaires

  1. Traitement de signaux émis par un buzzer
    Par wdhliv dans le forum Électronique
    Réponses: 24
    Dernier message: 30/10/2017, 08h53
  2. Somme de deux signaux périodiques
    Par Cyrbrass dans le forum Mathématiques du collège et du lycée
    Réponses: 4
    Dernier message: 15/03/2008, 12h26
  3. TPE la numérisation des signaux sonores
    Par dratar dans le forum TPE / TIPE et autres travaux
    Réponses: 3
    Dernier message: 10/01/2007, 10h10
  4. Addition de deux signaux
    Par manu56 dans le forum Électronique
    Réponses: 5
    Dernier message: 16/05/2005, 22h09
  5. traitement du signal ondes sonores
    Par phineau dans le forum Technologies
    Réponses: 4
    Dernier message: 05/01/2004, 17h38
Découvrez nos comparatifs produits sur l'informatique et les technologies.