ModPlug Central

Community => General Chatter => Topic started by: Louigi Verona on July 07, 2009, 20:07:29

Title: [software] Tape Loops
Post by: Louigi Verona on July 07, 2009, 20:07:29
Hey guys!

I have created a post at the free and open source software thread, but later decided to make a thread fully dedicated to this, because I am afraid not a lot of people might notice this.

I started working on a program which I plan to use in a performance which is planned in autumn and want to present the first version - already functional and can be used.

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

Tell me what you think and feel free to download if you find it useful!
Title: [software] Tape Loops
Post by: Sam_Zen on July 07, 2009, 22:48:28
Not unzipped yet, only watched the tube so far, but I'm impressed ! Looks like a very useful tool..

It has of course a slight decrease in volume of the repeats, to avoid ending up with resonations.
Is this a lineair fade-out, or is it possible to give it another envelope ? It sounds beautiful anyway..

Quotethe ability to record sound from microphone and also display the loaded waveform

This is a thing every wav-editor does, so I suppose you want to use a mike sound to put in the tapeloop,
instead of loading a WAV-file ?
Title: [software] Tape Loops
Post by: Louigi Verona on July 08, 2009, 06:03:06
QuoteIt has of course a slight decrease in volume of the repeats, to avoid ending up with resonations.

Didn't understand what you mean here %)

QuoteIs this a linear fade-out, or is it possible to give it another envelope?

It is just a linear volume control.

Quoteso I suppose you want to use a mike sound to put in the tapeloop,
instead of loading a WAV-file?

exactly. what I wanna do during a performance is record notes of a piano that stands on stage - do that in real time right in front of an audience so that they see what's going on - and then use these notes in a composition similar to what you saw on the video.
Title: [software] Tape Loops
Post by: PPH on July 08, 2009, 12:14:08
I saw the video, too. Nice. This uses the generative music concept explained by Brain Eno, right? I think the effect is interesting, how a group of looped notes start overlaping and originate a complex layered sound.

I haven't downloaded the software yet. I see that it is a wav player that loops what you play. I wonder why you didn't use a simple existing player, like XMPlay, which can loop a track and of which you can open several instances at the same time.
Title: [software] Tape Loops
Post by: Louigi Verona on July 08, 2009, 13:05:31
generative concept? hm. Well, not really. At least, not the way it is done in Koan, which uses very complex rules to generate pretty complex sounding music - with chord changes, etc.

But yeah - it is generative in a way that the music is being generated by some process. Actually, this concept is I don't know how many years old and comes from using tapeloops.

XMPlay has a bulky interface not suitable for performance, plus I will expand Tape Loops a bit - it will have the ability to record from mic and instantly make the sample available for looping.

Also, it is fun to make your own tools.
Title: [software] Tape Loops
Post by: LPChip on July 08, 2009, 15:40:37
Nice program, but I don't have loops so its kinda hard for me to use this.

If it were possible to have a softsynth (of any kind) attached to it, and make it play one note or a sequence even, it would be better IMHO.
Title: [software] Tape Loops
Post by: Louigi Verona on July 08, 2009, 20:28:56
Why not use a sequencer then?

The beauty of this exact program is that it emulates the cassette tapes situation. One could play it and one could record on it. And that's all the programm would be able to do.

I also plan to make a second version which will allow to group tape loops and thus allow the musician to start several tapes simultaneously, thus allowing basic synchronization.

The reason why I stick to such a scheme is that I believe it is one of the greatest methods to create sound music and its simplicity opens a lot of space for application of skill, imagination and creativity.
Title: [software] Tape Loops
Post by: LPChip on July 08, 2009, 21:50:42
Quote from: "Louigi Verona"Why not use a sequencer then?
I actually use a sequencer too. EnergyXT next to modplug for my sequencing needs (mostly recording my piano and CF plays).

Quote from: "Louigi Verona"
The beauty of this exact program is that it emulates the cassette tapes situation. One could play it and one could record on it. And that's all the programm would be able to do.

