Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

4 - Toutes les autres applications, les émulateurs...

Dernier post

[RESOLU] Pas de son avec FluidSynth

DJPaolo Articles : 3 utilisateur non connecté
Bonjour à tous !

Tout d'abord, merci de m'avoir accueilli sur LinuxMAO via le mégaphone, c'est très sympa ! biggrin

Je travaille sur un projet dans lequel je dois créer un logiciel d'édition musical simple sur python. J'ai donc décidé d'utiliser FluidSynth pour gérer le son et importer des SoundFonts. Je créerai l'interface graphique (je n'utiliserai donc pas de logiciel comme QSynth).

J'utilise Ubuntu 17.10 (en machine virtuelle) et python 2.7.

Le problème est que quand je lance le programme ci-après (que l'on retrouve ici https://github.com/nwhitehead/pyfluidsynth ) dans l'IDLE, aucun son ne sort bien qu'aucun message d'erreur n'apparaisse...


import time
import fluidsynth

fs = fluidsynth.Synth()
fs.start()

sfid = fs.sfload("Rhodes.sf2")
fs.program_select(0, sfid, 0, 0)

fs.noteon(0, 60, 30)
fs.noteon(0, 67, 30)
fs.noteon(0, 76, 30)

time.sleep(1.0)

fs.noteoff(0, 60)
fs.noteoff(0, 67)
fs.noteoff(0, 76)

time.sleep(1.0)

fs.delete()



(J'ai mis le fichier Rhodes.sf2 dans le meme dossier que mon script.)

Y a-t-il des config indispensables à faire en amont (liées à ALSA notamment?) pour faire marcher FluidSynth?

Merci d'avance pour votre aide !

DJPaolo

jpcima Articles : 68 utilisateur non connecté France
Salut. J'arrive à faire fonctionner ton programme.
J'ai modifié quand même quelques éléments.

Déjà la sortie sonore était super faible, alors j'ai mis la vélocité au max, 127, à la place de 30.

La banque Rhodes est elle mono-instrument ? si c'est le cas il faut prêter attention aux 2 derniers arguments à program select: les numéro de banque et de programme.
Peut être que tu demandes à ton programme de jouer un instrument inexistant. (essaye avec une banque GM)

Enfin, et ça c'est valable si tu utilises l'audio jack, la méthode start() ne connecte pas l'interface audio au port système.
Moi j'ai mis le programme en arrêt peu après start() de sorte à ce que le port soit instancié, et pouvoir revenir après avoir connecté le port.

raw_input("Appuyez sur entree pour continuer...")


DJPaolo Articles : 3 utilisateur non connecté
Merci pour ta réponse jpcima !

Si j'ai bien compris, il faut placer le raw_input juste après fs.start() afin de mettre le programme en arret.

Par contre je ne sais pas comment connecté le port système à l'interface audio... Peux-tu m'éclairer davantage ?

Merci !

DJPaolo

DJPaolo Articles : 3 utilisateur non connecté
Je reviens pour marquer ce sujet commme résolu !

J'ai maintenant du son, après avoir remplacé fs.start() par :

fs.start(driver='alsa', midi_driver='alsa_seq')


A+

DJPaolo

olinuxx Articles : 15038 utilisateur non connecté France
Merci pour le retour et le [RESOLU] @DJPaolo.

Afficher les articles :
Aller au forum :

Documentation [Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

sub26nico, 20:14, sam. 17 Aug 2019: Salut et bienvenue à Samuel BARBIER :-)
sub26nico, 13:26, mer. 14 Aug 2019: Salut et bienvenue à Byond :-)
olinuxx, 14:48, mar. 13 Aug 2019: Bonjour et bienvenue à echevresm cool
olinuxx, 18:02, lun. 12 Aug 2019: Bonjour et bienvenue à barnabulle1700 cool
olinuxx, 15:15, dim. 11 Aug 2019: Bonjour et bienvenue à aldudes cool
sub26nico, 20:13, sam. 10 Aug 2019: Salut et bienvenue à pannanico1 :-)
dawamss, 13:09, ven. 09 Aug 2019: salut à toi olinuxx
olinuxx, 12:45, ven. 09 Aug 2019: Bonjour et bienvenue à dawamss cool
sub26nico, 15:11, mar. 06 Aug 2019: Salut et bienvenue à kiwi007 :-)
olinuxx, 14:07, mar. 06 Aug 2019: Bonjour et bienvenue à zigmhount cool
allany, 19:30, lun. 05 Aug 2019: Du tonnerre, l'édito d'août !!! [Lien]
ycollet, 11:07, lun. 05 Aug 2019: freqtweak est sur github maintenant ... [Lien]