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

API, COM et SDKs Delphi Discussion :

Produire du son sur la carte son du PC avec Delphi


Sujet :

API, COM et SDKs 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 Produire du son sur la carte son du PC avec Delphi
    Bonjour a tous,

    ça fait un moment que je cherche un code sous delphi qui me pérmet de produire un son sur la carte son du PC en difinissant sa fréquence et son intensité, j'ai trouvé ce code qui le permet:

    http://delphi.developpez.com/faq/?pa...otesurcarteson

    Le seul problèlme avec ce code c'est qu'il permet de produire des sons d'intensité allant de 0 à 127, alors que j'ai besoin de produire des sons allant de 0 à 32767, 0 à 8388607 ou de 0 à 2147483647.

    Ce qui veut dire qu'on va utiliser 16, 24 ou 32 bits pour l'intensté au lieu de 8 bits.

    Je vous prie de m'aider c'est très important c'est pour mon projet de fin d'études.

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Citation Envoyé par airefrais Voir le message
    Bonjour a tous,

    ça fait un moment que je cherche un code sous delphi qui me pérmet de produire un son sur la carte son du PC en difinissant sa fréquence et son intensité, j'ai trouvé ce code qui le permet:

    http://delphi.developpez.com/faq/?pa...otesurcarteson

    Le seul problèlme avec ce code c'est qu'il permet de produire des sons d'intensité allant de 0 à 127, alors que j'ai besoin de produire des sons allant de 0 à 32767, 0 à 8388607 ou de 0 à 2147483647.

    Ce qui veut dire qu'on va utiliser 16, 24 ou 32 bits pour l'intensté au lieu de 8 bits.

    Je vous prie de m'aider c'est très important c'est pour mon projet de fin d'études.

    Merci d'avance.
    il y a pourtant tout ce qu'il faut dans cet exemple...ensuite il faut regarder l'entête WAV pour redéfinir les paramètres :
    Code delphi : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     with WaveFormatEx do
      begin
       //Paramètres d'un en-tête de fichier WAV au format PCM
        wFormatTag := WAVE_FORMAT_PCM;
        nChannels := Mono;
        nSamplesPerSec := SampleRate;
        wBitsPerSample := $0008;
        nBlockAlign := (nChannels * wBitsPerSample) div 8;
        nAvgBytesPerSec := nSamplesPerSec * nBlockAlign;
        cbSize := 0;
      end;

    Le plus simple étant parfois de faire le travail inverse, c'est à dire de regarder l'entête d'un fichier son existant

  3. #3
    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
    Sallut,

    J'ai modifié le nombre de bit par échantillon pour le fichier wave (16 au lieu de 8):

    wBitsPerSample := $0010;

    Ça me produit des sons mais j'ai l'impression qu'il est clipé, vous êtes sûr que c'est tout ce qu'il ya a modifier??

    Merci pour l'aide

    airefrais.

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Citation Envoyé par airefrais Voir le message
    Sallut,

    J'ai modifié le nombre de bit par échantillon pour le fichier wave (16 au lieu de 8):

    wBitsPerSample := $0010;

    Ça me produit des sons mais j'ai l'impression qu'il est clipé, vous êtes sûr que c'est tout ce qu'il ya a modifier??

    Merci pour l'aide

    airefrais.
    il faut également ajuster les données en conséquence (DataCount et SoundValue)

  5. #5
    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
    Bonjour,

    J'ai modifié le type des variables DataCount et SoundValue, réel pour les deux, ça me produit toujours un son clipé, pouvez vous me poster le code entièrement avec les modifications nécéssaires, vous allez me rendre un très grand sevice car je n'arrive pas à avencer sans régler ce problème.

    Merci encore.

    airefarais.

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Citation Envoyé par airefrais Voir le message
    Bonjour,

    J'ai modifié le type des variables DataCount et SoundValue, réel pour les deux, ça me produit toujours un son clipé, pouvez vous me poster le code entièrement avec les modifications nécéssaires, vous allez me rendre un très grand sevice car je n'arrive pas à avencer sans régler ce problème.

    Merci encore.

    airefarais.
    Non, je ne peux pas j'ai d'autres choses à faire mine de rien mais toutes les infos sont là, il faut tester, sans doute regarder le fichier avec un éditeur de WAV pour s'assurer de sa cohérence et pourquoi pas rééchantilloner un fichier existant pour comparer avec le fichier généré.

  7. #7
    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
    Salut,

    Ok je vais suivre vos conseils, je vous remecie Paul TOTH pour votre aide, je vous tient au couren.

    a+

    airefrais

Discussions similaires

  1. [Turbo Pascal] Générer du son sur la carte son
    Par boudakou dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 20/02/2009, 19h23
  2. Signal sonore sur la carte son
    Par woow dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 22/11/2005, 13h25
  3. Réponses: 37
    Dernier message: 17/11/2005, 10h25
  4. [TP]Envoyer un son sur la carte son
    Par Alkangelis dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 31/10/2004, 11h49
  5. Carte son sur ordinateur portable
    Par devmat dans le forum Matériel
    Réponses: 14
    Dernier message: 08/10/2004, 00h03

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