Thanks, @flome. Pushed an update.
I also uploaded a -git version of solfege to AUR.
| Git Clone URL: | https://aur.archlinux.org/solfege.git (read-only, click to copy) |
|---|---|
| Package Base: | solfege |
| Description: | Music education and ear training software |
| Upstream URL: | https://www.gnu.org/software/solfege/ |
| Licenses: | GPL-3.0-only |
| Groups: | pro-audio |
| Submitter: | gromit |
| Maintainer: | peregrinus |
| Last Packager: | peregrinus |
| Votes: | 3 |
| Popularity: | 0.000394 |
| First Submitted: | 2024-03-19 23:20 (UTC) |
| Last Updated: | 2025-12-16 18:29 (UTC) |
Thanks, @flome. Pushed an update.
I also uploaded a -git version of solfege to AUR.
curl: (22) The requested URL returned error: 400 ==> ERROR: Failure while downloading https://git.savannah.gnu.org/cgit/solfege.git/snapshot/solfege-3.23.4.tar.gz Aborting...
Hello @Gaspartame,
Thank you for your message.
The solfege.install file tells you to install and configure a MIDI player if you want sound from Solfege (which you probably want).
In the optdepends two options are listed: timidity++ and fluidsynth. See their respective wiki pages on wiki.archlinux.org for configuration options. The packager does not want to make the choice of MIDI player for you.
Thank you for the suggestion all the same; I am glad that you came right!
I hope this helps.
I have got this error when trying to use solfege :
Traceback (most recent call last):
File "/usr/share/solfege/solfege/soundcard/__init__.py", line 96, in play_mediafile
_mediaplayer = subprocess.Popen(args=args)
File "/usr/lib/python3.13/subprocess.py", line 1036, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pass_fds, cwd, env,
^^^^^^^^^^^^^^^^^^^
...<5 lines>...
gid, gids, uid, umask,
^^^^^^^^^^^^^^^^^^^^^^
start_new_session, process_group)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/subprocess.py", line 1851, in _execute_child
self._posix_spawn(args, executable, env, restore_signals, close_fds,
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
p2cread, p2cwrite,
^^^^^^^^^^^^^^^^^^
c2pread, c2pwrite,
^^^^^^^^^^^^^^^^^^
errread, errwrite)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/subprocess.py", line 1795, in _posix_spawn
self.pid = os.posix_spawn(executable, args, env, **kwargs)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] Aucun fichier ou dossier de ce nom: '/usr/bin/timidity'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/share/solfege/solfege/mainwin.py", line 681, in quit_program
solfege.app.quit_program()
~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/share/solfege/solfege/application.py", line 467, in quit_program
g.on_end_practise()
~~~~~~~~~~~~~~~~~^^
File "/usr/share/solfege/solfege/exercises/melodicinterval.py", line 285, in on_end_practise
self.m_t.end_practise()
~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/share/solfege/solfege/abstract.py", line 85, in end_practise
soundcard.synth.stop()
~~~~~~~~~~~~~~~~~~~~^^
File "/usr/share/solfege/solfege/soundcard/midifilesynth.py", line 61, in stop
self.play_midieventstream(MidiEventStream())
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/usr/share/solfege/solfege/soundcard/midifilesynth.py", line 58, in play_midieventstream
soundcard.play_mediafile('midi', self.m_tmpfilename)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/solfege/solfege/soundcard/__init__.py", line 98, in play_mediafile
raise osutils.BinaryForMediaPlayerException(typeid,
cfg.get_string("sound/%s_player" % typeid), e)
solfege.osutils.BinaryForMediaPlayerException
Traceback (most recent call last):
File "/usr/share/solfege/solfege/soundcard/__init__.py", line 96, in play_mediafile
_mediaplayer = subprocess.Popen(args=args)
File "/usr/lib/python3.13/subprocess.py", line 1036, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pass_fds, cwd, env,
^^^^^^^^^^^^^^^^^^^
...<5 lines>...
gid, gids, uid, umask,
^^^^^^^^^^^^^^^^^^^^^^
start_new_session, process_group)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/subprocess.py", line 1851, in _execute_child
self._posix_spawn(args, executable, env, restore_signals, close_fds,
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
p2cread, p2cwrite,
^^^^^^^^^^^^^^^^^^
c2pread, c2pwrite,
^^^^^^^^^^^^^^^^^^
errread, errwrite)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/subprocess.py", line 1795, in _posix_spawn
self.pid = os.posix_spawn(executable, args, env, **kwargs)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] Aucun fichier ou dossier de ce nom: '/usr/bin/timidity'
and after adding timidity++ as a dependance of solfege and reinstalling, it seems to works as intended. Shouldn't timidity++ be listed as a dependance by default ?
Hi @lquidfire and @PS0, the compil is OK. Thank's !!!
Thank you for the find, PS0! Same conclusion as reached on the forums by V1del. This works and a new version will be uploaded soon.
Removing the search path of /usr/src/linux in the soundcard makefile will fix the issue.
sed -e '26s/ -I\/usr\/src\/linux\/include//' -i "solfege/soundcard/Makefile"
Great catch, @PS0!
I have started a thread on the bbs! https://bbs.archlinux.org/viewtopic.php?pid=2181344
It seems that the clean chroot build only uses the linux api headers, whereas the 'dirty' build also uses the kernel headers of the installed kernel (/usr/src/linux).
Hi @Tiagofer and @Alf2010, could you please post about this in the forums, with a full compile log? I cannot reproduce this which makes it a bit hard to debug. Thank you!
Pinned Comments
peregrinus commented on 2025-02-22 13:04 (UTC)
Hello @Gaspartame,
Thank you for your message.
The
solfege.installfile tells you to install and configure a MIDI player if you want sound from Solfege (which you probably want).In the
optdependstwo options are listed:timidity++andfluidsynth. See their respective wiki pages on wiki.archlinux.org for configuration options. The packager does not want to make the choice of MIDI player for you.Thank you for the suggestion all the same; I am glad that you came right!
I hope this helps.