I also plan to make a second version which will allow to group tape loops and thus allow the musician to start several tapes simultaneously, thus allowing basic synchronization.

The reason why I stick to such a scheme is that I believe it is one of the greatest methods to create sound music and its simplicity opens a lot of space for application of skill, imagination and creativity.
Agreed. One could argue that such functionality would already exist in a sequencer, but the difference is, that a sequencer is aimed for recording and arranging a track once and then be able to play it back. You obviously are looking at the performing aspect of music, which is gerat. :)
Title: [software] Tape Loops
Post by: Sam_Zen on July 09, 2009, 00:46:47
Yep, it's the realtime-performing aspect of this tool which I find very attractive.

And indeed, if making a microphone input for this, there should be a line input as well for non-accoustic sources.

The idea of a common start of a bunch of opened tapeloops at the same time sounds very nice.
Title: [software] Tape Loops
Post by: uncloned on July 09, 2009, 02:23:54
I believe Abelton live does all this and more - it was made for live loop recording and mixing.

Of course it costs money - perhaps someone has a knock off version of it - or LV can develop one :-)

You can try Live for free

http://www.ableton.com/free-trial

QuoteLive's Session View acts as a musical sketch and launch pad, encouraging you to try out new ideas and improvise freely. Each cell in the Session View grid can hold a loop, recording, MIDI file, complete song or any other musical element. These ideas can be recorded on the fly or dragged in from the Browser, combined and played in any order you wish.
[/i]

$139 for the LE version is really not outrageous - the 6 or 7 hundred to get Sonar producer w/o an upgrade is....

One more note - using "key jazz" I was able to real time play samples in FT 2 - which emulates this looping idea as well (with sufficiently large loops loaded as samples).
Title: [software] Tape Loops
Post by: Louigi Verona on July 09, 2009, 06:22:05
Every sequencer has synchronization, you know, beat matching - all that stuff. If you are working with tape loops - you don't have that.

Also, my software has a small (hehe) feature - is that you can visually tell which tapes are looped and which are not since they change color. The green tapes play the record once, the red once loop.

And what is "key jazz"?
Title: [software] Tape Loops
Post by: Louigi Verona on July 09, 2009, 06:22:58
QuoteYou can try Live for free

This is true - Pirate Bay is your friend.
Title: [software] Tape Loops
Post by: uncloned on July 09, 2009, 13:16:17
The company lets you try for free.

Live changes color when you launch a loop track - and if your loops are of differing size - and you turn off beat matching - it will behave as you describe.
Title: [software] Tape Loops
Post by: Louigi Verona on July 09, 2009, 13:38:10
Yeah, Chris, I know, I was joking. Ableton is cool, but Tape Loops is a bit different concept anyway - they are a bit more hardcore, a bit more raw some might say.

ps: I "own" several licensed versions of Ableton which came with hardware - midi keyboards and my soundcard. The version are Light, I am not sure what's missing from them.
Title: [software] Tape Loops
Post by: LPChip on July 09, 2009, 18:53:37
Quote from: "Louigi Verona"
ps: I "own" several licensed versions of Ableton which came with hardware - midi keyboards and my soundcard. The version are Light, I am not sure what's missing from them.

Darkness. :nuts: :lol:
Title: [software] Tape Loops
Post by: psishock on July 09, 2009, 21:28:07
Quote from: "LV"ps: I "own" several licensed versions of Ableton which came with hardware - midi keyboards and my soundcard. The version are Light, I am not sure what's missing from them.

full/light comparison list:
http://www.ableton.com/live-le-feature-comparison

Quote from: "in site, they"light:
...
External VST/AU instrument instances per project = 2
External VST/AU effect instances per project = 2
....
it gets pretty much useless for any normal producing purposes from here, if you ask me. I have some licensed LE versions from hardware too.
Title: [software] Tape Loops
Post by: uncloned on July 09, 2009, 21:32:05
different story with a hardware synth though :-)

I'm giving serious consideration of trying it

I got Live 6 - but also got an updated LE version with my 88 keystation that I want to take for a ride - I'm talking to my son on how to do this since he is an expert on the software
Title: [software] Tape Loops
Post by: psishock on July 09, 2009, 21:40:20
Well if you ask me, Ableton Live is one of the most user friendlier, coolest and feature rich sequencer out there, i've tried some stuff on it, i've liked it the most, from the "big ones" (tried almost every each, that are made for PC). Everything is kinda self explaining, had no trouble putting some stuff together with a additional little manual reading. It seems, that the software is ready for any situations. If i would be forced to use any sequencer, this would be my definitive choice, at this point. So i'm encouraging you too, to try it out Uncloned. :)
I've heard some really good stuff about Logic Pro for MAC, but had no chance to try it out. People seems to adore that piece of software too.

Quote from: "uncloned"different story with a hardware synth though :)
:P very true.
Title: [software] Tape Loops
Post by: uncloned on July 09, 2009, 21:43:46
I'm heading to that - later this evening (for me) I think.

And I like your new avatar too!
Title: [software] Tape Loops
Post by: Sam_Zen on July 09, 2009, 22:44:11
Yep.. key jazz ?

I did a few live performances with OMPT, running patterns, selecting channels, etc.
Then I also used realtime playing on the pc-kb a lot. Producing looping samples.
One can even play chords simultaneously. Of course it's only one active sample at a time.
Title: [software] Tape Loops
Post by: uncloned on July 10, 2009, 04:22:21
I dunno - FT 2.09 called it key jazz I thought - perhaps the zen of tracking?


Anyway.... I did get the live loop recording to work with Abelton Live


Understand I find the interface immensely frustrating ...

But the proof of concept is posted in Free Music with details

This used Ableton 6 in Demo mode - anyone can do this for free!!! if they have a mic and their voice - or an instrument.
Title: [software] Tape Loops
Post by: uncloned on July 10, 2009, 04:33:41
http://forum.openmpt.org/index.php?msg=26058.0#msg26058

link to demo #1
Title: [software] Tape Loops
Post by: Louigi Verona on July 10, 2009, 06:29:49
psishock: yeah. nice list. in other words, the "free" version is actually something you can't really use.

I don't know. I tried out Ableton and found it to be not my cup of tea at all, but I can see why it is so liked by people.
Title: [software] Tape Loops
Post by: maleek on July 10, 2009, 17:33:14
I like this project. I wasn't actually aware that these kinds of things existed. Since I own a hardware controller maybe Ableton would be interesting to look into eventually, but Tapeloop is quite a raw beauty in itself. I like the unpredictable feel to the looping process. That is potentially very resourceful when trying to evolve musical phrases and even entire scores (as shown in the video).
Title: [software] Tape Loops
Post by: uncloned on July 10, 2009, 21:38:54
Quote from: "Louigi Verona"psishock: yeah. nice list. in other words, the "free" version is actually something you can't really use.

.

I disagree and I think my demo provides proof of my assertion.
Title: [software] Tape Loops
Post by: Sam_Zen on July 11, 2009, 02:28:54
hmm.. Back to Tape Loops. Testing.

(http://www.louigiverona.com/webarchive/samzen/download/pic/TL_modes.png)

Took a very short tick-sample and a longer pattern of 30 secs. The loop adapts ok.
To see if I could loop a complete song, I loaded 8:22. Pressing Play caused a system crash plus reboot.

1. Two modes : Loop and Once. Appear to be only valid before loading the sample.
2. When playing, switching this mode makes no difference in behaviour.
3. Setting the position slider before Play works in Loop mode. In Once mode the slider jumps to start if Play.
4. I don't understand the function of the slider at the top.
Title: [software] Tape Loops
Post by: LPChip on July 11, 2009, 08:38:52
4. Volume. :)
Title: [software] Tape Loops
Post by: Louigi Verona on July 11, 2009, 11:39:29
Quote from: "Sam_Zen"

1. Two modes : Loop and Once. Appear to be only valid before loading the sample.

Sam, this is fixed in the newer version - now you can switch between modes in real time. I also added panning control.

