Keyboard recording problem

Started by jcmarcos, October 20, 2009, 14:42:05

Previous topic - Next topic

Saga Musix

QuoteWell, then, I want "ASIO", which I don't know what it ls... In the sound card setup, I can choose between eight options:
The speaker icon is WaveOut, the blue icon is DirectX. You would need to download ASIO4All, which is a rather good ASIO driver for cheap devices that normally can't do ASIO...

QuoteOf course, but it shocked me a lot that painting the song pattern was so hard to do for a moden system. By now, I guess you know on which system I tracked when I was young...
Doesn't depend on "old or new", it's simply the lack of quantization.

QuoteAha! Where can I set that amount of delay for every note I record?
ModPlug will determine that automatically. If you are at speed 12 and you enter a not on row "47 and a half", it would insert a SD6 command for example (as 12 / 2 = 6, duh).

QuoteOf course, but it shocked me a lot that painting the song pattern was so hard to do for a moden system. By now, I guess you know on which system I tracked when I was young...
It isn't. But you don't really have control over the playback buffers with WaveOut, and it's not much better with DirectX I think. Please don't think of ModPlug as a "modern system" or "modern software" in this case, as ModPlug's mixing engine is more than 10 years old now and there ARE ways to improve syncing and you could even go down 10ms latency with DirectX I guess, but ModPlug is simply not capable of doing that.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

LPChip

OMG, you have a Buffer lenght (latency) of 75ms. Lower this value as much as possible without getting crackling noises and it should solve your problems.

If you can't get it much lower, try downloading the program Asio4All, which is a software ASIO driver that will improve your situation.

You should be able to get 30 ms to 50 ms, and with ASIO as low as 1ms to 5ms.

Btw: you can recognise the kind of sounddriver (wave/directx) by the icon in front of the name. yellow/gray speaker = wave driver, blue with yellow x = direct sound (directx) and red A is asio.
"Heh, maybe I should've joined the compo only because it would've meant I wouldn't have had to worry about a damn EQ or compressor for a change. " - Atlantis
"yes.. I think in this case it was wishful thinking: MPT is makng my life hard so it must be wrong" - Rewbs

residentgrey

Is it in edit mode? I am just pointing out a possibility. I forgot to put it on and freaked out a couple times myself.
No two people are not on fire...AWWW!

[img]http://www.taralax.com/assets/gfx/tsbanner_xpmono.png[/img] Web and Graphic Design just for you!
I r GhostMech on there, forever scouting.

Saga Musix

Edit mode only unlocks the editing options, and doesn't affect latency, though. ::)
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

bvanoudtshoorn

Out of curiosity, what else do you have running on the machine while you're working? Could you also try pressing [Ctrl]+[Shift]+[Esc] and seeing what your CPU, Page File, Physical Memory, and Thread/Process counts are.

jcmarcos

Thanks uncloned and Jojo for the link to ASIO4all, a place which I've just visited, and have learnt a lot of things. The most important, that Michael Tippach is a hell of a guy: Not only he codes in assembler (!), he also is able to write both very detailed and entertaining documentation! But I won't install ASIO immediately, because of this:

Quote from: "LPChip"you have a Buffer lenght (latency) of 75ms. Lower this value as much as possible without getting crackling noises and it should solve your problems

I suspectedf that... It's the default value that OpenMPT chose. I'll lower it as much as possible. It that doesn't solve my problem, then I'll have a go at ASIO. This is also very educating:

Quote from: "Jojo"you don't really have control over the playback buffers with WaveOut, and it's not much better with DirectX I think. ModPlug's mixing engine is more than 10 years old now and there ARE ways to improve syncing and you could even go down 10ms latency with DirectX I guess, but ModPlug is simply not capable of doing that

Understood. But it really shocked me, when I was more ignorant, that a tracker wasn't able to stick the note just where I wanted it. The option to automatic insert delay commands is interesting but... I'd rather have no additional commands, but just notes going to where they should. But OpenMPT lacks quantization.

Quote from: "bvanoudtshoorn"what else do you have running on the machine while you're working?

Nopthing. Honest. Of course, the only running application is OpenMPT, accompanied by the dozens of inevitable processes that make everyday's life in the operating system (both XP and 2003). There's free RAM aplenty, and the CPU is idle 98% of time, just like in any modern computer. I don't even have a fscking antivirus (and I'm proud of it).

Thankyou very much again, guys! I'll do some tests, and tell here about them.

Saga Musix

