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

C++Builder Discussion :

Comment tracer n'importe quel graphe d'un son


Sujet :

C++Builder

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1
    Points : 4
    Points
    4
    Par défaut Comment tracer n'importe quel graphe d'un son
    je veux faire un logiciel avec c++ builder qui tracer n’importe quel signale extérieur ''des sons par exemple'' mais je n'est aucune idée pour sa juste ce que je sais c'est TChart ou TPerformacegraphe mais je ne sais pas comment les programmer

    Merci d'avance;

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 374
    Points : 1 759
    Points
    1 759
    Par défaut
    Salut !

    Si ça n'existe toujours pas au niveau des librairies propres à BCB (etc...),
    c'est sans doute parce que c'est la chose la plus simple à développer.

    Avec TCanvas : MoveTo te permet de positionner ton graphe et ensuite il suffit de
    tracer de samples en samples avec LineTo. C'est le principe de base pour ce type de
    représentation (sons, équations ...)!

    Le rendu sera parfait, que ce soit avec un bruit blanc ou un signal sinusoïdal...
    A toi de réfléchir sur les problèmes d'échelle !
    Notes que les y (les valeurs signées de tes échantillons) sont inversés par rapport
    à leur représentation à l'écran ( fait : axe - y ce qui placera tes valeurs positives en haut...).

    Même si on part du principe qu'on peut dessiner directement sur une form, utilises
    un TPaintBox avec un Bitmap (c'est du double buffering local... autant faire le plus fluide
    possible avec ce genre de graphisme !!!) et surtout plus facile à utiliser via sa zone client.

    Utilises par exemple un générateur sur les bases d'un sin ou cos (#include math.h) pour tester.

    Bien entendu, c'est du développement qui mérite une belle modélisation en dérivant de TPaintBox ou de
    TCustomControl... !

    Si tu as des problèmes je passerai un bout de code (bien que j'en ai déjà laissé des tonnes sur ce forum)!

    A plus et bon courage !

  3. #3
    Membre actif Avatar de Argol_Medusa
    Homme Profil pro
    Ingénieur Radiofréquences
    Inscrit en
    Août 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Radiofréquences
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 208
    Points : 242
    Points
    242
    Par défaut
    Citation Envoyé par faysalb Voir le message
    je veux faire un logiciel avec c++ builder qui tracer n’importe quel signale extérieur ''des sons par exemple
    Petite précision importante s'il s'agit d'affichage en temps réel : pense bien à séparer la partie interface graphique de la partie acquisition de données.

    Personnellement je te conseil de mettre la partie acquisition / mise à jour des informations dans un thread, que le GUI ( interface graphique ) ira lire quand cela lui plaira ( genre toutes les 1/25eme de seconde, de toute façon ton oeil ne pourra pas voir au-delà ).
    Désolé, on savait pas que c'était impossible, alors on l'a fait

  4. #4
    Membre régulier
    Inscrit en
    Août 2010
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 123
    Points : 93
    Points
    93
    Par défaut
    Pourtant TChart pourrait être adapté. Il est possible de le coder manuellement sur un Canvas, mais TChart peut faire gagner du temps (même si son utilisation n'est pas toujours facile).

    - Ajouter un TChart sur la Form.
    - DblClique sur le TChart.
    - Ajouter une série dans TChart.
    - Paramétrer les axes. (Minimum / Maximum, ...)
    - Dans le code, faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Serie1->Clear(); 
    Serie1->AddXY(coords[0].x, coords[0].y, "", clRed);
    Serie1->AddXY(coords[1].x, coords[1].y, "", clRed);
    ...

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/08/2012, 09h25
  2. Réponses: 1
    Dernier message: 04/05/2008, 00h55
  3. Réponses: 2
    Dernier message: 12/06/2007, 14h31
  4. comment zipper un fichier de n'importe quel extension
    Par diamonds dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 23/02/2007, 23h09
  5. Réponses: 4
    Dernier message: 11/01/2007, 18h55

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