Comment séparer un signal Audio 44050Hz et deux signaux 22100Hz?
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Comment séparer un signal Audio 44050Hz et deux signaux 22100Hz?



  1. #1
    igal

    Comment séparer un signal Audio 44050Hz et deux signaux 22100Hz?


    ------

    Bonjour.

    Voici mon problème.

    Je dispose d'un vieil ordinateur MSX sur lequel j'écoute de la musique par le biais d'un module COVOX que j'ai fait de mes petites mains.
    Grace à différentes optimisations, je parviens à lire une Bande SON stéréo à 44100Hz.
    Cette bande Son Stéréo est donc composée de deux Canaux Droite et Gauche de 22050Hz chacun.

    Actuellement, je parviens donc a lire cette Bande SON avec un débit de 44100Hz mais les Données interprétés sont transformées [Digital To Analogic] sur un seul Canal.
    Le SON est Donc MONO 44Kh, parce que les Piste Droite et Gauche Sont lues alternativement à la suite telle que [22Khz Piste Droite] puis [22Khz Piste Gauche].

    Le MSX étant un très vieil ordinateur, et mes compétences informatiques étant absolument nulles, je cherche un moyen Harware de "Séparer" très simplement un signal Analogique à 44100Hz strictement en deux, de sorte à envoyer alternativement, une [IMPULSION] à droite et une [IMPULSION] à gauche.

    De la sorte, je peux retrouver mes deux CANAUX originaux [DROIT22050Hz] et [GAUCHE22050HZ] lus alternativement par le MSX et renvoyés en [MONO44100HZ].
    Je pourrais donc retrouvés ses deux CANAUX séparés.

    Je n'aurais donc plus qu'à orienter chaque [CANAL ANALOGIC 22050HZ] vers un Haut parleur différent pour retrouver un effet stéréophonique.

    J'ai fait ce petit dessin:
    Nom : stereo.png
Affichages : 506
Taille : 17,1 Ko

    Merci de votre aide.

    Je précise simplement que mon but premier est VRAIMENT de SEPARER rigoureusement UNE impulsion sur DEUX.
    Je sais qu'il existe des moyens de créer une Pseudo Stéréophonie comme avec le TDA3810, mais je préfère réserver cette solution comme une alternative si mon objectif s'avère impossible.

    -----

  2. #2
    kevin8z

    Re : Comment séparer un signal Audio 44050Hz et deux signaux 22100Hz?

    Salut, peut être une idée mais pas sur, si tu utilisé un démultiplexeur, et ça fréquence de commande serait de 44KHZ.

  3. #3
    igal

    Re : Comment séparer un signal Audio 44050Hz et deux signaux 22100Hz?

    Merci beaucoup pour l'idée Kevin8z (Je la garde sous le bras au cas ou)

    Par contre, je voulais savoir si il est possible d'intervenir non pas au niveau des signaux D0 à D7, mais plutôt sur la partie SON (juste après le DAC (Covox)).
    Ce qui implique de séparer littéralement 1 frame Audio sur 2, et non pas 8Bits par 8Bits comme le nécessiterait un démultiplexeur sur D0 à D7.
    J'ai modifié légèrement mon dessin de sorte à mieux coller à ce que je voudrais faire.
    Je te remercie déjà de t'être impliqué.
    Nom : stereo.png
