Skip to main content

7 - Développer/traduire/documenter/annoncer une application


PyFeld - randomise ton Blofeld comme un pro

France
Salut !

Je viens tout juste de terminer la permière version de PyFeld, un petit soft qui ne fonctionne qu'avec l'excellent synthé Blofeld de Waldorf :
http://www.waldorf-music.info/en/blofeld-overview

Codé n'importe comment en Python 3 et utilisatant la bibliothèque python-rtmidi :
https://pypi.python.org/pypi/python-rtmidi

Voici donc le lien de mon dépôt Github :
https://github.com/rokn311/PyFeld
France
 info
Sujet déplacé dans la catégorie adéquate de forum.

Merci pour la partage.
Tu nous expliques à quoi il sert en français ?
France
Et bien j'ai acquis un Blofeld ya quelques temps déjà, et je le trouve vraiment excellent, c'est un vrai monstre de synthèse qu'on pose dans le coin du bureau et qui peut habilement faire office de 16 synthés (il est multi timbral).

Bref, une tuerie.

Seulement voilà, pour bidouiller le Blofeld, il faut aller chercher tout les paramètres voulus dans une matrice interne. Dans l'absolu c'est assez bien foutu, assez pour qu'avec seulement 7 potars (+ 1 de volume) on arrive a accéder à tout les paramètres et modulations, et ils sont énormes (possibilité de router presque n'importe quoi vers presque n'importe où, un peu à la manière d'un synthé modulaire... mais sans câbles :-P ).
Comme c'est très complet et qu'on peut s'y perdre un peu, les mecs de chez Waldorf ils ont pensé à un truc génial : la possibilité de randomiser tout les paramètres ! Je trouve cette idée géniale... mais elle a ses limites.

En effet, la limite de la randomisation "manuelle" c'est que :
1) Il faut appuyer sur 2 boutons, naviguer avec un potar, appuyer sur les 2 même boutons,
2) La randomisation affecte tout les paramètres, impossible de ne randomiser que les oscillateurs par exemple.

Je me suis donc demandé s'il existait un soft qui permettrait de randomiser que certaines parties, et je suis donc parti à la recherche d'un tel soft armé d'une machette et d'un chapeau...
... et effectivement, il existe des softs, mais :

1) MonstrumFeld : payant, cher, pas de randomisation "unique"
2) xtor : pas de randomisation du tout
3) Guru + Blofeld definitions (http://bit.ly/1M9lwHA et http://bit.ly/1L87R2A, trouvés ici : http://bit.ly/1j84aE8) : top, mais requière Renoise (que je conseille vivement au passage)

Pas de soft qui permette de ne randomiser qu'une seule partie... 😧

Comme j'étudie le Python depuis quelques temps déjà, je me suis dis que c'était la bonne occasion de faire un exercice cool, alors je me suis lancé dans le développement d'un petit soft qui permette de ne randomiser que quelques parties dans un premier temps, ce que fait la version 0.1 actuellement en ligne.

La version 0.1 est très soft, elle ne permet que d'accéder aux contrôles de base, pas d'influer sur le routage des modulations, les effets et les parties avancées du arpeggiateur... mais ça viens, ça viens 😉

Alors comment ça fonctionne ?
Pour ça il faut avoir installé l'interpréteur python3 ainsi que la lib python-rtmidi
Ensuite :

1) Tu branches ton Blofeld en USB (j'ai pas testé avec une connexion midi),
2) Tu lances le soft (pyfeld_main.py pour la version 0.1),
3) Tu choisis le ou les paramètres que tu veux randomiser,
4) Tu cliques sur "Send".

Je n'ai testé que sous Archlinux avec une connexion USB, je ne sais pas du tout si ça fonctionne avec Windows ou Mac, mais j'attends d'éventuels retours 😉

Note :
Je suis en train de rebidouiller la soft, d'ajouter les paramètres SysEx (pour plus de randomisation en profondeur) et des options de sauvegarde.
Je vais aussi remplacer l'actuelle liste (ver 0.1) par des boutons, plus simple, plus souple, plus mieux.
France
salut RoKN, et merci pour cette explication.
J'ai ajouté un lien vers ici dans la page Waldorf Blofeld.
Sache que tu peux créer une page pour ce logiciel sur linuxmao si tu veux lui donner un peu de visibilité. Il me semble avoir lu que quelques membres ici semblent se l'être procuré ce BlodFeld, il pourrait donc t'aider pour le débogage.

En tout cas, bravo à toi !
Suisse
Une petite question :
comment j'installe ce module python-rtmidi sur une distrib linuxMint (base Ubuntu) ?
PArce que je me retrouve toujours avec ceci :

