Rockbox Technical Forums

Support and General Use => Recording => Topic started by: quincy on July 24, 2007, 12:04:11 AM

Title: is it possible to play with yourself?
Post by: quincy on July 24, 2007, 12:04:11 AM
with rockbox (specifically for iaudio x5) is it possible to record over a file and hear it being played at the same time?
Title: Re: is it possible to play with yourself?
Post by: AlexP on July 24, 2007, 03:03:40 AM
No, not currently.  Maybe someone else can say if the hardware allows this.

I wonder how many people will look at this topic because of the somewhat suggestive title!
Title: Re: is it possible to play with yourself?
Post by: gnu on July 24, 2007, 03:47:57 PM
Yeah, I love the title ;)
AFAIK the X5's CPU (coldfire) isn't fast enough to play and record at the same time. It might however be possible on Portaplayer targets and the Gigabeat.
Title: Re: is it possible to play with yourself?
Post by: Multiplex on July 25, 2007, 08:08:36 AM
There was a discussion about using (an iRiver at the time) as a Real-Time DSP effects device - the relevance being that it would need to be driving input and output simultaneously.

try some more searches - I'm sure someone (who should know) said it would be technically possible - you might have to do it in a CPU efficient format though, and I'm wondering how you'd synchronise the played music with the output from the ACD to do the mix.
Title: Re: is it possible to play with yourself?
Post by: jhMikeS on July 28, 2007, 01:18:55 AM
/me wonders why he has to repeat this often: full duplex sound already works on coldfire (H1x0/3x0, X5) and effects plugins have been implemented already (but are not part of the distribution yet) :D

You are listening to the data received from the ADC being looped back to the DAC. The monitoring is not analog so it is replaying what's recorded but not what's encoded. Unless you're using the MP3 codec it will make no difference to decode and immediately play back what's compressed since you'll just get the same pcm back that already gets looped out.
Title: Re: is it possible to play with yourself?
Post by: benosoft on July 28, 2007, 12:13:37 PM
Hey jhMikeS, I knew about full duplex, but I didn't know there actually were effects plugins!
Do you have any interesting links about them?

Thanks!
Title: Re: is it possible to play with yourself?
Post by: jhMikeS on July 29, 2007, 11:40:36 AM
benosoft,

Sorry, no links. They were just a couple experimental bits preglow and I made up to prove things out - flanger and ring mod.
Title: Re: is it possible to play with yourself?
Post by: Multiplex on July 30, 2007, 08:03:46 AM
Quote
You are listening to the data received from the ADC being looped back to the DAC.
I understand what you are saying is true in the context of the effects stuff but what I think quicy is after is playing a file - a backing track say, and adding another track to it (vocals) and record the resultant mix.
This can be done in two ways;
A) play a file to line out, mix in the new track(in the analogue domain), record the original + new to a new file
B) play a file, get line in (assume it is only the new track) and mix it into the original file (or maybe the input will be written to a second file to be mixed off-line)

I suppose that they are roughly equivalent to the old two deck and single deck tape recording methods. To cary the analogy further in B you have the delays caused the the pipelines in the DAC and ADC, the same as the distance between the record/playback heads on the tape players. On the tape players they eliminated this problem by using the record head to play the backing track while recording the new track.

I suspect the pipelines are tiny (single sample each maybe - you'll know from the effects stuff) but any leakage of the backing track into the recording stream will cause it to be mixed in a few samples out of phase - effectively creating a filter.

Option A of course suffers none of the synchronisation problems but does have multiple D-A/A-D stages so there will be increasing levels of qualitisation noise.

Just the ramblings of an intrigued lurker ...
Title: Re: is it possible to play with yourself?
Post by: jhMikeS on July 31, 2007, 12:23:59 PM
There's possiblity in that but I don't really think it's a core feature but is quite able to  be implemented in a plugin. The same pcm functionality that the core uses is available to plugins for recording and playback. IIRC this entire subject has come up previously.

There is 12-24 samples hardware delay for a full loop depending on the CPU. Of course this and buffer delay can be compensated by moving the mix point back in time to the proper buffer location.

I think one of the effects I mentioned counts as a comb filter made by the analogue technique of mixing the delayed signal with itself via recorder delay and changing tape speed with a finger on the flange. The other doesn't have anything to do with jewelry modification. :D

EDIT: Just noticed there's another thread about this in this forum. Three times the charm. :P
Title: Re: is it possible to play with yourself?
Post by: mlind on August 10, 2007, 04:25:17 PM
EDIT: Right. Moved.

http://forums.rockbox.org/index.php?topic=8144.msg91295#msg91295
Title: Re: is it possible to play with yourself?
Post by: Febs on August 10, 2007, 04:31:30 PM
They were just a couple experimental bits preglow and I made up to prove things out - flanger and ring mod.
Sorry for possibly being a pain in the...  but have you had any further thoughts about 20 bit recording for iRiver?
I remember you some months ago saying something about it being not too far fetched...

Surely at some point I'll confirm its possibility for starters but preglow's got me on this waveform synthesizer trip now...(snip)

As you know, there is a thread on 20 bit recording.  (You've posted in it previously.)  Let's keep this thread on-topic.  If you have questions about 20-bit recording, raise them in the other thread.
Title: Re: is it possible to play with yourself?
Post by: lenny on September 23, 2007, 07:31:48 PM
for reference:
http://forums.rockbox.org/index.php?topic=2138.0