Midi out on windows

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Midi out on windows

lasconic
Administrator
As you can see on the forum, users are quite disappointed to hear the piano only when they first installed MuseScore.
http://musescore.org/en/node/1091
http://musescore.org/en/node/1089

I'm not very familiar with MIDI handling in C++ nor with Linux audio. So I take a look to better understand. Tell me if I'm wrong. The (?) are here when I have some doubts :)

On Linux, you can choose to use the embedded Synth or to use midi output.
- Midi output plug into Alsa directly (?).
- Embedded synth uses the selected soundfont and the output can be directed to Jackd (for more processing, effects etc...) or to alsa (for direct playback).
  Portaudio option is not for Linux (?)

On windows, you don't have such a choice. You use the embedded synth. Portaudio is use for playback (?)
There is nothing to comunicate with Windows system synth.

Granting that the analysis was ok. I looked for Qt app with midi support on windows. And found: http://www.qt-apps.org/content/show.php?content=85050
This GPL software uses a cross platform lib: http://www.music.mcgill.ca/~gary/rtmidi/

I didn't go further for the moment. Am I right? Is this lib useful to add support for MIDI output on windows?


Thank you for reading,
Lasconic

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
Reply | Threaded
Open this post in threaded view
|

Re: Midi out on windows -> fixing usability flaw

Thomas Bonte
Administrator
To continue on this matter, I like to start with a quote from a musicedmagic.com editor:
While MuseScore as a free music notation editor is far superior to even the most recent versions of Finale Notepad, it is still a limited piece of software. There are many positive aspects to the program, such as unlimited staves and a fairly intuitive interface, however some of the basic necessities are rather hard to set up properly (when playing back pieces with more than one instrument the only instrument that I could hear was piano). Apparently a user can download a complete MIDI sound font package or set it up to play back by internal MIDI.
It's clear that one of the usability flaws for MuseScore, at least on Windows, is the fact that is doesn't 'seem to come' with support for all instruments on board. This totally clear when you search for the amount of soundfont related forum topics.

I didn't investigate lasconics informatie any further, but it seems like a good start to get this problem solved. i'm very eager to help testing on this matter.
Reply | Threaded
Open this post in threaded view
|

Re: Midi out on windows

wschweer
Administrator
In reply to this post by lasconic
MuseScore uses the portmidi library for midi input on windows. The library
does also supports midi output so using rtmidi would not be an advantage.
As i understand both libs support immediate ouput of data to the midi device.
This is only part of the problem. The mscore buildin sequencer must output
midi events at precise time. For this a high resolution timer and a real time
thread is needed. You also need some form of inter process communication
between the non realtime gui thread and the realtime sequencer thread.
Its simply that i don't know how to implement this on windows as i am not an
experienced windows programmer.
The application you found (virtual keyboard) does not have the need for a
hires timer nor for realtime. It can output midi events directly in the gui
event loop.

Other notes: portaudio is primary used for windows but does also work for
linux (its cross platform). Mainly for testing i also enabled it for linux.

Midi output on linux works by creating some ALSA midi ports. This ports have
to be connected to ALSA midi ouput ports with an external application (use
qjackctl even if you do not use JACK). Midi can also be routed to other
applications like synthesizers or sampler (linuxsampler).

For linux i plan to remove midi output to ALSA completely and to only support
midi output via the jack audio server. This eleminates the need for a hires
timer+thread on linux and would simplify things a lot (also for user).

If you select JACK on linux, audio output can be routed to other audio
applications like mastering tools or hd recorder like ardour. These apps
usually have a plugin interface to further process audio like VST on windows.

