VirtualMIDISynth 2.x - Release Candidate 2 released

Please let our ADS show!

This sites offers only FREE software and it's supported by a few advertisement boxes (no intrusive popups).
Please:

  • disable your AdBlocker by adding CoolSoft website to whitelist
  • give the proper cookie consent
  • enable JavaScript for this website

This seconds wait is to let you update your browser configuration...

Ok, I've done the required changes... now show me your content!
!!! Please enable JavaScript !!!

Pages

Posts: 102
Joined: March 8, 2014 - 22:29
Re: VirtualMIDISynth 2.x - Beta3 released

Hey Claudio,
I noticed a strange behavior of VMS 2.x on my PC.

It's really slow on some Black MIDIs such as ATAAI (Armageddon to Archaeopterix and Icaria), The Titan etc. (All made by TSMB2)

I think you're using BASS_CONFIG_UPDATETHREADS for the autoupdating system, because I noticed it slows down when there are too much notes, instead of skipping them.
You should consider switching to BASS_ChannelUpdate or BASS_Update, to get a performance boost with Black MIDIs.

I was able to reproduce the same behavior with my driver, by using BASS_CONFIG_UPDATETHREADS. Switching to BASS_ChannelUpdate (And setting BASS_CONFIG_UPDATETHREADS to 0) solved the problem.

Posts: 1
Joined: January 19, 2016 - 19:33
Re: VirtualMIDISynth 2.x - Beta3 released

Not related to 2.0, but can you add sflist support? I have 10-soundfont chains which are difficult to switch between, by changing soundfonts one-by-one.

Posts: 43
Joined: June 5, 2015 - 12:43
Re: VirtualMIDISynth 2.x - Beta3 released

Just thought I'd re-report that I'm still getting "VirtualMIDISynth #1 already in use" messages from Chrome, as originally reported in the previous thread:
http://coolsoft.altervista.org/en/forum/post/1419#post1419
http://coolsoft.altervista.org/en/forum/post/1429#post1429
http://coolsoft.altervista.org/en/forum/post/1453#post1453

Shall I file a bug with Chrome? Or is this something you want to solve in VMS?

Question re latency (see http://coolsoft.altervista.org/en/forum/post/1516#post1516):
I used to run with the Additional Buffer set to 0, without any problem, but am now getting occasional stuttering with that setting. I suspect that that is due to a change in Windows 10.
I've now set Additional Buffer to 100, and the stutters seem to have gone away.
Is there any way VMS could detect stutters, and so find the best/lowest value for Additional Buffer on the system in use?

My Current System: Windows 10, Latest Chrome (Version 48.0.2564.82 m)

Attachments (Only registered users)
Coolsoft.21.01.2016.png

http://james-ingram-act-two.de/

Posts: 4
Joined: December 17, 2015 - 18:17
Re: VirtualMIDISynth 2.x - Beta3 released

Hi,

as you expect I wait for beta3 release.

To be shure living all errors behind me I do a freas install on a new SSD with:

WIN 10 build 11099 / Sonar Platinium / Asio4all / VMS2-beta3.

Hardware ASUS SabertoothX99 / i7-5930k / 32 GB Ram / ROG Poseidon GTR780 / Realtek® ALC1150 HD Audio (internal)

The phenomen now is: can't get work, that VMS plays with Asio together.

VMS alone plays midi notes, Asio alone plays audio. But routing midi to a syth that using Asio VMS stops working.

When I close SONAR and start it again I get "Error opening MIDI stream - Error code: 4"

What i done in the first step was looking in debug report, and saw that ->midi: wdmaud.drv and midi1:wdmaud.drv was not correct so I changed this in the registry (x86 and X64) -> no success.

I tryed out all possible combination of Sonar, Asio4all and VMS (changing to MME,WDM and back; Sample Rate; installing more then 1 VMS instanz; buffer sizr; resampling rate and so on) -> no success.

So now my hope is that you can help me with two fault registry keys:

*** HKCU\Software\Microsoft\Windows\CurrentVersion\Multimedia\MIDIMap ***
Error reading registry key
The key MIDIMap does not exist, what should there be ????
 
*** HKCU\Software\Microsoft\ActiveMovie\devenum\{4EFE2452-168A-11D1-BC76-00C04FB9453B}\Default MidiOut Device ***
Error reading registry key
The key Default MidiOutDevice does not exist, what should there be ????

Please help me to find a solution for my problem.

Thanks in advanced

CID

 

Attachments (Only registered users)
VirtualMIDISynth_debug10_1report.txt
Posts: 102
Joined: March 8, 2014 - 22:29
Re: VirtualMIDISynth 2.x - Beta3 released
notator wrote:

I used to run with the Additional Buffer set to 0, without any problem, but am now getting occasional stuttering with that setting. I suspect that that is due to a change in Windows 10.

I've now set Additional Buffer to 100, and the stutters seem to have gone away.
Is there any way VMS could detect stutters, and so find the best/lowest value for Additional Buffer on the system in use?

This is actually managed by BASSMIDI itself, by using the BASS_DEVICE_LATENCY flag and BASS_GetInfo.

If you're using a Realtek audio card, the buffer is 41/42ms + Additional Buffer, but Microsoft's stock drivers increase it to 70/80.

Try reinstalling Realtek drivers. (if you're using a Realtek card)

Posts: 43
Joined: June 5, 2015 - 12:43
Re: VirtualMIDISynth 2.x - Beta3 released

Many thanks for the quick reply. I'm using a Terratec TS22 PCI sound card. Checked its driver, and its up to date.

Attached is the Asio info dialog I get from the sound card's control panel. The samples/buffer can be increased, but that leads to higher latencies.

Does this info translate into a value for VMS's Additional Buffer, or do I still have to do some trial and error? :-)

 

Attachments (Only registered users)
Asio.png

http://james-ingram-act-two.de/

Posts: 59
Joined: April 19, 2014 - 06:23
Re: VirtualMIDISynth 2.x - Beta3 released

Hi!  Long time no post.  I had to take a hiatus for a couple months because I've been busy with my education, but I'm back, and hope to continue to test and give feedback soon.

 

notator wrote:
Just thought I'd re-report that I'm still getting "VirtualMIDISynth #1 already in use" messages from Chrome, as originally reported in the previous thread:http://coolsoft.altervista.org/en/forum/thread/222?page=18http://coolsof...

Shall I file a bug with Chrome? Or is this something you want to solve in VMS?)

Again, this is not VirtualMIDISynth's fault, but rather the fault of a bug that still hasn't been fixed with Chrome, I've already filed a bug report, feel free to star the topic if you haven't already done so, because I'd like to see this fixed too.  https://code.google.com/p/chromium/issues/detail?id=497573

- Main laptop: Sager NP4658, Intel i7-4810MQ, 2*8GB DDR3 (PC3-10700), 512GB+512GB SSDs, Intel HD4600/NVidia GT840M

Posts: 1978
Joined: March 25, 2012 - 01:19
Re: VirtualMIDISynth 2.x - Beta3 released
KaleidonKep99 wrote:
I think you're using BASS_CONFIG_UPDATETHREADS for the autoupdating system, because I noticed it slows down when there are too much notes, instead of skipping them.
You should consider switching to BASS_ChannelUpdate or BASS_Update, to get a performance boost with Black MIDIs.

Automatic update is already disabled, each of the (up to) 4 devices has its own update thread that calls BASS_Update() independently.

KaleidonKep99 wrote:
Switching to BASS_ChannelUpdate (And setting BASS_CONFIG_UPDATETHREADS to 0) solved the problem.

Your driver is (I suppose) an in-process driver, like VMS1. It means that it runs in the same process as the MIDI client (the player), so the communication between them is lightning fast.
VMS2 has an out-of-process IPC channel to let the player and VirtualMIDISynth.exe communicate each other.

Even if it's really fast (as I can see) it will never be as fast as an in-process direct function call, ever.

One thing I could try in next version is to increase the IPC buffer between the processes, which is supposed to fill up when a BlackMIDI reaches its "burst points".

Thanks for your technical debugging anyway ;)

Posts: 1978
Joined: March 25, 2012 - 01:19
Re: VirtualMIDISynth 2.x - Beta3 released
jimbo1qaz wrote:
Not related to 2.0, but can you add sflist support? I have 10-soundfont chains which are difficult to switch between, by changing soundfonts one-by-one.

I've had a quick look at .sflist definition and it seems like a list of filenames, nothing more.
It misses bank|preset|volume|... settings for each font.
Have you tried the new soundfont import/export feature, available from beta1?
It saves/load the full state of your soundfont list, including enabled state, from a .vmssf text file.

Anyway, since .sflist is only a subset of .vsssf, it should not be difficult to add that format to the supported ones.
Is there an official specifications of .sflist file format?
Which other software supports .sflist?

Posts: 1978
Joined: March 25, 2012 - 01:19
Re: VirtualMIDISynth 2.x - Beta3 released
notator wrote:
Just thought I'd re-report that I'm still getting "VirtualMIDISynth #1 already in use" messages from Chrome, as originally reported in the previous thread.
Shall I file a bug with Chrome? Or is this something you want to solve in VMS?

The only thing I can do (and I've done) on my side is to allow chrome being blacklisted.

Open the Options tab of Configurator while Chrome is locking VirtualMIDISynth driver, then follow these steps:

Sadly this is an all-or-nothing setting, we can't allow Chrome to load VMS only once or force it to release it when needed...

No need to open a new bug in Chrome, just subscribe to the existing one: https://code.google.com/p/chromium/issues/detail?id=497573

notator wrote:
Is there any way VMS could detect stutters, and so find the best/lowest value for Additional Buffer on the system in use?

No, sadly I haven't found any.
BASS docs have some recommended values for its minimum value and they are already applied by VMS (note that the setting name is "Additional buffer", just because it only increases the internally calculated one).
The final "safe" value depends on a lot of things like OS, drivers versions, sound card buffer size, system speed, ...

notator wrote:

Attached is the Asio info dialog I get from the sound card's control panel. The samples/buffer can be increased, but that leads to higher latencies.
Does this info translate into a value for VMS's Additional Buffer, or do I still have to do some trial and error? :-)

That buffers are from the ASIO side of the driver, and could or could not be the same buffer used for the standard interface (non ASIO).
It seems to me that trial and error is the only way to go.

Pages