[How-to] No lag with ASIO and SyFonOne

Have questions? Just saying hello? This is the place.
No explicit, hateful, or hurtful language. Nothing illegal.
Post Reply
INathan007
Posts: 2

Post by INathan007 »

Hi, all.
After trying BASSMIDI driver and Coolsoft VirtualMIDI Synth, I was annoyed not only by the input lag, but also by the load time when I opened Synthesia.

However, I found a way to reduce lag significantly by using SyFonOne and ASIO4ALL and since I found no info on these forums, I decided to share how to do it:

1- Download SyFonOne here: http://www.synthfont.com/Downloads.html
(Direct download: http://www.synthfont.com/SyFonOneSetup.exe)

2- Download LoopBe 1 here: http://www.nerds.de/en/download.html
(Direct download: http://www.nerds.de/data/setuploopbe1.exe)

3- Download ASIO4ALL here: http://www.asio4all.com/
(Direct download: http://tippach.business.t-online.de/asi ... nglish.exe)

4- Download the general MIDI soundfont of your choice. I like Musyng Kite (Formerly Evanessence/Musica 7). It can be found here: http://www.synthfont.com/punbb/viewtopic.php?id=167
(Get Musyng Kite.sfpack from here: https://onedrive.live.com/?cid=2b6dbe2d ... 1A1C!19653.
Musyng (Older version: https://docs.google.com/uc?id=0B6caGN_Q ... t=download

5- Download SFPack here: http://www.personalcopy.com/sfpack.htm
(Direct link: ftp://ftp.personalcopy.net/pub/SFPack.zip)
Link's dead, try this instead: http://download.softpedia.com/dl/a13d3c ... SFPack.zip

6- Install all 4 programs and copy the soundfont to a safe location.

7- Open SFPack, load the soundfont then click Go! to decompress the soundfont and get a .sf2 file.

8- Open SyFonOne and click Options:
Image

9- Select Loopbe as the MIDI input port
Image
10- Check Use ASIO, then click Show ASIO details and set the slider to 1024 samples.

11- In the ASIO4ALL panel, select your audio output by clicking the wrench and enabling your device's OUT.(Realtek, Creative, etc)

12- Back in SyfonOne, go to SoundFont & Synth tab and click Change to locate your soundfont file.
Image

13- FINALLY! Select LoopBe 1 as MIDI output device in Synthesia.

14- Enjoy!

*Hope I didn't miss any step, since I didn't to it exactly in this order.
**Pictures are not mine, I'm too lazy to upload my own XD
***Sometimes (actually, way too often), specially when seeking in Synthesia, LoopBe panics and advices not to connect input to output within a single application, which causes MIDI Feedback, and it is really annoying to have to unmute it every time. I'd appreciate it if somebody had a fix/workaround for this. Meanwhile, I'll try another virtual loopback device and see what happens
Last edited by INathan007 on 10-26-14 5:27 pm, edited 1 time in total.
kiwi
Synthesia Donor
Posts: 1178

Post by kiwi »

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 ;)
kiwi
Synthesia Donor
Posts: 1178

Post by kiwi »

Ok i have checked it works great but i prefer anyway to use Samplelord for his workflow ^^.
Try the Titanic soundfont it sounds better than the Musing Kyte ;)
Attachments
Samplelord.PNG
Samplelord.PNG (105.96 KiB) Viewed 58692 times
dubcotics
Posts: 4

Post by dubcotics »

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.
User avatar
jimhenry
Posts: 1822

Post by jimhenry »

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.
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).

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.
Jim Henry
Author of the Miditzer, a free virtual theatre pipe organ
http://www.Miditzer.org/
dubcotics
Posts: 4

Post by dubcotics »

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.

The latency I experience is when striking a key note on the keyboard
Nicholas
Posts: 12489

Post by Nicholas »

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.
dubcotics
Posts: 4

Post by dubcotics »

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!
Nicholas
Posts: 12489

Post by Nicholas »

dubcotics wrote:I never said ASIO produced sound.
ASIO only transports sound: "Audio Stream I/O". It does raw PCM streams, only. (No controls, MIDI, synthesizers, midi-plugins, audio plugins, etc.)

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.
dubcotics wrote:... microsft midiwavetable wich needs a program susch as ASIO 4 all.
ASIO4ALL has exactly zero effect when using Microsoft's synth.


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?
User avatar
jimhenry
Posts: 1822

Post by jimhenry »

Nicholas wrote:Here, I'll try again for Jim:

Synthesia doesn't produce audio. Period. ASIO does not apply.
Here, I'll try again for Nicholas, trying again for Jim: :lol:

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.
Jim Henry
Author of the Miditzer, a free virtual theatre pipe organ
http://www.Miditzer.org/
Post Reply