There is also the option to implement JACK output for windows as there is a
jack port available for window (i don't know if it does midi).

/Werner
 
On Friday 27 February 2009 11:40:54 Lasconic wrote:

> As you can see on the forum, users are quite disappointed to hear the piano
> only when they first installed MuseScore.
> http://musescore.org/en/node/1091
> http://musescore.org/en/node/1089
>
> I'm not very familiar with MIDI handling in C++ nor with Linux audio. So I
> take a look to better understand. Tell me if I'm wrong. The (?) are here
> when I have some doubts :)
>
> On Linux, you can choose to use the embedded Synth or to use midi output.
> - Midi output plug into Alsa directly (?).
> - Embedded synth uses the selected soundfont and the output can be directed
> to Jackd (for more processing, effects etc...) or to alsa (for direct
> playback).
>   Portaudio option is not for Linux (?)
>
> On windows, you don't have such a choice. You use the embedded synth.
> Portaudio is use for playback (?)
> There is nothing to comunicate with Windows system synth.
>
> Granting that the analysis was ok. I looked for Qt app with midi support on
> windows. And found: http://www.qt-apps.org/content/show.php?content=85050
> This GPL software uses a cross platform lib:
> http://www.music.mcgill.ca/~gary/rtmidi/
>
> I didn't go further for the moment. Am I right? Is this lib useful to add
> support for MIDI output on windows?
>
>
> Thank you for reading,
> Lasconic


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
Reply | Threaded
Open this post in threaded view
|

Re: Midi out on windows

lasconic
Administrator
In reply to this post by lasconic
Maybe another false idea... But portmidi seems to have the same features than RTmidi (?) and portmidi is already used by musescore.

2009/2/27 Lasconic <[hidden email]>
As you can see on the forum, users are quite disappointed to hear the piano only when they first installed MuseScore.
http://musescore.org/en/node/1091
http://musescore.org/en/node/1089

I'm not very familiar with MIDI handling in C++ nor with Linux audio. So I take a look to better understand. Tell me if I'm wrong. The (?) are here when I have some doubts :)

On Linux, you can choose to use the embedded Synth or to use midi output.
- Midi output plug into Alsa directly (?).
- Embedded synth uses the selected soundfont and the output can be directed to Jackd (for more processing, effects etc...) or to alsa (for direct playback).
  Portaudio option is not for Linux (?)

On windows, you don't have such a choice. You use the embedded synth. Portaudio is use for playback (?)
There is nothing to comunicate with Windows system synth.

Granting that the analysis was ok. I looked for Qt app with midi support on windows. And found: http://www.qt-apps.org/content/show.php?content=85050
This GPL software uses a cross platform lib: http://www.music.mcgill.ca/~gary/rtmidi/

I didn't go further for the moment. Am I right? Is this lib useful to add support for MIDI output on windows?


Thank you for reading,
Lasconic


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
Reply | Threaded
Open this post in threaded view
|

Re: Midi out on windows -> fixing usability flaw

Toby Smithe-2
In reply to this post by Thomas Bonte
2009/2/27 Thomas Bonte <[hidden email]>:
> It's clear that one of the usability flaws for MuseScore, at least on
> Windows, is the fact that is doesn't 'seem to come' with support for all
> instruments on board. This totally clear when you search for the amount of
> soundfont related forum topics.

Maybe one meanwhile solution could be to provide a button in the
Preferences or Help menu somewhere that downloads and installs to the
the user's home settings directory a soundfont, with the appropriate
warnings regards size and copyright.

--
Toby Smithe :: http://fulltinreality.com

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
Reply | Threaded
Open this post in threaded view
|

Re: Midi out on windows -> fixing usability flaw

wschweer
Administrator
In reply to this post by Thomas Bonte
Simplest solution would be to replace the small buildin soundfont with a
"real" one.

Best from a user view would be to allow for output to VST instruments. There
are to problems: 1) i cannot implement this due to lack of knowledge 2) it's
incompatible with GPL as you need the steinberg header files to implement
this.

/Werner
On Friday 27 February 2009 12:36:08 Thomas Bonte wrote:

