[software] Tape Loops

Started by Louigi Verona, July 07, 2009, 20:07:29

Previous topic - Next topic

uncloned

instead of byte identical length I would suggest:

1. default to shortest length
2. make the length definable - silence is just as valid as sound

Louigi Verona

Quote from: "Sam_Zen"I still don't understand why a switch Loop/Once would cause some delay..

because to do that I have to reload the sample and that takes time.

QuoteNot tested yet, but I suppose all samples should have byte-exactly the same length.

Yep. Well - if you are saving a sample from a tracker or a sequencer and it is, say, 2 beats long, then it would be precise. It would go fine with samples of larger lengths of course.

Quoteinstead of byte identical length I would suggest:

1. default to shortest length
2. make the length definable - silence is just as valid as sound

Could you please explain the 1. point, I didn't understand what you mean.

As for the second thing, it is an interesting option to consider, although I am very keen on not bloating the app with features. Because there is no problem in recording a sample and leaving some silence in it.

Saga Musix

You could simply use a good audio library like BASS which wouldn't have any problems with switching loop types... Oh wait you hate proprietary software, I forgot! :lol:
» 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.

Louigi Verona

hehe. No offence, Jojo, but it only shows that people tend to say things without verifying them just because they think noone will check.

This app actually does use BASS and yes - it is impossible to switch between loop/once in BASS without reloading the sample. But to be more precise, it is not reloading the sample, it is reinitializing the channel with new attributes. And this inevitably takes time.

Anyway, here's an update: this version fixes the process thing - now the processes will be terminated normally, and also adds arrows to help you sync files. I found out that on lower speeds the sync works much (unfortunately) worst.

http://www.louigiverona.com/files/tapeloops.zip

Perfect sync will be possible only if I work on the MDI version - that is one app which can open child windows inside it. But that would be version two and not too soon.

As for proprietary software - I do not hate it. Emotions have nothing to do with my choice of trying not to accept proprietary software whenever possible. If you accept proprietary software - well, what can I say. This is your choice, although I consider it to be a poor one. We had a person here who tried to control how we manage relationships with our friends by putting a license on his music. Maybe you consider this to be good too.

Louigi Verona

At first I got upset that synchronization wasn't perfect. Because one app has to send the sync signal to the other - that takes time. Audible time. And so when I tried to sync such sensitive things as beats, hihats, snares - it was all absolutely out of sync.
But what's great about simple things (incl. simple apps) is that you can come up with simple and very effective methods.

With this app right now I created a house tune with around 12 different loops playing all together in perfect sync. The idea is amazingly simple.

Here's what you do.
You create one master loop, load a master sample loop of your tempo (usually a beat) and then mute it.

And then you create other tape loops and sync them with the muted master deck. While there will be an offset with the master deck, which is muted anyway, between other loops synchronization will be perfect, since the offset is the same!

I never intended it to work that way, but I guess this version of the software should be synced like that. And when I will make the MDI version (if I will) with child windows rather than instances of app, synchronization will be of no problem at all.

Louigi Verona

Removed the arrows that helped to sync - now they are not really needed.

Added keyboard control:
Space - play/stop
M - mute/unmute
B or O - open file
C - sync
V - set as master
T,G - volume
F,H - panning

http://www.louigiverona.com/files/tapeloops.zip

Sam_Zen

Nice. It is maybe handy to add some version number to the file(-name).
0.618033988

Louigi Verona

Guys, finally I have documented the features and explained how to use them all.

http://www.louigiverona.com/?page=projects&s=software&t=tapeloops

Your suggestions would be welcome.

ps: does anyone really find this app useful?

Sam_Zen

Very nice description. If the prog will be useful ? I think so, but time will learn.
0.618033988

Louigi Verona

I have thought of creating an MDI interface for tape loops. Not only I have thought about it, but I have even started implementing this when suddenly I thought that I am not sure whether it is really needed.

Why would MDI interface (or such) be welcome?

1. Easier to record.
2. Easier to sync.

The first point is a mere convenience. one can always record MixOut of your soundcard or use a software that can do that. I personally have no problem with it.

The second point is very valid, of course.
Automatic sync is not very reliable due to the method - it heavily depends on the amount of free RAM and possibly the amount of tape decks open. If you are running a serious program in the background, master deck synchronization will most certainly lag.
On the other hand, manual sync works perfectly, but it requires a lot of practice. If you tried playing in a band with other people, you know that when you thought your feel of rhythm was good, when you have an actual reference, only then you understand how much you need to practice. Same with Tape Loops. If you are mixing things like beats and such you will need to hit the key at precisely the right moment. The response from the keyboard is immediate, but I personally am not 100% good with it yet.

So I decided that at the moment I will postpone working on the MDI version. I certainly plan to do this in the future and I promise to use a free audio library, not something nasty and proprietary like BASS, but the amount of work, required for that, is too large and I would prefer to work a bit more on a standalone version and enjoy doing some music with it.

What I plan to implement are a couple of more features - pre-listen, volume and panning automation and perhaps sound recording. the latter depends. I am not really sure how I want it to work and whether it is simpler to just use a sound editor for these things and not bloat tape loops with that. although the original magnetic tapes could record.

Also I will research additional things like pitch control and reverse play.

So there's a lot of interesting work and I hope someone will also find this app useful for themselves.