Synchronize your in-tracker music with a WAV file?

Started by game_over, August 26, 2011, 13:22:00

Previous topic - Next topic

game_over

I have a song I played with my guitar and I would like to add some other sounds to it. Currently I imported the whole song as WAV sample (which, by the way, made it sound better -- I don't know what kind of resampling is that, but it's awesome) and playing it on channel 1.

My problem is: since it only plays on the first pattern, every time I want to go and fix something somewhere in the song, I have to LISTEN FROM THE VERY BEGINNING, and when I have to use note delay constantly to make up for me not being the greatest guitar player you can find, playing the whole song from the start just to hear if ONE NOTE is in its proper place gets really tiring really fast.

I love OpenMPT, I love its tracker interface combined with a chance to use VST and sounfonts (via sfz+) but when I want to synchronize it with a WAV track inside OpenMPT itself, that's really a problem...

Is there a way to do something so that I could start playback from ANY position within the patterns and it would actually play the WAV file from the right spot, too? I need to synchronize them properly, somehow...

LPChip

You cannot just play from a location and let the waveform automatically play from that position.

You can work around this problem in a few ways.
The best way would probably be to cut the waveform in pieces (perferably per beat) and sync your pattern to those pieces. Then you can have a wave start at every pattern, meaning that you'll be able to start the song everywhere. This of course takes a huge amount of time.

An alternative is to not use OpenMPT, really.
"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

jmkz

I cannot undestand at all; but I guess you looking for this:


ModPlug Tracker  IT
|C-501...A1D|C-502......
|...01......|...02......
|...01......|...02......
|...01......|...02......
|...01......|...02......
|...01......|...02......
|...01......|...02......
|...01......|...02......
|...01......|...02......
|...01......|...02......
|...01......|...02......
|...01......|...02......
|...01......|...02......
|...01......|...02......
|...01......|...02......
|...01......|...02......


Use this trick to play at your desired position using 'play pattern' button / shortcut. Hope you want that :)

EDIT: This trick only work on certain conditions. The best way is get a sample for each pattern (meaning that it's a little bit difficult get this in two or more patterns) and another one in the next pattern. Also try increase the number of rows of your patterns if you dont want divide your main sample into small pieces.

Saga Musix

OpenMPT does indeed not preserve sample sync on skip (would be really expensive to compute, AFAIK even Renoise only does it on some kind of extra channels), so the best way is to divide your sample into several pieces which are as long as one single pattern. There are several tools that can help you with this:
1. If the sample has the exact length of n patterns, you can use the sample grid (green-ish icon above the sample view) to limit sample selections to n selection points. That way, you can create several samples out of that one sample.
2. In any other case, it would be more preferrable to render the channel that plays the sample to WAV, and import it into a wave editor that can handle cue points (a free one is f.e. Waveosaur, probably also Audactiy) and cut the sample at the cue points which are automatically inserted at every pattern transition.
» 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.

Saga Musix

Three years later, this feature is practically there, but needs a lot more testing, as I'm finding new bugs in it every day.
In principle it works like this: After enabling "Maintain sample sync on seek" option in the general settings, you can jump around in your module and samples from previously playing patterns should keep playing.
What's the catch? Well, to keep things simple and fast, some operations are optimized away or are simply not allowed while seeking. For example:
- Syncing samples with portamento up/down or volume slide effects is not possible.
- NNAs are not processed, only the last playing note on that channel can be heard.
- Some channels are optimized out directly, e.g. when the target jump position has a note cut or a new note (without portamento).

It might seem limiting at first, but for the intended purpose, it should work well. But as said, it's quirky as hell and needs a lot more testing, so please grab a test build and use this feature! Report any instances of hanging notes, wrong notes, etc...
» 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.