Affichages : 498
Taille : 19,9 Ko

    Si t'as une autre idée, je suis preneur

  4. #4
    kevin8z

    Re : Comment séparer un signal Audio 44050Hz et deux signaux 22100Hz?

    Ha oui donc si tu augmente la fréquence pour le démultiplexeur, vue que tu veut prendre un bit sur 2, tu augmente la fréquence de commande de 8*44= 352KHZ.

  5. A voir en vidéo sur Futura
  6. #5
    PA5CAL

    Re : Comment séparer un signal Audio 44050Hz et deux signaux 22100Hz?

    Il existe des démultiplexeurs analogiques.

    Toutefois, qu'il s'agisse d'un multiplexage numérique ou analogique, la principale question à régler est la synchronisation de celui-ci avec le flux audio (numérique ou analogie) entrant.

    Il faudrait donc pouvoir générer deux signaux d'horloge à 22050 kHz, déphasées, dont le front actif intervient au moment où l'information audio du canal correspond est présente à l'entrée du dispositif.

    Il faut par conséquent que le MSX fournisse directement ces deux signaux, ou bien des signaux permettant de les produire.

    Serait-il possible de récupérer une horloge à 44100 kHz issue de la validation des données numériques sur le port parallèle du MSX ? Autrement dit, y a-t-il un signal STROBE actif qui arrive sur la prise de ton COVOX ?
    Dernière modification par PA5CAL ; 25/06/2012 à 10h49.

  7. #6
    igal

    Re : Comment séparer un signal Audio 44050Hz et deux signaux 22100Hz?

    @Kevin8z: Je suis désolé mais je pense que l'intitulé de mon POST prête à confusion. je ne souhaite faire qu'un seule chose.

    Séparé UNE "vague" sur DEUX qui est en sortie de mon COVOX.

    Tout ce qui se passe en amont n'est donné qu'à titre indicatif, pour comprendre le fonctionnement globale.

    Ce que je recherche, c'est à diviser en 2 mon signal AUDIO en sortie du COVOX, en envoyant de façon radicale, UNE impulsion AUDIO sur DEUX, chacune sur un canal différent.

    Cela ressemblerait à:

    Le logiciel PLAYSMP arrive à lire une musique avec une Fréquence maximal de 44100Hz.
    (Cela nécessite de basculer le MSX en 60Hz au lieu de 50Hz et de désactiver la fonction WAIT du processeur Z80 du MSX)

    L'astuce est la suivante:
    Plutôt que de lire un MUSIQUE MONO en 44Khz, je fais des musiques Stéréo à 22Khz.
    Au final, le processeur, au maximum de ses capacités, arrive à lire la Bande AUDIO sans se soucier de décoder du STEREO, mais simplement en alternant Canal Droit de la Bande sonore puis Canal gauche de la sonore.

    De ce fait, la Musique Stéréo à 22Khz en entrée, ressort du MSX à 44Khz Mono.
    J'ai pu démontrer sur le Forum du MsxVillage ici => http://www.msxvillage.fr/forum/topic...&id=893#m26223

    Voici une saisie d'écran sur AUDACITY avec le SON tel qu'il sort du COVOX.
    On y voit tout en haut, Un SON que j'ai précédemment créé en MONO 44Khz.
    En dessous, le même SON en 22 Khz sur le canal DROIT, et un SILENCE sur le Canal GAUCHE.
    Le plus bas, toujours le même SON en 22 Khz sur le CANAL GAUCHE, et le SILENCE sur le canal DROIT.
    Nom : synthesetopdepart.jpg
