Synthetiseur : Différence entre versions
Ligne 4 : | Ligne 4 : | ||
== Présentation du Projet Synthétiseur == | == Présentation du Projet Synthétiseur == | ||
− | On souhaite réaliser un synthétiseur simple à partir d'une plate-forme microprocesseur de la gamme Cortex M3 de référence LPC1768. Les caractéristiques du micro P seront | + | On souhaite réaliser un synthétiseur simple à partir d'une plate-forme microprocesseur de la gamme Cortex M3 de référence LPC1768. Les caractéristiques du micro P seront décrites plus loin. Retenons juste que celui-ci fonctionne à une vitesse CPU maximale de 100Mhz, qu'il possède un DAC et une liaison USB. Pour le commander, nous utiliserons une page web hébergée sur un serveur qui nous enverra les notes de musiques à transmettre vers l'instrument. On ajoutera une partie analogique au projet pour affiner et amplifier le signal final. |
− | Ce projet regroupe différents domaines de compétences, ce qui induit une conception simple et | + | Ce projet regroupe différents domaines de compétences, ce qui induit une conception simple et pouvant être optimisée. |
==Segmentation du projet== | ==Segmentation du projet== | ||
Ligne 52 : | Ligne 52 : | ||
[[Fichier:03.jpg |200px|thumb|centre|mbed Lab Board]] <br> | [[Fichier:03.jpg |200px|thumb|centre|mbed Lab Board]] <br> | ||
C'est l'élément principale du projet. Il devra assurer entièrement ces tâches: <br> | C'est l'élément principale du projet. Il devra assurer entièrement ces tâches: <br> | ||
− | *génération de formes d'ondes analogiques.<br> On doit pouvoir choisir quelques formes d' | + | *génération de formes d'ondes analogiques.<br> On doit pouvoir choisir quelques formes d'ondes dans une bibliothèque qui seront modulées au travers d'un LFO. La fréquence de ces ondes devra évidement correspondre précisément aux notes de musique de la gamme habituelle. |
*lecture d'informations quant aux modifications pour le LFO et la forme d'onde | *lecture d'informations quant aux modifications pour le LFO et la forme d'onde | ||
*assurer la communication avec le PC par liaison série USB | *assurer la communication avec le PC par liaison série USB | ||
Ligne 61 : | Ligne 61 : | ||
=== Partie électronique analogique=== | === Partie électronique analogique=== | ||
− | Nous devons réaliser un amplificateur audio faible puissance. Nous étudierons | + | Nous devons réaliser un amplificateur audio faible puissance. Nous étudierons quelles sont les caractéristiques de plusieurs montages en termes de qualité. Il est possible d'améliorer le son de ce synthétiseur en ajoutant entre le pré-amplificateur et l'amplificateur de puissance des étages particulier(filtrage, modulation...). On pensera à ajouter des potentiomètres permettant de faire varier la phase, la fréquence et la profondeur du LFO ainsi que des boutons pour choisir la forme de l'onde. |
− | === | + | ===Programme informatique=== |
− | Le code que nous allons développer devra assurer l'échange entre la page web et le microcontrôleur via la liaison série USB. On sait d'ores et déjà que l'utilisation d'un protocole MIDI | + | Le code que nous allons développer devra assurer l'échange entre la page web et le microcontrôleur via la liaison série USB. On sait d'ores et déjà que l'utilisation d'un protocole MIDI serait une amélioration propice (on pourrait jouer avec n'importe quel clavier maître!) |
==Journal de passerelle == | ==Journal de passerelle == | ||
===Semaine 1=== | ===Semaine 1=== | ||
− | Lors de la première semaine, nous élaborons le cahier des charges. Par ailleurs, nous travaillons sur la partie microprocesseur et la partie réseau qui nous paraissent être les | + | Lors de la première semaine, nous élaborons le cahier des charges. Par ailleurs, nous travaillons sur la partie microprocesseur et la partie réseau qui nous paraissent être les parties les plus difficiles. |
Pour l'instant en pratique: | Pour l'instant en pratique: | ||
*nous obtenons différentes formes d'ondes | *nous obtenons différentes formes d'ondes | ||
Ligne 82 : | Ligne 82 : | ||
====Note de bas de page:==== | ====Note de bas de page:==== | ||
SRAM: mémoire de stockage des données qui sont traitées pendant le temps d'exécution - mémoire volatile | SRAM: mémoire de stockage des données qui sont traitées pendant le temps d'exécution - mémoire volatile | ||
− | Flash: mémoire où le programme est stocké - non | + | Flash: mémoire où le programme est stocké - non volatil |
Version du 27 janvier 2015 à 22:14
Sommaire
Synthétiseur (Lu XIA et Hidéo VINOT)
Bibliographie sur le Synthétiseur 2012
Présentation du Projet Synthétiseur
On souhaite réaliser un synthétiseur simple à partir d'une plate-forme microprocesseur de la gamme Cortex M3 de référence LPC1768. Les caractéristiques du micro P seront décrites plus loin. Retenons juste que celui-ci fonctionne à une vitesse CPU maximale de 100Mhz, qu'il possède un DAC et une liaison USB. Pour le commander, nous utiliserons une page web hébergée sur un serveur qui nous enverra les notes de musiques à transmettre vers l'instrument. On ajoutera une partie analogique au projet pour affiner et amplifier le signal final. Ce projet regroupe différents domaines de compétences, ce qui induit une conception simple et pouvant être optimisée.
Segmentation du projet
Cortex M3 mbed NXP LPC1768 et Lab Board
Type Number | Flash | SRAM in kB | Ethernet | USB | CAN | I² | DAC | Maximum CPU Opérating fequency | |||
---|---|---|---|---|---|---|---|---|---|---|---|
CPU | AHM SRAM0 | AHM SRAM1 | Total | ||||||||
LPC 1768***/*** | 512kB | 32 | 16 | 16 | 64 | yes | Device/host/OTG | 2 | yes | yes | 100Mhz |
source page 4
C'est l'élément principale du projet. Il devra assurer entièrement ces tâches:
- génération de formes d'ondes analogiques.
On doit pouvoir choisir quelques formes d'ondes dans une bibliothèque qui seront modulées au travers d'un LFO. La fréquence de ces ondes devra évidement correspondre précisément aux notes de musique de la gamme habituelle. - lecture d'informations quant aux modifications pour le LFO et la forme d'onde
- assurer la communication avec le PC par liaison série USB
Partie réseau
Nous devons générer un code php/ajax qui permet de jouer un clavier maître ou une matrice représentant les notes d'un instrument de musique via une page web.
Partie électronique analogique
Nous devons réaliser un amplificateur audio faible puissance. Nous étudierons quelles sont les caractéristiques de plusieurs montages en termes de qualité. Il est possible d'améliorer le son de ce synthétiseur en ajoutant entre le pré-amplificateur et l'amplificateur de puissance des étages particulier(filtrage, modulation...). On pensera à ajouter des potentiomètres permettant de faire varier la phase, la fréquence et la profondeur du LFO ainsi que des boutons pour choisir la forme de l'onde.
Programme informatique
Le code que nous allons développer devra assurer l'échange entre la page web et le microcontrôleur via la liaison série USB. On sait d'ores et déjà que l'utilisation d'un protocole MIDI serait une amélioration propice (on pourrait jouer avec n'importe quel clavier maître!)
Journal de passerelle
Semaine 1
Lors de la première semaine, nous élaborons le cahier des charges. Par ailleurs, nous travaillons sur la partie microprocesseur et la partie réseau qui nous paraissent être les parties les plus difficiles. Pour l'instant en pratique:
- nous obtenons différentes formes d'ondes
- nous arrivons à moduler le signal avec un LFO
- nous pouvons synthétiser un la 440Hz
Étude théorique:
- recherche d'une solution pour ordonnancement des taches
- ajax
- php
Note de bas de page:
SRAM: mémoire de stockage des données qui sont traitées pendant le temps d'exécution - mémoire volatile Flash: mémoire où le programme est stocké - non volatil