Brevet FR2963980A1 — publié le 20120224

La présente invention concerne un mélangeur de signaux audio. Chaque signal audioest fourni sous forme d'un signal numérique échantillonné comprenant une séquence de données, par exemple stockée dans une mémoire de stockage. A chaque signal audio numérique est associé une vitesse de lecture variable et un volume variable. Le mélangeur est apte à fournir en sortie un signal audio analogique résultant du mixage des signaux audio numériques selon leur vitesse et volume respectifs. Il est connu à ce jour de réaliser un tel mélangeur au moyen d'un processeur de traitement numérique de signal (« digital signal processor », DSP, en anglais). A un tel DSP, il faut ajouter pour chaque signal audio numérique en entrée un convertisseur de taux d'échantillonnage (« Sample Rate Converter », SRC en anglais). En sortie il convient de plus d'ajouter une mémoire RAM et un convertisseur numérique/analogique (« Digital Analog Converter », DAC en anglais). Une telle réalisation fait appel à des composants très coûteux, principalement le DSP et les SRC. Une solution alternative moins coûteuse est recherchée. L'invention a pour objet un mélangeur apte à mélanger au moins deux signaux audio numériques, chaque signal étant réglable indépendamment en vitesse S, comprenant pour chaque signal audio une ligne de traitement comprenant : - un lecteur apte à lire les données successives du signal audio numérique depuis une mémoire de stockage en fonction d'une variable vitesse S, - un bloqueur apte à conserver la dernière donnée lue par le lecteur, et encore - un sommateur apte à additionner les données traitées et issues desdites lignes de traitement des différents signaux audio, afin de produire un signal 25 somme, un convertisseur Sigma / Delta 1 bit apte à construire à partir du signal somme, un signal numérique 1 bit contenant le spectre du signal audio final, - un filtre du premier ordre apte à transformer ledit signal numérique 1 bit en un signal analogique audio final. 30 Selon une autre caractéristique de l'invention, chaque signal est encore réglable indépendamment en volume V, et le mélangeur comprend encore au moins un multiplicateur apte à multiplier indépendamment chaque donnée par une variable volume V associée. Selon une autre caractéristique de l'invention, le lecteur est apte à recevoir une 35 variable vitesse entière S et un signal horloge indiquant des cycles, et à lire, en séquence, depuis la mémoire de stockage, une donnée successive d'un signal audio tous les S cycles. Selon une autre caractéristique de l'invention, le lecteur est apte à lire, depuis la mémoire de stockage, les données d'un signal audio de manière cyclique, la première donnée après la dernière. Selon une autre caractéristique de l'invention, le bloqueur comprend au moins une mémoire de la taille d'une donnée par signal audio, conservant la dernière donnée lue par le lecteur afin qu'elle soit lisible en permanence par le multiplicateur. Selon une autre caractéristique de l'invention, chaque ligne de traitement comprend un multiplicateur. Selon une autre caractéristique de l'invention, un unique multiplicateur est 10 séquentiellement utilisé pour toutes les lignes de traitement. Selon une autre caractéristique de l'invention, le sommateur et le convertisseur fonctionnent selon une même horloge de fréquence grande devant la fréquence d'échantillonnage des signaux audio numériques. Selon une autre caractéristique de l'invention, les lecteurs, les bloqueurs, le ou 15 les multiplicateurs, le sommateur et le convertisseur sont réalisés au moyen d'un composant programmable, tel un CPLD (abréviation anglaise de « Complex Programmable Logic Device », soit un circuit logique complexe programmable). L'invention concerne encore un bruiteur comprenant un tel mélangeur. 20 D'autres caractéristiques, détails et avantages de l'invention ressortiront plus clairement de la description détaillée donnée ci-après à titre indicatif en relation avec la figure 1, qui illustre un mode de réalisation d'un mélangeur selon l'invention. Un mélangeur est apte à mélanger un nombre n quelconque (n étant au moins égal à 2) de signaux audio numériques. La figure 1 illustre un mélangeur recevant trois 25 signaux audio numériques. Chaque signal audio est réglable indépendamment en vitesse de lecture au moyen d'une variable vitesse S (3, 13, 23) respectivement associée au signal audio numérique. Il peut de plus être réglable indépendamment en volume au moyen d'une variable volume V (6, 16, 26) respectivement associée au signal audio numérique concerné. Ces variables peuvent évoluer en temps réel. 30 Chaque signal audio est fourni sous forme numérique, échantillonné selon une fréquence d'échantillonnage Fs qui lui est propre et peut différer d'un signal à l'autre. Chaque échantillon de signal audio ou donnée est stockée, avantageusement en séquence temporelle. Ce stockage est par exemple réalisé au moyen d'une mémoire de stockage 1, 11, 21, qui est interfacée en entrée du mélangeur. 35 Afin de traiter ces signaux numériques, le mélangeur comprend une ligne de traitement associée à chaque signal audio numérique. Chaque ligne de traitement comprend un lecteur 2, 12, 22. Un lecteur 2, 12, 22 est apte à lire les données successives du signal audio numérique depuis la mémoire de stockage 1, 11, 21. Cette lecture est réalisée en fonction d'une variable vitesse 3, 13, 23 et d'un signal d'horloge 4 du mélangeur. Une donnée lue par le lecteur 2, 12, 22 est transmise à un bloqueur 5, 15, 25. Ce bloqueur 5, 15, 25 à en charge de conserver la dernière donnée lue par le lecteur 2, 12, 22 et de la rendre disponible à tout moment pour le composant suivant, typiquement un multiplicateur 7, 17, 27. Le multiplicateur 7, 17, 27 est apte à multiplier ladite dernière donnée lue, conservée par le bloqueur 5, 15, 25, par la variable volume V (6, 16, 26) associée au signal audio. Du fait de la présence du bloqueur 5, 15, 25, chaque ligne de traitement est, à tout moment, apte à fournir une donnée actualisée du signal audio numérique, lue à une vitesse S donnée, quelle que soit cette vitesse S et quelle qu'était la fréquence d'échantillonnage Fs initiale dudit signal audio numérique. A l'issue des lignes de traitement, le mélangeur comprend encore un sommateur 30 apte à additionner les données traitées afin de produire un signal somme 34 et un convertisseur Sigma / Delta 1 bit 31 apte à construire à partir du signal somme 34, un signal numérique 1 bit 35. Il est remarquable selon l'invention que ledit signal numérique présente un spectre fréquentiel correspondant au signal audio final 36 que l'on souhaite obtenir. Le mélangeur comprend encore un filtre du premier ordre 32, tel un circuit oscillant LC, apte à transformer ledit signal numérique 1 bit 35, ou signal spectral en un signal spatial correspondant, qui est le signal analogique audio final 36, résultant du mélange des signaux audio numériques, que l'on souhaite. Selon un premier mode de réalisation, la mémoire de stockage 1, 11, 21 est subdivisée en zones de mémoire. Cette mémoire peut être par exemple de la mémoire Flash et une zone de mémoire est alors une page de mémoire Flash. Une zone de mémoire est avantageusement allouée à chaque signal audio. Ainsi un lecteur 2, 12, 22 peut être directement interfacé avec une zone mémoire, par une liaison ou bus, série ou parallèle. Selon un second mode de réalisation, la mémoire de stockage est unique. Les lecteurs 2, 12, 22 présentent alors une interface apte à gérer logiquement les différents signaux audio par un adressage adapté. Pour revenir à un point clé qui permet le mixage de signaux de fréquence d'échantillonnage pouvant être différentes et à des vitesses de lectures S variables, un lecteur 2, 12, 22 est piloté par signal horloge 4, commun aux autres composants du mélangeur. Un signal horloge 4 est typiquement un signal train binaire indiquant les cycles de fonctionnement. Un lecteur 2, 12, 22 est encore piloté par une variable vitesse S (3, 13, 23). La valeur S entière de la vitesse est utilisée comme un diviseur de fréquence. Ainsi un lecteur 2, 12, 22 lit depuis la mémoire de stockage 1, 11, 21, la ième donnée correspondant à un signal audio numérique. Ensuite, il va lire la i+lème dans la séquence d'enregistrement dudit signal audio numérique. Cependant une lecture n'est ainsi effectuée que tous les S cycles. Ceci est par exemple mis en oeuvre au moyen d'un compteur de cycles. Ce compteur est initialisé à la valeur S immédiatement après une lecture (ième donnée) et décrémenté de 1 à chaque cycle indiqué par le signal d'horloge 4. Une nouvelle lecture peut être réalisée lorsque ledit compteur s'annule. Ainsi un signal peut être lu, en séquence, selon une vitesse effectivement 10 réalisée différente de sa vitesse initiale d'échantillonnage Fs et surtout indépendante de la vitesse de lecture des autres signaux audio numériques mélangés. Ainsi la vitesse effective de lecture depuis la mémoire de stockage 1, 11, 21 d'une donnée est donnée par la formule Veff = CLK /(Fs * S * N), avec Veff la vitesse effective de lecture d'une donnée, CLK la fréquence du signal d'horloge 4, c'est-à-dire 15 la fréquence à laquelle fonctionne le convertisseur 31, Fs la fréquence d'échantillonnage du signal audio numérique, N le nombre de bits par donnée, et S la variable « vitesse » utilisée pour modifier ladite vitesse de lecture effective. Ainsi, par exemple, pour un signal échantillonné selon une fréquence Fs de 44 100 Hz, un signal d'horloge, 4, à 32 MHz, et un mot de N = 16 bits par donnée, 20 on obtient une vitesse effective de lecture de 45 / S. Aussi une variable S égale à 45 produit une lecture à une vitesse effective proche de 1, soit sensiblement égale à la vitesse réelle. Un choix d'une variable S égale à 22 produit une lecture à une vitesse effective proche de 2, soit sensiblement double de la vitesse réelle. Selon un mode de réalisation avantageux, la zone de mémoire de la mémoire 25 de stockage 1, 11, 21 associée à un signal audio numérique est utilisée de manière cyclique. Ainsi, un lecteur 2, 12, 22 lit en séquence, après la dernière donnée de la zone de mémoire, à nouveau, la première donnée. Ceci permet avantageusement de prolonger pour une taille mémoire donnée, la durée d'un signal audio numérique. Il suffit alors de stocker au moins une période dudit signal audio numérique. 30 Selon un mode de réalisation particulier, un lecteur 2, 12, 22 est interfacé à la mémoire de stockage 1, 11, 21 au moyen d'un bus SPI (soit un bus de données série synchrone, « Serial Peripheral Interface » en anglais). Le lecteur 2, 12, 22 comprend alors les câblages, composants et/ou pilotes nécessaires au contrôle de cette interface. 35 Un signal audio numérique tel que fourni en entrée du mélangeur, est échantillonné selon une fréquence donnée Fs. Chaque échantillon est une donnée numérisée, par exemple au format 16 bits. Cette donnée correspond par exemple au format de stockage d'un signal numérique audio au format standard connu WAV. A .2963.980 5 titre indicatif, une fréquence d'échantillonnage est de l'ordre de quelques dizaines de kilohertz. Le bloqueur 5, 15, 25 est une entité fonctionnelle. Son rôleest de permettre le fonctionnement simultané de deux processus à des fréquences d'horloges très 5 différentes. II convient comme il est décrit plus loin, que le convertisseur 31 fonctionne à une fréquence sur échantillonnée. Afin d'adapter la différence entre la fréquence faible des lignes de traitement et particulièrement des lecteurs 2, 12, 22 et la fréquence plus élevée du convertisseur 31, il convient de disposer d'un bloqueur 5, 15, 25 entre les lecteurs 2, 12, 22 et le convertisseur 31. La fonction du bloqueur 5, 15, 25 est de maintenir la valeur produite par l'étage lent, tout en la gardant lisible, à tout instant, par l'étage rapide. Pour cela le bloqueur 5, 15, 25 comprend, par exemple, au moins une mémoire par signal audio numérique. Cette mémoire présente une taille au moins égale à celle d'une donnée de signal audio numérique. Cette mémoire conserve la dernière donnée issue du lecteur 2, 12, 22 et permet qu'elle soit lisible en permanence par le composant suivant, même à plus haute fréquence. Sur la figure 1 le bloqueur 5, 15, 25 est disposé, par exemple, entre le lecteur 2, 12, 22 et le multiplicateur 7, 17, 27. D'autres organisations sont possibles. Il convient qu'il soit disposé entre les lecteurs 2, 12, 22 et le convertisseur 31. Dans tous les cas, les composants situés en amont du bloqueur 5, 15, 25 fonctionnent à la basse fréquence des lecteurs 2, 12, 22, tandis que les composants situés en aval du bloqueur 5, 15, 25 fonctionnent à la haute fréquence du convertisseur 31. Selon un premier mode de réalisation, tel qu'illustré à la figure 1, un multiplicateur 7, 17, 27 est présent dans chaque ligne de traitement. Cependant, selon la technologie de réalisation, et particulièrement en logique programmable câblée de type CPLD, un multiplicateur 7, 17, 27 de signaux numériques peut être très coûteux à réaliser, en terme de cellules logiques élémentaires nécessaires. Un mode de réalisation alternatif avantageux consiste à réaliser un unique multiplicateur, et de le réutiliser successivement pour chacune des lignes de traitement en séquence. Ceci permet une économie substantielle de cellules logiques élémentaires. Selon une caractéristique importante de l'invention, il convient que le convertisseur 31 sur échantillonne. Pour cela le convertisseur 31 doit fonctionner à une fréquence élevée devant les fréquences d'échantillonnage Fs des différents signaux audio numériques et devant les fréquences de lecture effective des lecteurs 2, 12, 22. Les fréquences d'échantillonnage Fs des signaux audio numériques étant de l'ordre de quelques dizaines de kilohertz, cette fréquence est avantageusement supérieure à 1 MHz. Une fréquence supérieure, jusqu'à 32 MHz permet d'améliorer encore la qualité finale du signal audio analogique final 36. Une fréquence de 4 MHz apparaît être un bon compromis. Cette fréquence détermine l'horloge 4 principale qui cadence tous les composants du mélangeur et principalement le convertisseur 31. Selon le mode de réalisation de la figure 1, le sommateur 30, disposé en aval des bloqueurs 5, 15, 25, fonctionne aussi à la fréquence du convertisseur 31. Selon un mode de réalisation avantageux, répondant à l'objectif de réalisation à faible coût, il peut être utilisé un composant programmable 38, par exemple du type CPLD ou équivalent. Grâce aux choix de conception précédemment décrits, il peut être réalisé les lecteurs 2, 12, 22, les bloqueurs 5, 15, 25, le ou les multiplicateurs 7, 17, 27, le sommateur 30 et le convertisseur 31 au moyen d'un CPLD. En retenant le mode de réalisation à un seul multiplicateur multiplexé, il est possible de réaliser les fonctions précédentes avec moins de 600 cellules logiques élémentaires. Le signal analogique final 36, peut être directement utilisé dans un dispositif diffuseur de type casque audio ou haut parleur. II peut encore, en tant que de besoin, être amplifié de manière connue par un étage amplificateur 33 analogique. Cet amplificateur 33, réalisable par tout montage amplificateur connu, produit un signal amplifié 37. Le mélangeur selon l'invention peut être, par exemple, utilisé pour réaliser un 20 bruiteur. Pour cela il convient d'ajouter un dispositif diffuseur de type haut parleur et des moyens de détermination des variables vitesses et volume. Un tel bruiteur est par exemple utilisable afin de simuler des bruits de fonctionnement et d'avertissement à l'attention des piétons, pour un véhicule électrique, normalement silencieux. 25 REVENDICATIONS1. Mélangeur apte à mélanger au moins deux signaux audio numériques, chaque signal étant réglable indépendamment en vitesse S, caractérisé en ce qu'il comprend pour chaque signal audio une ligne de traitement comprenant : un lecteur (2, 12, 22) apte à lire les données successives du signal audio numérique depuis une mémoire de stockage (1, 11, 21), en fonction d'une variable vitesse S (3, 13, 23), un bloqueur (5, 15, 25) apte à conserver la dernière donnée lue par le ~o lecteur (2, 12, 22), et encore - un sommateur (30) apte à additionner les données traitées et issues desdites lignes de traitement des différents signaux audio, afin de produire un signal somme (34), 15 - un convertisseur Sigma / Delta 1 bit (31) apte à construire à partir du signal somme (34), un signal numérique 1 bit (35) contenant le spectre du signal audio final, un filtre du premier ordre (32) apte à transformer ledit signal numérique 1 bit (35) en un signal analogique audio final (36). 20 2. Mélangeur selon la revendication 1, où chaque signal est encore réglable indépendamment en volume V, et où le mélangeur comprend encore au moins un multiplicateur (7, 17, 27) apte à multiplier indépendamment chaque donnée par une variable volume V (6, 16, 26) associée. 3. Mélangeur selon la revendication 1 ou 2, où le lecteur (2, 12, 22) est apte à 25 recevoir une variable vitesse entière S (3, 13, 23) et un signal horloge (4) indiquant des cycles, et à lire, en séquence, depuis la mémoire de stockage (1, 11, 21), une donnée successive d'un signal audio tous les S cycles. 4. Mélangeur selon l'une quelconque des revendications 1 à 3, où le lecteur (2, 12, 22) est apte à lire, depuis la mémoire de stockage (1, 11, 21), les 30 données d'un signal audio de manière cyclique, la première donnée après la dernière. 5. Mélangeur selon l'une quelconque des revendications 1 à 4, où le bloqueur (5, 15, 25) comprend au moins une mémoire de la taille d'une donnée par signal audio, conservant la dernière donnée lue par le lecteur (2, 12, 22) afin qu'elle soit lisible en permanence par le multiplicateur (7, 17, 27). 35 6. Mélangeur selon l'une quelconque des revendications 1 à 5, où chaque ligne de traitement comprend un multiplicateur (7, 17, 27). 7. Mélangeur selon l'une quelconque des revendications 1 à 5, où un unique multiplicateur est séquentiellement utilisé pour toutes les lignes de traitement. 8. Mélangeur selon l'une quelconque des revendications 1 à 7, où le sommateur (30) et le convertisseur (31) fonctionnent selon une même horloge (4) de fréquence grande devant la fréquence d'échantillonnage des signaux audio numériques. 9. Mélangeur selon l'une quelconque des revendications 1 à 8, où les lecteurs (2, 12, 22), les bloqueurs (5, 15, 25), le ou les multiplicateurs (7, 17, 27), le sommateur (30) et le convertisseur (31) sont réalisés au moyen d'un composant programmable (38), tel un CPLD. 10. Bruiteur caractérisé en ce qu'il comprend un mélangeur selon l'une quelconque ~o des revendications précédentes.