From the original SynthMaker forum (2004–2014), with its members’ names and dates.
Sk ·
Howdy all, I'm thing of using Synthmaker with my keyboard to have a deeper control on my performance (which sounds very professional, but actually means "if I casually create a wonderful synth lead I want to use it" 😀 ).
Problem: The latency. Actually the problem before would be to get a USB adaptor for MIDI interface, since I don't want to bring around my desktop PC. But I know that such cables exist, so there's only the latency problem left.
I've seen (heard) that Synthmaker suffers some milliseconds of latency. It is very low considering that the audio card is not a dedicated synthesizer as it happens in Korgs and such. Still, it makes your playing muddy and somehow slower, because you tend to wait for the sound to be generated before you press the next key.
Though the matter is not strictly related to SM, could you give some advice to improve the situation? Thanks!
malc ·
One thing that would make a big difference is ASIO. Keep your eyes peeled - it might be coming sooner than you think 😉
Sk ·
malc wrote: One thing that would make a big difference is ASIO. Keep your eyes peeled - it might be coming sooner than you think 😉
Speak English. Is it a program? Is it a feature of SM? Is it a polite way to say "you'll never get it ahahah!"?
Shifrin ·
malc wrote: One thing that would make a big difference is ASIO. Keep your eyes peeled - it might be coming sooner than you think 😉
Oooooh sweet!!!
Shif.
Sk ·
Ok, I've read something about ASIO. But how much would it cost? What I'm actually trying to do is to emulate a 5k euro professional workstation with a PSR-450 and a notebook, which I happen to own both, so no expenses needed (apart from the famous cables). Then how would I use a new audio card with my notebook? Would it be an external sound-card (=$$)?
jorge ·
Hi Sk
ASIO is a driver to access your sound card in a more straight way making it have a lot less latency than DirectSound. There is an ASIO driver you can download for free from:
http://www.asio4all.com/
asio4all is very well suited for laptops and works well with AC97 which is the most often used internal sound hardware on laptops.
As malc hinted, support for ASIO drivers in SM is just around the corner. You'll have two new ASIO components for sound input and sound output, together with the asio4all driver you should be able to achieve very low latency which is not possible with DirectSound.
I hope that clears things up for you, if not let us know.
Shifrin ·
Sk wrote: Then how would I use a new audio card with my notebook? Would it be an external sound-card (=$$)?
You could try :-
http://www.asio4all.com/
with your existing setup. Not tried it myself nor do I have a laptop to try it with! Other alternatives would be a budget USB audio interface or Firewire interface. M-Audio have some relatively cheap USB audio interfaces. AudioMidi.com are doing the Audiophile USB for 99 - you could maybe even get a second hand one for half that!
Shif.
Shifrin ·
Beat me by 2 mintes 😉
Shif.
jorge ·
Shifrin wrote: Beat me by 2 mintes 😉
Shif.
🙂 yeah, but please dont delete yours.
jorge ·
ok, here is the latest version of SM with ASIO in/out:
[old link]
here is how you'd use ASIO out with the example file:
Sk, if you get to try this it would be great to know if it solves the high latency problem you had, dont forget to download and install the asio4all driver first.
Also remember that latency depends on the size of the driver's buffer, so try to set it up to a low value, but not too low otherwise you'll start getting noise. I'm using a buffer of 512 on my laptop. On my desktop with a proper sound card I use a buffer size of 192 which gives even lower latency.
To get to the ASIO panel to change the buffer size, click on the little icon in the bottom right corner of the ASIO out component:
lalo ·
yay!!!
great guys!
RME asio test comin' along tomorrow 🙂
lowe
lalo
Tom7777 ·
Nice One 🙂
lalo ·
ASIO is workin' very fine here!
with my RME audiocard 🙂
only little thing (not important at all but i report it anyway)
if you open the ASIO control panel to change latency settings you have to turn off then on again the ASIO driver button in the SM component to get sound again.
lalo
global goon ·
grrrreat!
Sk ·
You've enlightened my day! 😀
If I get it correctly, ASIO drivers are just a software way to implement the solution, and don't need hardware support so that I can use it with my current cards? If it works, I owe you a dinner!
One thing I'm not sure of: the lower the buffer size, the lower the latency you get? I thought it would be the contrary...
jorge ·
Sk wrote: You've enlightened my day! 😀
If I get it correctly, ASIO drivers are just a software way to implement the solution, and don't need hardware support so that I can use it with my current cards? If it works, I owe you a dinner!
I think you'll be happy, I really think you'll be able to achieve low latency without spending any money, except for the dinner 🙂 can I choose the restaurant?
Sk wrote: One thing I'm not sure of: the lower the buffer size, the lower the latency you get? I thought it would be the contrary...
The smaller the buffer the smaller the latency. If you had a huge buffer of 44100 samples, you'd play a note and you'd have to wait 1 sec before you'd hear it.
Kitchen Sink ·
I've got one wish: could you implement latency jitter compensation? I don't know how Synthmaker works at the moment, but all VST host applications I've tried have jittering real time latency, and it feels bad to play.
For example, if I have a buffer size of one hour, and I start the program at exactly 12:00, a jittering program would only start new notes at exact hours, like 1:00, 2:00, etc. no matter when they are played. If I keep steadily playing new notes at 12:00, at 1 o'clock I'll get _all_ the notes on simultaneously.
Latency jitter compensation means keeping note-on to sound latency constantly at exactly 2 times the buffer size.
In addition to ASIO buffering latency, there are other factors like MIDI interface and driver latency, and when all these are added up, playing any hardware keyboard feels tighter than top-of-the-line virtual synths. The only cure at the moment is using a PCI based MIDI interface and ASIO buffer sizes around 2 ms.
jorge ·
Hi Kitchen Sink
Sample precission of Midi notes when playing an exported VST inside a host is not implemented yet but it's on the very top of our priorities. The host passes a deltaFrames value to indicate where exactly inside the buffer the Midi note should start. At the moment deltaFrames is being ignored. Shouldnt take long to get it fixed.
Sk ·
Bad news 🙁
I downloaded the ASIO drivers and all I got were errors. First the ASIO output was good, but the sound was intermittente if I played two or more notes contemporarily. The ASIO panel gave me CPU overload errors, and since I have a 2,8 GHz I think this is not good... Eventually the system crashed, complaining about an error with audio driver, then when I tried to use it again ASIO output gave me distorted sounds, while DS keeps working fine.
Besides, on the notebook I cannot use but something like a USB2MIDI cable, so I think the adaption driver will give latency as well, right?
Sorry man, your dinner is fading away...
jorge ·
Sk wrote: Sorry man, your dinner is fading away...
🙂 we wont give up that easily.
What size buffer are you using? if it is too small that's normally the kind of problems you'd get.
Sk ·
jorge wrote:
Sk wrote: Sorry man, your dinner is fading away...
🙂 we wont give up that easily.
What size buffer are you using? if it is too small that's normally the kind of problems you'd get.
I used buffer size in the whole range, from 2 ms to 6 hours (well, if it existed I would have done 🙂 ) Tried all the combination, and believe me, I did! Still doesn't work.
jorge ·
Sk, can you tell us more about your setup? are you using asio4all? if yes which version of asio4all? what's the names of the drivers showing in the ASIO components? is the problem there even when you dont use ASIOin at all?
Sk ·
New version of the error: now it sounds good and seems not to overload too much the CPU, but it is delayed of about one second. I did nothing in the while :?
jorge wrote: Sk, can you tell us more about your setup? are you using asio4all? if yes which version of asio4all? what's the names of the drivers showing in the ASIO components? is the problem there even when you dont use ASIOin at all?
ASIO4All, v.2.6, I have a C-Media onboard audiocard and the ASIOOut component shows 6 C-Media Wave Devices. I don't use ASIOIn at all. If I use DirectSound Out, it works fine, except for the small latency time which I complained at the beginning.
I'm now with a buffer size of 144 samples, and it has very high latency (about a second).
EDIT: I noticed that when the ASIO driver is running, it generates noise that is hearable through speakers. But this is probably due to the important EM fields in my room, since I had a similar problem with the keyboard and all I had to do to solve it is to move the cordless phone a little further. I'll have to do something, or at least I hope that the negative influence of radiations on health is just a legend.
ik ·
Sk,
You may wish to try (and tune) your Asio4all driver in a host other then SM (like Chainer for example), just to see if the problem is SM specific or not.
I have to say, I am using Asio4all v1.6 with SM (and with other appl too), able to get down to 64 as buffer size @48 kHz, that is less the 1.5 ms. (!)
(Toshiba laptop, Pentium-m/centrino 1.4GHz, 512 MB, WXP, soundchip:Sigmatel C-major audio)
Don't give up!
ik.
ik ·
I'm now with a buffer size of 144 samples, and it has very high latency (about a second).
Something is not right with the setup. 144/44100*1000=~3.2 ms @44.1 kHz if it works correctly.
3.2 ms, you won't notice that. Try to go up with the buffer size, like 1024,
then decrease it back gradually ...
ik.
unkargherth ·
Sk wrote:
ASIO4All, v.2.6, I have a C-Media onboard audiocard and the ASIOOut component shows 6 C-Media Wave Devices. I don't use ASIOIn at all. If I use DirectSound Out, it works fine, except for the small latency time which I complained at the beginning.
I'm now with a buffer size of 144 samples, and it has very high latency (about a second).
If you don't use Asio in at all, your latency problem seems more related to midi. ASIO generates "WAVE IN" devices, not midi in ones, so if you play a note on MIDI keyboard and get 1 second latency until it begins to playa note in a SM Synth, it has nothing to do with ASIO, but with MIDI devices/drivers
Or I i get a bad understand of topic from the begining?
Sk ·
unkargherth wrote:
Sk wrote:
ASIO4All, v.2.6, I have a C-Media onboard audiocard and the ASIOOut component shows 6 C-Media Wave Devices. I don't use ASIOIn at all. If I use DirectSound Out, it works fine, except for the small latency time which I complained at the beginning.
I'm now with a buffer size of 144 samples, and it has very high latency (about a second).
If you don't use Asio in at all, your latency problem seems more related to midi. ASIO generates "WAVE IN" devices, not midi in ones, so if you play a note on MIDI keyboard and get 1 second latency until it begins to playa note in a SM Synth, it has nothing to do with ASIO, but with MIDI devices/drivers
Or I i get a bad understand of topic from the begining?
Yes, I'm afraid you do 🙂
I tried again. The exagerated latency was due to the missing hardware buffer I was trying to use. I disabled it and it now is acceptable again.
144 samples, which means 3.2 ms, is working very good for me. I saw that 64 samples drive my audio driver crazy, so I think I'll stay with around 100 samples (yet I have to experiment for the perfect tradeoff). Maybe I should try the 1.x version, as you say, it was reported to be more stable. However, my major problems seem to be solved.
Kitchen Sink ·
jorge wrote: Sample precission of Midi notes when playing an exported VST inside a host is not implemented yet but it's on the very top of our priorities. The host passes a deltaFrames value to indicate where exactly inside the buffer the Midi note should start. At the moment deltaFrames is being ignored. Shouldnt take long to get it fixed.
Sample accuracy on playback is just one half of the issue. It should be "sample accurate" in realtime, too... of course it's not possible to play with zero latency in realtime, but at least the host application should try to keep the latency constant by scheduling the event at exactly the event's time of arrival plus 2 times the buffer size. AFAIK, there has only been one VST host application ever that has had realtime latency jitter compensation, namely Logic Audio's version 4.2. (according to an RME tech article)
Zynewave ·
AFAIK, there has only been one VST host application ever that has had realtime latency jitter compensation, namely Logic Audio's version 4.2. (according to an RME tech article)
Forgive me for a little self-promotion: Zynewave Podium implements a latency jitter compensation on realtime input.
exi ·
hi, i have tested asio with my waveterminal 192M from esi and fruity studio 5.02... i use very low latencies like 1-5ms.. if i play one note in example synth, it sounds almost good, but if poly > 1, tons of cracks appears
synthmaker is superb 4 education now, but for building vsti's for real time performance is unusable @ the moment
and one question.. if i plug generated VSTi in vst host with asio, asio out module is created automatically? or what output mode is used?
thanx for the update
stefan ·
exi wrote: hi, i have tested asio with my waveterminal 192M from esi and fruity studio 5.02... i use very low latencies like 1-5ms.. if i play one note in example synth, it sounds almost good, but if poly > 1, tons of cracks appears
synthmaker is superb 4 education now, but for building vsti's for real time performance is unusable @ the moment
No it isn't. I do that all the time, and my synth is most likely heavier on the cpu than any of the ones you tried out 🙂 Are you talking about the example synth? Because if you have problems playing that one with more than one note at a time, there's probably a bug in the asio out when used with your soundcard. I've had no problems at all with the asio out so far.
exi wrote: and one question.. if i plug generated VSTi in vst host with asio, asio out module is created automatically? or what output mode is used?
thanx for the update
You don't export something that has the asio in/out in it. You make a module, connet asio in/out to that module and export the module (the asio components are not in this module). So it's up to the host how it outputs its audio, not up to SM.
exi ·
so, what latency (without probs) do you use in VST host - testing exported VSTi? how is SM fast? ;]
stefan ·
exi wrote: so, what latency (without probs) do you use in VST host - testing exported VSTi? how is SM fast? ;]
I usually use 4ms or so. No problems here.
Wrote something here? To have a post removed or your name hidden, write to [email protected].