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

Langage Java Discussion :

byte[] minimum maximum


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 93
    Par défaut byte[] minimum maximum
    Bonjour à tous,

    J'ai un byte[] contenant des entiers, j'ai une boucle qui le lit et j'aimerai avoir ensuite une variable contenant la valeur minimum contenue dans le tableau et une autre contenant la valeur maximum

    Auriez vous un petit exemple qui pourrait m'aider ?

    D'avance merci,
    Christian

  2. #2
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    un "byte []" qui contient des entiers . J'espère pour toi que ces entiers ne sont pas inférieurs à -128 et/ou supérieurs à 127 !!!!!!!
    Pour ce qui est d'obtenir le minimum, le maximum étant de 127, il suffit de déclarer une variable ayant cette valeur avant la boucle. Et lors du parcours à chaque fois que la valeur lue est inférieures à cette variable de référence, affecter la valeur lue à la variable de référence. En sortant de la boucle tu aurras le minimum.

  3. #3
    Membre émérite

    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 510
    Par défaut
    salut je suis encore (et toujours) débutant mais je pense que meme si c'est bourrin tu pourrais faire une série de if lors de la lecture du tableau : je m'explique :

    1- tu recupere tes deux premiers entiers et tu les compares , tu mets le plus grand dans ta variable max et le plus petit dans la variable min.

    2- tu recupere l'entier suivant et tu regarde si il est plus petit que ton min ou plus grand que ton max auxquels cas tu le conserve.

    ... et ainsi de suite pour chaque entier.

    voila ce qui me vient a l'idée mais il doit y avoir plus simple

    à +

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 93
    Par défaut
    Merci de ta réponse,

    En fait ce tableau contient des echantillons de fichier wave.
    Mon but est d'essayer (et j'insiste sur essayer lol) d'ouvrir un fichier audio, de repérer la plus haute pointe et de normaliser le tout à -2db.
    Mais il m'est vraiment très difficile de trouver une documentation concrète sur le sujet.

    Bien à toi,
    Christian

  5. #5
    Membre expérimenté
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Par défaut
    Bonjour, les Wav qualité CD contiennent des valeurs 16 bits (donc plutôt des short) il faut analyser les byte par 2 pour récupérer la valeur d'un signal.

    le fichier wav commence par un entête fixe suivi des valeurs gauche-droite stéréo (2bytes gauche, 2 bytes droite)

    http://ccrma.stanford.edu/CCRMA/Cour...ts/WaveFormat/

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 93
    Par défaut
    Merci pour ta réponse Deltree,

    En fait c'est un fichier wave mono 8kb/s 8bits format alaw.
    Comment puis je lire les information de ce fichier et changer le volume du signal ?
    Aurais tu une piste pour moi ?

    Merci d'avance,
    Christian

  7. #7
    Membre expérimenté
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Par défaut
    Bonjour,
    d'après la doc, les données commence à l'offset 44 (je n'ai pas vérifié dans un fichier, mais un edietur hexa fait l'affaire, c'est après la chaine "RIFF").
    donc tu laise les 44 1ers octets inchangés, et tu multiplie tous les bytes suivants par un coefficient. (bon, le 8 bits n'est déjà pas précis, alors après réduction)
    si tu divise par 2 un décallage de bits suffit, sinon, il va falloir passer en float, puis reconvertir ensuite.

  8. #8
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 93
    Par défaut
    En fait ce que je voulais faire, c'était de repérer la plus haute point de volume et alligner l'ensemble du fichier sur -2db en dessous de 0db.
    Peux tu me dire comment faire ?

    J'ai lu l'entete d'un fichier wave et je difficile de comprendre certain bytes
    par exemple le sample rate il me donne ceci :

    44
    ffffffac
    0
    0

    Comment dois je interpreter ffffffac ?

    la meme chose pour la longueur du bloc de données de data (SubShunk2Size):

    22
    ffffff9a
    1d
    0

    merci pour ton aide.

    PS: si la précision de l'échantillon pourrais le transformer en 16 bit, le normaliser puis le reconvertir en 8 bits ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/10/2010, 16h27
  2. Actualisation minimum, maximum BarChart
    Par jylaxx dans le forum Flex
    Réponses: 6
    Dernier message: 30/10/2009, 14h02
  3. [6.5] Minimum/maximum "non-aggrégeable"
    Par Zorgblub dans le forum Débuter
    Réponses: 4
    Dernier message: 19/09/2008, 09h09
  4. Lire Minimum/maximum d'un axe d'un graphique
    Par jalseth dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/08/2008, 16h55
  5. Réponses: 5
    Dernier message: 15/03/2007, 18h44

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