issue124:python
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue124:python [2017/08/29 08:11] – d52fr | issue124:python [2017/08/30 11:42] (Version actuelle) – auntiee | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
Michael’s project includes a case, amplifier and speaker, but I’m not going to deal with those, since this is a discussion on using the RPi. I’ll leave those items to you to figure out. I’m using the HDMI audio out and it works just fine, with the exception of being tethered to the monitor by the HDMI cable.** | Michael’s project includes a case, amplifier and speaker, but I’m not going to deal with those, since this is a discussion on using the RPi. I’ll leave those items to you to figure out. I’m using the HDMI audio out and it works just fine, with the exception of being tethered to the monitor by the HDMI cable.** | ||
- | Le mois dernier, je vous ai donné des informations de base sur la bibliothèque GPIOZERO en préparation du programme de boîte à musique qui utilise le RPi, le MCP3008 du mois dernier, trois potentiomètres et un certain nombre d' | + | Le mois dernier, je vous ai donné des informations de base sur la bibliothèque GPIOZERO en préparation du programme de boîte à musique qui utilise le RPi, le MCP3008 du mois dernier, trois potentiomètres et un certain nombre d' |
- | Le projet de Michaël comprend un boîtier, un amplificateur et un haut-parleur, | + | Le projet de Michaël comprend un boîtier, un amplificateur et un haut-parleur, |
**The first thing you need to do is install Fluidsynth from the Add/Remove program on the RPi. Next, you need to add the pyfluidsynth python library. | **The first thing you need to do is install Fluidsynth from the Add/Remove program on the RPi. Next, you need to add the pyfluidsynth python library. | ||
Ligne 15: | Ligne 15: | ||
Hopefully, you still have the MCP3008 Analogue to Digital converter wired up from last month’s potentiometer project. | Hopefully, you still have the MCP3008 Analogue to Digital converter wired up from last month’s potentiometer project. | ||
- | La première chose que vous devez faire est d' | + | La première chose à faire est d' |
pip install pyfluidsynth | pip install pyfluidsynth | ||
Ligne 42: | Ligne 42: | ||
Pour ce projet, vous avez besoin : | Pour ce projet, vous avez besoin : | ||
- | • du Raspberry Pi | + | • du Raspberry Pi, |
- | • d'une plaque d' | + | • d'une plaque d' |
- | • de cavaliers | + | • de cavaliers, |
- | • du MCP3008 | + | • du MCP3008, |
- | • d'une LED | + | • d'une LED, |
- | • d'une résistance de 220 Ω | + | • d'une résistance de 220 Ω, |
- | • de 3 potentiomètres de 10 kΩ | + | • de 3 potentiomètres de 10 kΩ, |
- | • de 9 boutons-poussoirs | + | • de 9 boutons-poussoirs. |
- | Les potentiomètres ont tous une patte reliée à la masse, une au 3,3 Vdc et le curseur connecté aux bornes 1, 2, 3 du MCP3008. Les poussoirs ont tous une sortie branchée à la masse, et les autres connectées aux picots 5, 23, 13, 6, 12, 16, 19, 20 et 21 du GPIO (bornes physiques 29, 16, 33, 31, 32, 36, 35, 38 et 40). La cathode de la LED est connectée à la masse et l' | + | Les potentiomètres ont tous une patte reliée à la masse, une au 3,3 vDC et le curseur connecté aux bornes 1, 2, 3 du MCP3008. Les poussoirs ont tous une sortie branchée à la masse, et les autres connectées aux picots 5, 23, 13, 6, 12, 16, 19, 20 et 21 du GPIO (bornes physiques 29, 16, 33, 31, 32, 36, 35, 38 et 40). La cathode de la LED est connectée à la masse et l' |
**The Code | **The Code | ||
Ligne 72: | Ligne 72: | ||
Le code | Le code | ||
- | Le code est assez long ; aussi, je ne vais pas l'inclure ici. Cependant, | + | Le code est assez long ; aussi, je ne vais pas tout inclure ici. Cependant, |
- | Bien sûr, la première chose que fait Michaël, ce sont les imports | + | Bien sûr, la première chose que fait Michaël, ce sont les imports |
from __future__ import division | from __future__ import division | ||
Ligne 121: | Ligne 121: | ||
fs.start(driver=' | fs.start(driver=' | ||
- | Maintenant, voici la section de définition | + | Maintenant, voici la section de définition |
# Paramétrage des poussoirs pour la remise à zéro et l' | # Paramétrage des poussoirs pour la remise à zéro et l' | ||
Ligne 154: | Ligne 154: | ||
# Définition des potentiomètres | # Définition des potentiomètres | ||
- | pot0 = MCP3008(channel=2) # Contrôle du volume | + | pot0 = MCP3008(channel=2) # Contrôle du volume. |
- | pot1 = MCP3008(channel=1) # Sélection de l' | + | pot1 = MCP3008(channel=1) # Sélection de l' |
- | pot2 = MCP3008(channel=0) # Changement d' | + | pot2 = MCP3008(channel=0) # Changement d' |
- | La routine load_soundfonts() (en haut à droite) va traverser | + | La routine load_soundfonts() (en haut à droite) va parcourir |
- | La routine suivante (page précédente, | + | La routine suivante (page précédente, |
- | Voici là où Michaël paramètre les actions pour chacun des poussoirs musicaux. De base, il y a les actions « when-pressed | + | C'est ici que Michaël paramètre les actions pour chacun des poussoirs musicaux. De base, il y a les actions « when_pressed |
**# Assign actions to when_pressed for each button | **# Assign actions to when_pressed for each button | ||
Ligne 201: | Ligne 201: | ||
pinky_finger.when_released = pinky_finger_stop | pinky_finger.when_released = pinky_finger_stop | ||
- | En examinant ce que fait la routine d' | + | En examinant ce que fait la routine d' |
**The way things work on a synth is that when a note key is pressed a noteon event is called and when it is released, a noteoff event is then called. | **The way things work on a synth is that when a note key is pressed a noteon event is called and when it is released, a noteoff event is then called. | ||
Ligne 207: | Ligne 207: | ||
In the following lines, Michael sets the note definitions for each button.** | In the following lines, Michael sets the note definitions for each button.** | ||
- | La façon dont les choses fonctionnent sur un synthétiseur est que, quand une touche | + | La façon dont les choses fonctionnent sur un synthétiseur est que, quand on appuie sur une touche, un événement noteon est appelé et quand elle est relâchée, un événement noteoff est appelé. (C'est pourquoi, parfois, quand vous écoutez un fichier midi sur un ordinateur, vous avez des notes qui semblent être accidentellement en appui permanent, les laissant jouer sans fin. L' |
Dans les lignes suivantes, Michaël définit la note de chaque poussoir. | Dans les lignes suivantes, Michaël définit la note de chaque poussoir. | ||
Ligne 236: | Ligne 236: | ||
Je pense que ceci vous donne une compréhension de base de ce que fait le code ; aussi, vous pouvez poursuivre et jouer avec le projet. | Je pense que ceci vous donne une compréhension de base de ce que fait le code ; aussi, vous pouvez poursuivre et jouer avec le projet. | ||
- | Une fois encore, merci à Michaël pour ce projet. | + | Une fois encore, |
Jusqu' | Jusqu' |
issue124/python.1503987115.txt.gz · Dernière modification : 2017/08/29 08:11 de d52fr