Here's the link. http://www.louigiverona.com/files/tapeloops.zip

Note that during the switch a click may occur, so try to switch either when the sample fades away, so it's not too loud, or when there are a lot of loops playing since the click will simply not be heard.


I am now working on the main feature - ability to group loops and sync them by starting them at once - but this is not very trivial and I am researching various methods.
Title: [software] Tape Loops
Post by: Louigi Verona on July 11, 2009, 12:04:37
Another important pointer: do NOT, ever, load a sample that is larger than 64 Mb.

All of this are certainly limitations. I think the 64 Mb limit I can fix, but not now, as it will require a little bit of rewriting. I think that 64 Mb is a lot and if you want a longer song - make it, say, 22500 instead of 44100, or find another way to make the sample less in filesize.

Any additional feedback is very welcome.
Title: [software] Tape Loops
Post by: uncloned on July 11, 2009, 12:08:24
LV - I don't know how difficult VST interface programming is

- if you made your program VST compatible you could trigger it at will from OpenMPT
Title: [software] Tape Loops
Post by: uncloned on July 11, 2009, 12:30:31
IKn the shower I had a "duh" moment - in what direction are you planing to move with this program? At the moment one could do this in OpenMPT - though I found FT2 much easier to use with loops due to the scopes.
Title: [software] Tape Loops
Post by: Louigi Verona on July 11, 2009, 12:30:45
ugh! I don't know if it's difficult or not too %) I will consider it, of course!

On the other hand, what use is it as a VSTi?
Title: [software] Tape Loops
Post by: uncloned on July 11, 2009, 12:36:00
1. trigger control
2. chain through additional effects
Title: [software] Tape Loops
Post by: Saga Musix on July 11, 2009, 13:02:22
I can't see how this would be useful as a VST for ModPlug at least. All that can be done with samples.
Title: [software] Tape Loops
Post by: uncloned on July 11, 2009, 13:15:42
I agree that with mpt it is kinda redundant. But quite useful for DAWs like Sonar as a vsti.
Title: [software] Tape Loops
Post by: PPH on July 11, 2009, 14:06:07
To program VSTis you must know C++ and digital processing concepts (very little of the latter in this case, since Tapeloop just records and plays sound), although I believe there are wrappers to make VSTis in Delphi. Anyway, turning Tapeloop into a VSTi would take Louigi a lot more work, I think. Even  if he does know how sound is represented in a computer (I believe he does) and C++ (I suspect he doesn't).

Besides, I think JoJo is right. Tapeloop is actually a very simple sampler. It records (or will record in future versions) and plays sound. The very point of making it is not having to deal with a complex piece of software. In a DAW like Sonar you might use another sampler, even a simple one, like sfz (although you would first have to make a file that specifies that the sample loops, which you don't need to do with Tapeloop and is a great advantage of the latter).
Title: [software] Tape Loops
Post by: uncloned on July 11, 2009, 14:39:53
It seems to me that tape loops is pointing to a free version ableton live - which would be a good thing. Assuming it doesn't exist already.
Title: [software] Tape Loops
Post by: uncloned on July 11, 2009, 15:36:22
Actually their is a foss clone started but it is extremely basic now.

I'm on my blackberry and can't post the url.  

Google live ableton clone.
Title: [software] Tape Loops
Post by: Louigi Verona on July 11, 2009, 19:52:32
Yeah, my C++ is very basic, although with all these programming efforts I am getting better.

But the whole point of Tape Loops is a program for live performances and also an interesting method to create music too. As PPH said, these are just basic samplers. If I manage to make them sync then it will indeed be a very simple version of Ableton Live. Without sound effects.
Title: [software] Tape Loops
Post by: uncloned on July 12, 2009, 00:27:38
LV - in days of old I program a set of applications that talked to each other using DDE

dynamic data exchange I believe - it was a Windows service 3.1 and was simple to use. I'm betting the facility, if it still exists in XP/Vista, is still built into a Windows library to support older applications. It was built into VB 3 and also Creative labs software - this way I got a VB program to trigger text to speech - and helped me control a pilot plant.

It may help you solve the synchronization problem.

One ability I'd suggest putting in your program is the ability to change the playback speed. People here should know a lot about doing something like that.
Title: [software] Tape Loops
Post by: Sam_Zen on July 12, 2009, 00:48:18
Quote from: "Louigi"now you can switch between modes in real time. I also added panning control.
Very nice ! Panning control is anyway, but, as you mention the live playing, this switch will make it possible
to make a correct stop of the looping. Not abrupt, but just at the endpoint of the sample.

OT; Why, when a very simple app is made, with a straightforward task, seems it so often to be necessary to compare it with other, bigger apps ?
I don't see a point in that. Always this search for swiss knives..
Title: [software] Tape Loops
Post by: uncloned on July 12, 2009, 01:31:06
Sam, if you are refering to my comments about Live - why reinvent the wheel?
Title: [software] Tape Loops
Post by: Louigi Verona on July 12, 2009, 07:54:45
QuoteLV - in days of old I program a set of applications that talked to each other using DDE

Yeah, yeah - this is exactly what I am researching now! Things haven't changed much since the days of old =)

Quoteabout Live - why reinvent the wheel?

Ableton Live is a large complex program that takes a lot of space, has lots of functionality I do not need and does too much for me to be exciting as a performance tool.
Title: [software] Tape Loops
Post by: Louigi Verona on July 18, 2009, 18:47:20
Okay, guys!
More than a week of work an learning a lot of C++ stuff that experienced programmers would find basic (like pointers) and I finally delivered a working version of Tape Loops.

Download (http://www.louigiverona.com/files/tapeloops.zip)

(http://www.louigiverona.com/images/tapeloops.png)

The added functionality is synchronization.
The principle is very simple - you mark one deck as master deck and then press "sync" on the other deck and it would start playing as soon as the master deck loop starts playing from the beginning.

There can be only one master deck, so if you want to mark another, first you have to reset the master one and then set a new master.

Also, do not switch between Loop/Once on decks that are in sync since the delay caused by this will cause decks to go async.

Anyway, would love to know if the sync works fine for you, since I've only tested it on my computer and the methods used to implement this functionality are on the border between lame and clever. ;)

ps: yeah, of course if you are syncing loops, it is better if they are perfect, otherwise the loops will go async after a while. However, if you render loops from a sequencer and they are precisely on the grid, the loops will be in perfect sync for hours - I've tested!

pps: the app has one bug - some instances of the app will leave processes running in your session (called tapeloops.exe). they don't take CPU, seem to not cause any problems and can, if desired, be stopped manually. I am now working on this and will fix this issue soon.[/url]
Title: [software] Tape Loops
Post by: Sam_Zen on July 18, 2009, 23:20:50
Not tested yet, but I suppose all samples should have byte-exactly the same length.
I still don't understand why a switch Loop/Once would cause some delay..
Title: [software] Tape Loops
Post by: uncloned on July 19, 2009, 01:59:18
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
Title: [software] Tape Loops
Post by: Louigi Verona on July 19, 2009, 07:22:56
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.
Title: [software] Tape Loops
Post by: Saga Musix on July 19, 2009, 10:42:15
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:
Title: [software] Tape Loops
Post by: Louigi Verona on July 19, 2009, 13:52:52
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.
Title: [software] Tape Loops
Post by: Louigi Verona on July 19, 2009, 18:29:34
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.
Title: [software] Tape Loops
Post by: Louigi Verona on July 20, 2009, 09:45:06
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
Title: [software] Tape Loops
Post by: Sam_Zen on July 20, 2009, 23:24:17
Nice. It is maybe handy to add some version number to the file(-name).
Title: [software] Tape Loops
Post by: Louigi Verona on July 27, 2009, 11:56:29
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?
Title: [software] Tape Loops
Post by: Sam_Zen on July 28, 2009, 00:50:15
Very nice description. If the prog will be useful ? I think so, but time will learn.
Title: [software] Tape Loops
Post by: Louigi Verona on August 03, 2009, 07:05:52
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.