Affichages : 465
Taille : 119,7 Ko
    Ces testes prouvent que le logiciel Playsmpl li bien les Données tantôt Canal Droit, Tantôt Canal Gauche.

    La partie qui m'intéresse est la BANDE SON Stéréo à 22Khz qui ressort sur une Seul Canal en 44Khz tel que:

    La Piste MUSIQUE.RAW est en Stéréo à 22Kh.
    Elle contient CANAL DROIT 22050hz.
    Elle contient CANAL GAUCHE 22050hz.
    En sortie, j'ai une Musique MONO en 44100hz.

    J'ai donc besoin de "renvoyer" une ONDE AUDIO sur deux sur une CANAL et l'autre ONDE, sur un autre CANAL.
    Je ne sais pas si cela existe!

    @Pa5cal:
    Le port imprimante du MSX à bien une PIN STRB et une BUSY.
    Ces deux signaux n'étant pris en charge par aucun Logiciel ni aucun COVOX MSX, je n'ai absolument aucune idée sur la possibilité de l'exploiter, et dans tous les cas, cela dépasse mes capacités.
    C'est une des raisons pour lesquelles je cherche une solution Hardware.

    Dans l’expectative d'une solution comme je l'espère, il ne serait pas nécessaire de Top de synchronisation sauf pour diriger le Canal Droit à Droite, et le Canal Gauche à Gauche.
    Ce n'est absolument pas nécessaire à mon projet puisque je voudrais (hypothétiquement) juste envoyer UNE IMPULSION à DROITE et UNE IMPULSION à GAUCHE.
    Mais rigoureusement UNE sur DEUX!
    De la sorte, les deux Pistes du Stéréo Original serait redistribué sur deux canaux

    La vitesse de référence est 22050Hz, mais dans l'absolu, quelque soit la vitesse, le but est juste [Tantôt à droite, Tantôt à Gauche].
    Cette solution permettrait à ceux qui ont un MSX mais qui ne n'ont pas modé le Z80 avec le [NO WAIT] de pouvoir écouter des Musiques Stéréo à 20000Hz par exemple.

    En d'autres mots, un Montage électronique qui bascule à chaque impulsion DROITE puis GAUCHE puis DROITE puis GAUCHE etc etc...

    Merci de votre aide

  8. #7
    PA5CAL

    Re : Comment séparer un signal Audio 44050Hz et deux signaux 22100Hz?

    Citation Envoyé par igal Voir le message
    Dans l’expectative d'une solution comme je l'espère, il ne serait pas nécessaire de Top de synchronisation sauf pour diriger le Canal Droit à Droite, et le Canal Gauche à Gauche.
    Ce n'est absolument pas nécessaire à mon projet puisque je voudrais (hypothétiquement) juste envoyer UNE IMPULSION à DROITE et UNE IMPULSION à GAUCHE.
    Mais rigoureusement UNE sur DEUX!
    De la sorte, les deux Pistes du Stéréo Original serait redistribué sur deux canaux
    Il y a, à la base, une erreur d'appréciation sur la situation.

    Le port parallèle ne fournit pas des impulsions, mais des créneaux constitués des différents niveaux numériques successifs (tu aurais pu le mettre en évidence dans tes relevés avec Audacity si tu avais échantillonné les signaux à une fréquence plus élevée, 96kHz par exemple). Les créneaux analogiques produits sont ensuite « rabotés » par le filtre passe-bas du module COVOX, qui se présente sous la forme d'un condensateur placé à la suite de l'échelle résistive du CNA.

    D'une part, pour utiliser le CNA du module COVOX pour une sortie stéréo, il faudrait ôter le condensateur et ne filtrer les signaux qu'après la reconstitution des voies droite et gauche.

    D'autre part, les créneaux produits ne permettent pas de déterminer tout le temps à quel instant un niveau succède à l'autre (notamment lorsque les niveaux des voies droite et gauche sont égaux ou trop proches), et on ne peut donc pas s'en servir pour générer efficacement le basculement répété d'une voie sur l'autre. Même dans le cas où la différence entre les niveaux des voies droite et gauche est suffisante pour être détectée et pour générer un basculement, rien ne permet de faire la distinction entre les niveaux destinés à l'une ou l'autre des voies, et il n'est donc pas possible de se prémunir contre une interversion des voies quand les niveaux s'égalisent, surtout lorsque cela se produit sur une longue durée.


    À mon avis, les solutions hardware qu'on pourrait trouver ne sont guère que des emplâtres sur des jambes de bois, car pour la question de la stéréo, le mal a déjà été fait en amont, au niveau du logiciel et du module COVOX.

    Pour espérer résoudre simplement et efficacement le problème, il faudrait modifier le logiciel et refaire un module d'interface adapté.
    Dernière modification par PA5CAL ; 25/06/2012 à 16h02.

  9. #8
    igal

    Re : Comment séparer un signal Audio 44050Hz et deux signaux 22100Hz?

    Merci beaucoup pour ces éclaircissements Pascal.

    Je comprends tout à fait que la "bonne solution" se pose en amont.
    Malheureusement, je ne peux que me cantonner à tenter d'appliquer divers testes avec une approche complètement différente que les solutions traditionnelles software.

    Si je devais compléter le détail de mon intention, je dirais que:
    1) Il est pas nécessaire que tel BIT lu soit audible à droite, et que tel autre se fasse à gauche.
    2) Je suis persuadé qu'une simple séparation même approximative d'une fraction 1/44100 (env) de seconde suffirait très très largement à s'éloigner d'un rendu strictement Mono pour une "impression" stéréophonique.
    3) Je ne cherche surtout pas à m'attaquer en amont du signal [AUDIO] qui est audible juste après le condensateur.

    Le néophyte que je suis traduit cela par:
    chaque opération dure 1/44100 de seconde environ.
    A) Temps 1/44100, le signal [brut] récupéré juste après le condensateur est envoyé à [Gauche]
    B) Temps 2/44/100, le signal [brut] récupéré juste après le condensateur est envoyé à [Droite]
    C) Temps 3/44100, le signal [brut] récupéré juste après le condensateur est envoyé à [Gauche]
    D) Temps 4/44100
    E) Etc...etc...
    ZZZZ) Temps 44100/44100, le signal [brut] récupéré juste après le condensateur est envoyé à [Droite] (une seconde est écoulée)

    Je n'ai pas besoin d'une précision absolue [un sur deux], mais simplement que la plus grande partie des 44100 fractions de secondes soit séparées.

    Merci de ton aide

Discussions similaires

  1. Tratitement de Signal Matlab/ Separer 2 signaux
    Par invitef2853e5d dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 19/10/2009, 17h49
  2. comment obtenir le signal un fichier audio sur scilab
    Par invite43ebc126 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 31/01/2008, 17h08
  3. Separer un signal audio correler
    Par invite4551b321 dans le forum Électronique
    Réponses: 0
    Dernier message: 16/06/2007, 21h11
  4. Comment séparer deux espèces chimiques d'une solution ?
    Par invite2ba87eec dans le forum Chimie
    Réponses: 14
    Dernier message: 22/11/2006, 19h00
  5. separer les plages d'un album audio
    Par inviteddd9dda6 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 31/10/2003, 09h27
Découvrez nos comparatifs produits sur l'informatique et les technologies.