Synthetiseur : Différence entre versions
Ligne 52 : | Ligne 52 : | ||
[http://www.nxp.com/documents/data_sheet/LPC1769_68_67_66_65_64_63.pdf source] page 4 <br> | [http://www.nxp.com/documents/data_sheet/LPC1769_68_67_66_65_64_63.pdf source] page 4 <br> | ||
[[Fichier:00.jpg|200px|thumb|left|Cortex M3 mbed NXP LPC1768]] | [[Fichier:00.jpg|200px|thumb|left|Cortex M3 mbed NXP LPC1768]] | ||
− | [[Fichier:03.jpg |200px|thumb|centre|mbed Lab Board]] | + | [[Fichier:03.jpg |200px|thumb|centre|mbed Lab Board]] |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
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'onde dans une bibliothèque qui seront modulé 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. | *génération de formes d'ondes analogiques.<br> On doit pouvoir choisir quelques formes d'onde dans une bibliothèque qui seront modulé 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. | ||
Ligne 65 : | Ligne 58 : | ||
===Le programme informatique=== | ===Le 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 serai une amélioration propice. | |
===Partie réseau=== | ===Partie réseau=== |
Version du 27 janvier 2015 à 21:35
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écrite plus loin. Retenons juste que celui ci fonctionne à une vitesse de CPU maximale de 100Mhz, qu'il possède un DAC et une liaison USB. Nous utiliserons pour le commander une page web hébergé 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 optimisable.
Choix techniques : matériel et logiciel Voici un aperçu de la plateforme qui est mise à ma disposition:
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'onde dans une bibliothèque qui seront modulé 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. - assurer la communication avec le PC par liaison série USB
Le 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 serai une amélioration propice.
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 quels sont les caractéristiques de plusieurs montages en termes de qualité. Il est possible d'améliorer plusieurs points en ajoutant entre le pré-amplificateur et l'amplificateur de puissance des étages particulier(filtrage, modulation...).
Journal de passerelle
Semaine 1
Note de bas de page: - SRAM: mémoire pour stocker vos données qui sont traitées pendant le temps d'exécution (y compris les registres de pile, etc) - la mémoire volatile - Flash: mémoire dont votre programme stocké - non volatile