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 Delphi Discussion :

Fichier Wave avec nombre de bits par échantillon=16


Sujet :

Langage Delphi

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Fichier Wave avec nombre de bits par échantillon=16
    Bonjour à tous,

    ça fait un long moment que j'essaye de produire produire un fichier wave qui a 16 pour nombre de bit par échantillon et puis de lire ce fichier avec la fiction SndPalySound, quand je fait varier l'amplitude de 0 à 127 le son produit est correcte mais haut de là le son est endommagé (clipé) alors que j'ai besoin de varier l'amplitude de 0 à 65535.

    C'est vraiment urgent.

    Merci de rependre.

  2. #2
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    appel sub0
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  3. #3
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Salut!

    Désolé si le sujet n'est plus d'actualité...
    En 16bits, le sample est signé, c'est-à-dire que l'amplitude varie de -32768 à 32767 :
    Pour pouvoir travailler sur les données 16 bits, par exemple pour modifier le volume du sample, ou le mixer avec un autre, etc... les données 16 bits signées doivent-être converties en données 16 bits non-signées avant le traitement, puis reconverties en données signées après le traitement afin d'être prêtes à la lecture. Voici donc la méthode que j'utilise pour transformer une donnée 16 bits signée en non-signée. La variable nommée "donnée" est du type Integer (avec Delphi) ou Longint (avec TP):

    Voici l'opération de conversion (signée -> non-signée):
    donnee:=donnee-$8000;
    IF(donnee<0)THEN donnee:=donnee+$10000;

    Voici l'opération inverse (non-signée -> signée):
    donnee:=donnee+$8000;
    IF(donnee>=$10000)THEN donnee:=donnee-$10000;

    http://sub0.developpez.com/FormatWAV/FormatWAV.htm
    De retour parmis vous après 10 ans!!

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/05/2011, 09h41
  2. Réponses: 1
    Dernier message: 08/07/2009, 17h06
  3. nombres de bit par pixel
    Par hassiba_45 dans le forum C++Builder
    Réponses: 4
    Dernier message: 13/04/2008, 12h51
  4. nombre de bits par pixel
    Par madjidri dans le forum C++Builder
    Réponses: 1
    Dernier message: 24/05/2007, 16h01
  5. [Système] Ouvrir fichier externe avec prog par défaut de l'OS
    Par Pill_S dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 30/05/2004, 11h54

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