> To continue on this matter, I like to start with a quote from
> http://www.musicedmagic.com/music-notation/musescore-free-music-notation-so
>ftware.html#jr_reviewEditor
>
> a musicedmagic.com editor :
> > While MuseScore as a free music notation editor is far superior to even
> > the most recent versions of Finale Notepad, it is still a limited piece
> > of software. There are many positive aspects to the program, such as
> > unlimited staves and a fairly intuitive interface, however some of the
> > basic necessities are rather hard to set up properly (when playing back
> > pieces with more than one instrument the only instrument that I could
> > hear was piano). Apparently a user can download a complete MIDI sound
> > font package or set it up to play back by internal MIDI.
>
> It's clear that one of the usability flaws for MuseScore, at least on
> Windows, is the fact that is doesn't 'seem to come' with support for all
> instruments on board. This totally clear when you search for the amount of
> soundfont related forum topics.
>
> I didn't investigate lasconics informatie any further, but it seems like a
> good start to get this problem solved. i'm very eager to help testing on
> this matter.


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
Reply | Threaded
Open this post in threaded view
|

Re: Midi out on windows -> fixing usability flaw

Toby Smithe-2
2009/2/27 Werner Schweer <[hidden email]>:
> Simplest solution would be to replace the small buildin soundfont with a
> "real" one.

Indeed, but this would make the initial distribution much larger; and
those users whose primary interest is not playback of music would
needlessly suffer. Conversely, it could be argued that by not
distributing a full GM set, MuseScore is disadvantaging those users
who do want decent playback. However, simplifying the installation of
a soundfont should sate those woes.

> Best from a user view would be to allow for output to VST instruments. There
> are to problems: 1) i cannot implement this due to lack of knowledge 2) it's
> incompatible with GPL as you need the steinberg header files to implement
> this.

*nod* The Audacity project overcomes this difficulty in a manner
similar to the Linux kernel and binary drivers, by providing a
bridging plug-in. See [0]

[0] http://www.audacityteam.org/vst/

--
Toby Smithe :: http://fulltinreality.com

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
Reply | Threaded
Open this post in threaded view
|

Re: Midi out on windows -> fixing usability flaw

lasconic
Administrator
VSTi is a path indeed but for advanced users it will be great, I guess.
But for users who just want to have a quick playback, it's a overkill no?
Moreover, there is no free VSTi. (Am I wrong ?)


2009/2/27 Toby Smithe <[hidden email]>
2009/2/27 Werner Schweer <[hidden email]>:
> Simplest solution would be to replace the small buildin soundfont with a
> "real" one.

Indeed, but this would make the initial distribution much larger; and
those users whose primary interest is not playback of music would
needlessly suffer. Conversely, it could be argued that by not
distributing a full GM set, MuseScore is disadvantaging those users
who do want decent playback. However, simplifying the installation of
a soundfont should sate those woes.

> Best from a user view would be to allow for output to VST instruments. There
> are to problems: 1) i cannot implement this due to lack of knowledge 2) it's
> incompatible with GPL as you need the steinberg header files to implement
> this.

*nod* The Audacity project overcomes this difficulty in a manner
similar to the Linux kernel and binary drivers, by providing a
bridging plug-in. See [0]

[0] http://www.audacityteam.org/vst/

--
Toby Smithe :: http://fulltinreality.com

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
Reply | Threaded
Open this post in threaded view
|

Re: Midi out on windows -> fixing usability flaw

David Bolton-2
In reply to this post by Toby Smithe-2
Toby Smithe wrote:

> 2009/2/27 Werner Schweer <[hidden email]>:
>  
>> Simplest solution would be to replace the small buildin soundfont with a
>> "real" one.
>>    
>
> Indeed, but this would make the initial distribution much larger; and
> those users whose primary interest is not playback of music would
> needlessly suffer. Conversely, it could be argued that by not
> distributing a full GM set, MuseScore is disadvantaging those users
> who do want decent playback. However, simplifying the installation of
> a soundfont should sate those woes.
>  

My favorite SoundFont at the moment is the one that comes with Windows
as mention by L'on Driessen:
http://n2.nabble.com/MuseScore-is-great%21-tp1580536p1580536.html

The Windows SoundFont is only 2MB but it sounds comparable or better
than all the <100MB GM SoundFonts I've tried.

Another possibility is to create an official MuseScore SoundFont using
the samples donated to OLPC:
http://wiki.laptop.org/go/Sound_samples

--
David Bolton
http://davidbolton.info


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer