SHELL a corriger

Résolu
Bonjour,

Je suis ultra débutant en linux UBUNTU.

Mon but est uniquement de transformer des fichier midi en fichiers HYDROGEN (extension h2song).

J'ai fait un disque de boot UBUNTU car je ne souhaite pas installer Ubuntu sur ma machine pour l'instant (ou alors en machine virtuelle).

J'ai téléchargé le SCRIPT qui permet la transformation et j'ai modifié le PATH.

Voici le script :

# use:
export PATH=$PATH:$home/tmp/moi
echo $PATH
python midi2hydrogen.py input.mid output.h2song

Dans le dossier /tmp/moi, j'ai mis les fichiers qui semblent nécessaires.

Quand je lance la commande j'ai le retour suivant :

ubuntu@ubuntu:~$ # use:
ubuntu@ubuntu:~$ export PATH=$PATH:$home/tmp/moi
ubuntu@ubuntu:~$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/tmp/moi
ubuntu@ubuntu:~$ python midi2hydrogen.py input.mid output.h2song
python: can't open file 'midi2hydrogen.py': [Errno 2] No such file or directory
ubuntu@ubuntu:~$

Pouvez-vous me donner le script qui fonctionne ?

Lerci d'avance

Francois

7 réponses

  1. Contributeur
    Salut,

    J'ai téléchargé le SCRIPT
    Quel script ? midi2hydrogen.py ?
    et où l'as-tu téléchargé ? (un lien si possible)

    0
    1. Bonjour,

      j'ai téléchargé le fichier (je ne sais plus sur quel site, j'essaie de retrouver)

      midi2hydrogen.tar.gz

      puis je l'ai décompacté.

      Merci pour l'aide
      0
      1. Voila, j'ai retrouvé la source :

        http://ubuntuforums.org/showthread.php?t=800118
        0
        1. Contributeur
          C'est bon entre-temps je l'ai trouvé, là ;-)

          J'ai aussi téléchargé un fichier .mid pour faire un test et voilà le résultat ;-(

          $ python midi2hydrogen/midi2hydrogen.py EspanjaPrelude.mid EspanjaPrelude.h2song
          
          Traceback (most recent call last):
          File "midi2hydrogen/midi2hydrogen.py", line 152, in <module>
          for battuta in range(event_handler.size()):
          File "midi2hydrogen/midi2hydrogen.py", line 99, in size
          return self.duration()/self.maxDim + 1
          File "midi2hydrogen/midi2hydrogen.py", line 102, in duration
          return self.melodia[-1][0]
          IndexError: list index out of range
          0
        2. Aïe zipe,

          C'est peut-être le fichier...

          Essaies avec celui-ci :
          c.hartmann.perso.sfr.fr/guitare/midi/128bald3.mid
          ;)
          0
        3. Contributeur
          Hi new,

          Pas mieux ;-((

          J'avais quand même essayé avec d'autres .mid aussi ;-\

          J'ai même essayé avec la version perl du programme et c'est guère mieux ;-((

          $ perl midi2hydrogen.pl EspanjaTango.mid EspanjaTango.h2song
          Can't locate MIDI.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at midi2hydrogen.pl line 53.
          BEGIN failed--compilation aborted at midi2hydrogen.pl line 53.
          Même après un "sudo aptitude install libmidi-perl" suivi d'un "sudo perl -MCPAN -e 'install XML::Simple'" j'ai encore "Can't locate local/lib.pm in @INC" ;-(

          Donc j'arrête là... désolé ;-\
          0
        4. Curieux...

          Fonctionne chez moi avec le fichier mis en lien :
          jp@jp-Aspire-4810T:~$ python /home/jp/ProgsJP/midi2hydrogen/midi2hydrogen.py /home/jp/Téléchargements/128bald3.mid /home/jp/Téléchargements/128bald3.h2song
          
          Done !
          0
        5. Contributeur
          Étrange effectivement ;-\

          Par contre j'ai mis un temps à me situer à cause du "/home/jp/ProgsJP/", j'ai exactement le même à la maison ;-)))

          $ whoami
          jp

          $ ls /home/
          jp lost+found
          0
      2. Salut,
        le lien fourni un script Perl et pas Python....
        0
        1. Bonjour,

          comme je l'ai dit, je suis ultra débutant. Pour lancer la commande j'utilise CTRL+ALT+T

          Si ce n'est pas ça, que faut-il que j'utilise ?

          Merci

          François
          0
          1. Contributeur
            Il faut surtout que tu lances le programme depuis le répertoire (ou dossier) où il se trouve, ainsi que ton/tes fichier(s) à convertir.
            0
        2. Merci ZIPE31

          toutefois si je prends la ligne de commande, j'ai une réponse : "Command not found".

          Je pense que c'est un problème de PATH.

          Dans quoi dois-je mettre le tout (fichiers py et midi) pour que ça fonctionne ?

          merci encore

          françois
          0
          1. Contributeur
            Oups j'avais zappé ta réponse (et demande) avec nos bêtises (au Gnou et à moi) ;-\

            Donc pour résumer...
            - Chez moi, je suis dans un répertoire temporaire que j'ai créé (trash (mais le nom importe peu)).
            - Dans ce répertoire j'ai téléchargé le fameux programme "midi2hydrogen.tar.gz" que j'ai dézippé, ce qui m'a créé un nouveau répertoire nommé "midi2hydrogen" qui contient le programme "midi2hydrogen.py" proprement dit.
            - Toujours dans "trash" j'ai téléchargé des musiques ".mid".
            - Ensuite j'ai lancé la commande depuis le répertoire "trash" comme suit :

            python midi2hydrogen/midi2hydrogen.py fichier.mid fichier.h2song

            Comme tu peux le voir, il faut donner à python le chemin complet vers le programme "midi2hydrogen/midi2hydrogen.py" et il faut que tes fichiers soient dans le même répertoire de base (trash pour mon exemple)
            0
          2. avec nos bêtises
            Je ne suis pas concerné (en un seul mot !)...
            :D
            0
          3. Contributeur
            ;-))
            0
        3. Merci a tous,

          j'ai trouvé (heureusement que j'ai beaucoup pratiqué MS-DOS)

          En résumé voici la ligne de commande :

          cd /home/ubuntu/Téléchargements/midi2hydrogen
          python midi2hydrogen.py 128bald3.mid 128bald3.h2song

          Super et encore merci a tous.
          0
          1. Contributeur
            Par contre si tu as plusieurs fichiers à convertir il serait peut être préférable de passer par une boucle...

            $ for fic in *.mid ; do python midi2hydrogen/midi2hydrogen.py "${fic}" "${fic%.*}.h2song" ; done
            0