Installing ASIO4All is always a good idea. ;) It will give you native 32bit output. I'm not sure if DX is capable of doing that. (And for those who think that you can't tell the difference - modplug's internal mixing routines work in 32bit, hence no downsampling is required.)
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

jcmarcos

I've just tested your suggestions, people. First, I set latency to the lowest possible (10 ms), and immediately had that horrid distorted metallic sound that you all know very well. I raised it up to 50 ms and sound was allright, but again, notes were put in the row before they should go.
Next, I enabled the option to add delay commands automatically, and that did the trick, as you knew already.

Fantastic? No! The problem now is that OpenMPT reveals that I suck!

Now, thanks to those commands, notes play exactly when I pressed them, and that is the problem: I'm unable to keep a rythm fluently.
It's like listening to a kid playing a piano, allways missong the beat, sometimes early, sometimes late. It's also very disturbing to see that notes, in many cases, still are in the row before, although the delay command makes them sound when they should... almost! I wanted them all "snapped" nicely to where they shoud be. I need quantization.

...or practice a lot more! There's really no way of having quantization in OpenMPT?

Saga Musix

QuoteI've just tested your suggestions, people. First, I set latency to the lowest possible (10 ms), and immediately had that horrid distorted metallic sound that you all know very well.
Yes, that wouldn't happen with ASIO, which even works with incredibly small buffers. The latest test version of OpenMPT can go down to 1 ms.

QuoteThere's really no way of having quantization in OpenMPT?
At the time of writing, no.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

jcmarcos

Quote from: "Jojo"
QuoteThere's really no way of having quantization in OpenMPT?
At the time of writing, no.
Doh! Because it's very hard to implement, or because good musicians don't need it?

Saga Musix

I don't know if it's hard to implement; In fact, I have never tried. I guess it would be helpful to see how other programs do it, but due to the lack of Midi In on my main computer, I cannot really do much about this at the moment anyway.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

uncloned

the basic idea in Sonar is to make "bins" of a particular size, like quater, eight, sixteenth, 32nd, in size and the performance note goes into the closest bin.

In addition it can apply rules to simulate swings or grooves to the quantized notes.

In the end I find quantization unsatisfactory because it robs the performance of the feel of a live performance. At that point you might as well just track it.


One technique that helps is to record at a slower tempo than intended - in that case, if you are careful, your errors will be minimized when you speed the tempo back up. I am suggesting on the order of twice as slow. And.... I hope you are playing along with something in the pattern to get the rhythm right - something that will serve as a metronome = if not you are making things much harder than they need to be.

jcmarcos

Quote from: "Jojo"
Quote from: "jcmarcos"(implement quantization)

I don't know if it's hard to implement; In fact, I have never tried

So Jojo, you are an OpenMPT developer? I didn't know, but I suspected it, by your comments about the inner workings of the program.

Quote from: "uncloned"In the end I find quantization unsatisfactory because it robs the performance of the feel of a live performance.

That's what I thought. Quantization for musicians is like ABS for racing drivers - an assistance that they should never use. But, if implemented as an option, it can help suckers like me!

QuoteOne technique that helps is to record at a slower tempo than intended - in that case, if you are careful, your errors will be minimized when you speed the tempo back up. I am suggesting on the order of twice as slow

Yes, I used that "slow motion" technique in the begining (and not only then!), simple and useful.

Thankyou all again. By now I reckon that I've bothered you all too much with my lack of experience. But I think that my problem should be added to a FAQ, because I think it will happen to any newcomer to OpenMPT.

LPChip

Quote from: "jcmarcos"
Quote from: "Jojo"
Quote from: "jcmarcos"(implement quantization)

I don't know if it's hard to implement; In fact, I have never tried

So Jojo, you are an OpenMPT developer? I didn't know, but I suspected it, by your comments about the inner workings of the program.

If you look on the left side of his post under his name, it even says that he's an OpenMPT developer X)
"Heh, maybe I should've joined the compo only because it would've meant I wouldn't have had to worry about a damn EQ or compressor for a change. " - Atlantis
"yes.. I think in this case it was wishful thinking: MPT is makng my life hard so it must be wrong" - Rewbs

residentgrey

When I get my keyboard to work with MPT I'll keep all that in mind!
No two people are not on fire...AWWW!

[img]http://www.taralax.com/assets/gfx/tsbanner_xpmono.png[/img] Web and Graphic Design just for you!
I r GhostMech on there, forever scouting.