IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Multimédia Java Discussion :

[Audio] Obtenir valeurs échantillons WAVE


Sujet :

Multimédia Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Par défaut [Audio] Obtenir valeurs échantillons WAVE
    Bonjour,

    je cherche à additionner plusieurs sons de type wav entre eux, afin d'en créer un seul... pour cela il me faudrait pouvoir accéder aux valeurs des échantillons (amplitude), mais je n'y arrive pas, j'arrivev seulement à obtenir des octets mais il faudrait pouvoir extraire les échantillons eux memes...

    Si quelqu'un a une idée je suis preneur !

    Merci, A+!

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Par défaut
    J'ai réussi à extraire les valeurs des échantillons, qui sont en fait pour le type d'encodage de mes fichiers wave des suites de 4 octets successifs (un int donc)...

    Je suis à présent confronté à un problème... j'essaie d'additionner 2 échantillons de deux sons différends afin de les superposer, malheureusement dans certains cas le son est fortement bruité.

    Voilà en gros ce que je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    loop {
       byte[] echA = getEchA;
       byte[] echB = getEchB;
    
       int a = byteToInt(echA);
       int b = byteToInt(echB);
    
      int res = a+b; // a/2+b/2
     
    
       byte[] echRes = intToByte(res);
    
       play(res);
    }
    Le problème est au niveau de la ligne en gras je suppose...
    En effet, si je ne fais pas la division par 2, une addition de 2 échantillons de valeurs élevée peux donner un nombre négatif (dépassement de capacité)...

    Et si je divise par 2, cela ne marche pas non-plus... Alors j'y comprends rien...

    Si quelqu'un peut m'aider, c'est avec plaisir, car je galère vraiment!

  3. #3
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Alors, je ne sais pas trop comment c'est gérer en Java. Mais es tu sûr que l'on puisse additionner comme ça les valeurs ? N'y a t'il pas une histoire qu'il faille passer dans l'espace de Fourier ou je ne sais quoi ?


    Es-tu sûr que tes fonctions de conversion marchent ?

    par exemple :
    loop {
    byte[] echA = getEchA;
    byte[] echB = getEchB;

    int a = byteToInt(echA);


    int res = a;


    byte[] echRes = intToByte(res);

    play(res);
    }
    Fais il quelque chose de bien ?


    Et dernière question, es-tu sûr que l'on puisse jouer partie par partie comme ça sans SoundManager ? (n'y a t'il pas un risque que ça n'aille pas à la bonne vitesse)

    Une autre question en fait, l'amplitude n'a t'elle pas plutôt un rapport avec le volume ?

Discussions similaires

  1. Obtenir valeur d'un élément fils dans form
    Par shadowbob dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 03/06/2008, 17h03
  2. obtenir valeur d'un tableau en javascript
    Par calitom dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/11/2007, 18h03
  3. Fichier audio : Obtenir la durée
    Par d-Rek dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 30/01/2007, 17h08
  4. Réponses: 4
    Dernier message: 16/10/2006, 09h54
  5. Obtenir valeur décimale d'un caractère
    Par Onil_ dans le forum C++
    Réponses: 4
    Dernier message: 04/06/2006, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo