[How-to] Realistic instruments with low latency/delay on Windows [2023]
No explicit, hateful, or hurtful language. Nothing illegal.
-
- Posts: 2
2023 UPDATE:
The SyFonOne guide is outdated, so to get better sound quality (with soundfonts) and lower audio latency (with ASIO), here's what I recommend nowadays.
1- Install ASIO4ALL (unless your sound card already has a better ASIO device+driver)
2- Install OmniMIDI
3- Run OmniMIDI and configure it to output via ASIO, like this:
Other settings I use:
4- Download a General MIDI soundfont (I recommend Live HQ Natural SoundFont GM v2.5.1) and load it into OmniMIDI with the blue plus sign on the right panel of the Lists Editor tab like this:
Optionally, also add Salamander Grand Piano C5 v3 retuned below the GM soundfont to upgrade the piano.
5- In Synthesia, set MIDI output to OmniMIDI and test it
6- If audio's silent/delayed, click the ASIO4ALL (green triangle) icon in the taskbar (near the system clock) to configure ASIO4ALL for your sound card like this then restart Synthesia if changes aren't applied immediately:
The SyFonOne guide is outdated, so to get better sound quality (with soundfonts) and lower audio latency (with ASIO), here's what I recommend nowadays.
1- Install ASIO4ALL (unless your sound card already has a better ASIO device+driver)
2- Install OmniMIDI
3- Run OmniMIDI and configure it to output via ASIO, like this:
Other settings I use:
4- Download a General MIDI soundfont (I recommend Live HQ Natural SoundFont GM v2.5.1) and load it into OmniMIDI with the blue plus sign on the right panel of the Lists Editor tab like this:
Optionally, also add Salamander Grand Piano C5 v3 retuned below the GM soundfont to upgrade the piano.
5- In Synthesia, set MIDI output to OmniMIDI and test it
6- If audio's silent/delayed, click the ASIO4ALL (green triangle) icon in the taskbar (near the system clock) to configure ASIO4ALL for your sound card like this then restart Synthesia if changes aren't applied immediately:
Last edited by INathan007 on 11-07-23 3:25 am, edited 3 times in total.
Thanks for you're work and you're tip and i 'll try SyfonOne but you know lag is caused only by asio 4 all and of course the speed processor of you're pc.
If you set the same setting for asio 4 all on coolsoft you 'll have the same latence.
The best is to use a decent soundcard so you 'll have beetween 2 or 5 ms.
Also thanks for the soundfont i didn't know this one.
If i use loop be one the best is to use a sampler for soundfont cause you can also change each instrument for the 16 channell with each sound from different soundfont.
The best one for this is samplelord (but it's not free)
Brb when i 'll have tested all these stuff.
Edit: you provide the link for the old Musing Kyte with more extra sample but the new one seems better according to the author
Edit2: My bad coolsoft doesn't allow to choose asio i had forgotten this :p so SyfonOne is really good.
By the way if you have a keyboard with speaker and use it on Synthesia you 'll have zero latency too
If you set the same setting for asio 4 all on coolsoft you 'll have the same latence.
The best is to use a decent soundcard so you 'll have beetween 2 or 5 ms.
Also thanks for the soundfont i didn't know this one.
If i use loop be one the best is to use a sampler for soundfont cause you can also change each instrument for the 16 channell with each sound from different soundfont.
The best one for this is samplelord (but it's not free)
Brb when i 'll have tested all these stuff.
Edit: you provide the link for the old Musing Kyte with more extra sample but the new one seems better according to the author
Edit2: My bad coolsoft doesn't allow to choose asio i had forgotten this :p so SyfonOne is really good.
By the way if you have a keyboard with speaker and use it on Synthesia you 'll have zero latency too
I'm not quite sure what you are identifying as "poor programming." To clarify the record with regard to latency (lag between playing a note and hearing the sound), Synthesia produces MIDI output not audio output (sound).dubcotics wrote:That's called poor programing, you can't expect a 30 dollar program to ship with ASIO drivers or VST. I hane a 1ms latency sound card, still I experience it on Synthesia.
While there some time between playing a note and the sending of the MIDI output, it is very short. The best way to test this is to use a piano keyboard that can play notes based on MIDI, turn off the local production of sound so that playing the notes doesn't immediately play the sound, and route Synthesia's MIDI output to the keyboard to play the sound. That is close to or at the limit of the minimum lag that you can achieve for output from Synthesia. If you turn on the local production of sound you will hear a slight echo effect because your keyboard does play a sound faster than Synthesia can (and turning local sound on and not having Synthesia play the notes you play is the best way to reduce the lag between what you play and what you hear).
Most of the lag that people complain about is the time it takes a software synthesizer to turn Synthesia's MIDI output into an audio output. That is a compute intensive task and it requires moving a lot of data to the sound card at a steady rate. Doing it in a way that allows real-time music performance is a real challenge. Not only do you need a well written software synthesizer, you need to have fast hardware and you need to make the right configuration settings, which is a challenge in and of itself. But none of this is under the control of Synthesia.
It doesn't make sense when Asio Compatible sound cards have been around for almost two decades now. ASIO is a low latency ( what you guys call "lag") protocol developped by Steinberg, every audio programmer knows it, I assume people at Synthesia, too. That low latency protocol controls , MIDI, AUDIO, Synthesisers, Midi-plugins, Audio Plugins etc. It's the Sound card that deals with low latency most of the time not the computer, provided it has ASIO drivers built in. With no low latency Audio card, you'll need Asio4All and all the hastle just to expect a 10 to 15 ms of latency. It's strange tho, as I have the Ipad version of Synthesia and never thought about latency until I bought the PC version.Most of the lag that people complain about is the time it takes a software synthesizer to turn Synthesia's MIDI output into an audio output. That is a compute intensive task and it requires moving a lot of data to the sound card at a steady rate. Doing it in a way that allows real-time music performance is a real challenge. Not only do you need a well written software synthesizer, you need to have fast hardware and you need to make the right configuration settings, which is a challenge in and of itself. But none of this is under the control of Synthesia.
The latency I experience is when striking a key note on the keyboard
Here, I'll try again for Jim:
Synthesia doesn't produce audio. Period. ASIO does not apply.
It sounds like you are unhappy with your MIDI synth, which I suspect is the awful built-in Windows synth. You and everyone else. Send an email to Microsoft informing them that ASIO compatible sound cards have been available for almost two decades and that they should improve their software.
The solution is to use a better synth. (That one isn't ASIO compatible, but after adjusting the output buffer mentioned in the guide, the latency is competitive with keyboard synths.)
Would VSTi support in Synthesia be a better answer? Sometimes. Is it on the roadmap? Yes. Even in a 30 dollar program.
Synthesia doesn't produce audio. Period. ASIO does not apply.
It sounds like you are unhappy with your MIDI synth, which I suspect is the awful built-in Windows synth. You and everyone else. Send an email to Microsoft informing them that ASIO compatible sound cards have been available for almost two decades and that they should improve their software.
The solution is to use a better synth. (That one isn't ASIO compatible, but after adjusting the output buffer mentioned in the guide, the latency is competitive with keyboard synths.)
Would VSTi support in Synthesia be a better answer? Sometimes. Is it on the roadmap? Yes. Even in a 30 dollar program.
I never said ASIO produced sound. It s a protocol not a wave nor a note. It s meant for programs such as synthesia to be played without delay . Synthesia switches to microsft midiwavetable wich needs a program susch as ASIO 4 all. Why on earth you need ASIO 4 all, it s because you have a low end card THAT DOES NOT ALLOW YOU TO PLAY LIVE!
ASIO only transports sound: "Audio Stream I/O". It does raw PCM streams, only. (No controls, MIDI, synthesizers, midi-plugins, audio plugins, etc.)dubcotics wrote:I never said ASIO produced sound.
Are you thinking of VST? Both are made by Steinberg but they're very different. VST supports a bunch of different types of messages. ASIO does audio.
ASIO4ALL has exactly zero effect when using Microsoft's synth.dubcotics wrote:... microsft midiwavetable wich needs a program susch as ASIO 4 all.
In any event, from your very first sentence on this forum, I'm not exactly sure what your point has been. Beyond communicating that you possess high-quality audio hardware, what were you trying to add to this year-old topic?
Here, I'll try again for Nicholas, trying again for Jim:Nicholas wrote:Here, I'll try again for Jim:
Synthesia doesn't produce audio. Period. ASIO does not apply.
Synthesia does NOT produce sound. Synthesia produces MIDI. Therefore there is no sound to be transported from Synthesia, only MIDI.
ASIO only transports sound: "Audio Stream I/O". It does raw PCM streams, only. (No controls, MIDI, synthesizers, midi-plugins, audio plugins, etc.)
Therefore, ASIO does not apply to Synthesia. Period.
I am beating this poor, dead horse because confusing MIDI output from Synthesia and audio output from a MIDI synthesizer is a common and natural confusion. But if you don't get the right picture of how sound is produced when you are using Synthesia, you will always struggle with trying to reduce the lag in that process.
Synthesia --> [MIDI] --> MIDI synthesizer --> [audio] --> Speakers
ASIO has to do with speeding the transfer of a software MIDI synthesizer audio output to the audio hardware.