Copy to clipboard
Traceback (most recent call last): File "./pyfeld_main.py", line 20, in <module> import rtmidi ImportError: No module named 'rtmidi'


Avec une install normale, il me le met dans /usr/local. Et j'ai le même message d'erreur.
Je préfèrerais nettement dans l'usr tout court.
En te remerciant
France
Tu as essayé de l'installer en passant par pip3 ?
Copy to clipboard
sudo pip3 install python-rtmidi

Si pip3 n'est pas installé :
Copy to clipboard
sudo apt-get install python3-pip

Suisse
Bob ben pas moyen.
En utilisant pip3 j'ai une erreur car il ne trouve pas Python.h

Et je ne peut pas installer Python3.4-dev car il manque la python3.4-stdlib.

J'ai bien activé les dépôts sources pour info.
France
Je ne connais pas Mint, je ne sais pas si leurs dépôts sont propres à Mint ou sont les mêmes que Debian et Ubuntu.
Que donne un :
Copy to clipboard
sudo apt-get install python3

Suisse
Ouaip,
A veux pas parce que, c'est la 3.4. Et une question de python-stdlib
Donc directement à voir avec GCC.
Et je pense, qu'utilisant une version LTS, je devrais attendre.

MAis c'est curieux tout de même.

Tu es sous quelle distrib ?
France
Même en python2.7 tu n'arrives pas à chopper python-rtmidi ?

Testé sous Archlinux.
Suisse
si je tape en console :
Copy to clipboard
python puis import rtmidi


C'est ok. Pas de message d'erreur.

Maintenant depuis le répertoire PyFeld-masters

Copy to clipboard
./ pyfeld_main.py Traceback (most recent call last): File "./pyfeld_main.py", line 20, in <module> import rtmidi ImportError: No module named 'rtmidi'


ou encore

Copy to clipboard
python pyfeld_main.py Traceback (most recent call last): File "pyfeld_main.py", line 23, in <module> from tkinter import * ImportError: No module named tkinter


tkinter est installé
France
Il faut différencier python2 et python3.
Ton environnement par défaut doit être python 2, le module tkinter en python3 st appelé "tkinter" alors qu'en python2 c'est "Tkinter" (la majuscule fait la différence).
Lance soit comme ceci :
Copy to clipboard
./pyfeld_main.py

soit :
Copy to clipboard
python3 pyfeld_main.py

... seulement, apparemment chez toi tu peux pas installer python3, or j'ai bidouillé Pyfeld en python3 😕
France
J'ai trouvé ce qui pourrait être la solution !
D'abord :
Copy to clipboard
sudo pip2 install python-rtmidi

Ensuite, édite mon code en remplaçant :
from tkinter import *
En :
from Tkinter import *
Chez moi ça marche (en Python2)
Suisse
Fait et cela roule

Copy to clipboard
pip2 install python-rtmidi Requirement already satisfied (use --upgrade to upgrade): python-rtmidi in /usr/local/lib/python2.7/dist-packages/python_rtmidi-0.5b1-py2.7-linux-x86_64.egg Cleaning up...


En gros, n'étant paas familier de python, cela me dit que c'est OK

Puis si je lance en ayant modifié : import tkinter -> import Tkinter

Copy to clipboard
./pyfeld_main.py Traceback (most recent call last): File "./pyfeld_main.py", line 20, in <module> import rtmidi ImportError: No module named 'rtmidi'


Par contre :

Copy to clipboard
python2 pyfeld_main.py

me lance le prog.

Voilà et en te remerciant.
France
Avec plaisir 😉
je suis pas développeur, je bricole, bidouille et découvre, ravi d'avoir réglé le soucis 😊

Je précise encore que c'est la première version ça, fonctionnelle mais moche et assez restreinte comparé aux possibilités de contrôle du Blofeld.
Il sera plus intéressant quand j'aurai pris le temps d'implémenter la randomisation des modulations et des effets.
Suisse
Je pense que tu utilise les sysex pour ce faire.
Est-il envisageable d'en faire un logiciel pilotant tous les contrôles de ce synthé ?

Je ne développe pas en Python, mais je trouve ce language pas mal du tou, maintenant que j'ai un eemple concret devant les yeux.
France
Justement, actuellement ça ne gère que les CC, pas encore les SysEx.
Suisse
Ce serait cool de voir cela. Je vais voir si je trouve le Midi SHeet.
Suisse
OK. je viens de trouver en même temps que toi le fichier blofeld_sysex.
Tu souhaiterais pousser plus loin ce "petit" programme ?
Page: 1/2  [Suivant]
1  2