Page 11 sur 11 PremièrePremière ... 7891011
Affichage des résultats 101 à 102 sur 102

Discussion: Python et la musique

  1. #101
    Modérateur Avatar de deb76
    Date d'inscription
    janvier 2007
    Localisation
    Haute-Normandie
    Messages
    3 280
    Bonjour,
    Hier j'ai eu une mauvaise surprise en constatant que l'interface Anaconda Navigator avec lequel je gère les scripts Python, et notamment ceux créés par Floyer avec ou sans Music21 se fermait immédiatement après son ouverture sur les Mac 21 et 27. Une fermeture dont je n'ai toujours pas compris la raison... Mais bon, sur le site, j'ai téléchargé la dernière version et installée en premier lieu sur l'Imac 21. Constat, Anaconda Navigator est à nouveau fonctionnel. En revanche, Music21 n'était plus reconnu. Même constat pour l'Imac 27 5K, à la seule différence que j'ai dû désinstaller Anaconda Navigator de son répertoire car sinon la nouvelle version ne s'installait pas, un message indiquant qu'en raison de la présence du programme il fallait effectuer la mise à jour à partir de ce dernier. Mais comme ce dernier se fermait immédiatement, c'était impossible. Heureusement, la suppression du répertoire a permis de réinstaller Anaconda Navigator.
    Mais à nouveau si Python tournait sans problème, Music21 n'était plus reconnu. Et très honnêtement, hier en souvenance des difficultés inhérentes à sa reconnaissance que j'avais connues, j'ai remis ça à ce matin.

    Et pour se faire, me rappelant que floyer avait donné la marche à suivre au message 65 de la page 7:
    Code:
    Je viens d'installer Anaconda sur un Mac "que pour moi"... après, tu peux taper dans une fenêtre "terminal"
    
    
    cd anaconda
    ./bin/pip install music21
    
    
    Et music21 est installé. 
    
    Si Anaconda est installé sur le disque dur pour tout le monde (on te demande dans ce cas un mot de passe), il faut taper :
    
    
    cd /anaconda
    ./bin/pip install music21
    
    
    (tout le monde peut alors utiliser Anaconda, mais seul celui qui l'a installé peut le compléter ainsi.)
    J'ai testé les deux procédures qu'il faut coller dans le Terminal. Pour l'Imac21, c'est la seconde qui a fonctionné et pour le 27, ce fut la première. Et, en lançant Anaconda Navigator, j'ai retrouvé d'une part Music21 mais aussi son total fonctionnement avec MuseScore.

    Bref, un grand merci à floyer car ses deux petites commandes sont très précieuses, elles permettent d'installer sans prise de tête Music21. Alors pour ceux qui souhaiteraient installer et travailler avec Python et Music21 sur Mac avec Anaconda Navigator, un conseil, sauvegarder bien ces deux commandes pour le terminal.

    PS : J'ai évoqué longuement ce problème afin de noter concrètement comment il a été résolu. Ca peut se révéler utile pour d'autres utilisateurs éventuels.
    Chroniques de la CAO (blog), Comprendre la Set Theory; Chroniques sur la découverte du Buchla200e; Bio Express (site);
    {CHARTE AK} {Mettre un avatar - tuto}

  2. #102
    rAKonteur Avatar de floyer
    Date d'inscription
    avril 2016
    Localisation
    Montigny le Bretonneux
    Messages
    1 449
    Content que cela serve... cela permet aussi d'installer pyaudio (./bin/pip install pyaudio) pour permettre à tes programmes d'accéder à la carte son.

    Ainsi, une synthèse FM à deux modulateurs :

    Code:
    import pyaudio
    import math
    import struct
    
    sampling_rate = 44100
    f1 = 440
    f2 = 880
    mod21 = 1.7
    buffer_size = 256
    
    audio = pyaudio.PyAudio()
    
    stream = audio.open(format = pyaudio.paInt16,
                        channels = 1,
                        rate = 44100,
                        output = True)
    
    phase=0
    
    for t in range(100):
        arr = b''
        for i in range(256):
            modulator = math.sin(f2*2*math.pi/sampling_rate*phase)
            signal = 30000 * math.sin(modulator*mod21 
                                      + f1*2*math.pi/sampling_rate*phase)
            phase += 1
    
            arr += struct.pack('h',math.trunc(signal))
    
        stream.write(arr)
    Cela fait beaucoup de lignes (de conversion, d'ouverture du device, etc). Mais tu reconnaitras la ligne "modulateur = ..." et la ligne "signal = ..." qui contiennent la logique de la synthèse.

    Un vrai programme remettrait la phase à zéro de temps en temps, lirait les sinus dans une table (au lieu de les calculer, etc.).

    L'idéal serait de marier avec PyQt pour avoir une interface graphique et un son avec lequel on interagirait...
    Dernière modification par floyer ; 01/09/2017 à 23h17.
    http://www.sinerj.org/~loyer/piano/
    It's never too late to learn to play the piano. (tip of the day)
    Avatar d'après une photo de David Maiolo (Creative Commons BY-SA 3.0)
    Yamaha CLP150, Reaper, Garritan CFX, plein d'autres pianos virtuels

Page 11 sur 11 PremièrePremière ... 7891011

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •