Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Rockbox Ports are now being developed for various digital audio players!

+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Recording
| | |-+  New recording idea, a bit crazy
« previous next »
  • Print
Pages: [1] 2 3

Author Topic: New recording idea, a bit crazy  (Read 21661 times)

Offline lenny

  • Member
  • *
  • Posts: 190
New recording idea, a bit crazy
« on: December 10, 2005, 08:16:12 PM »
Well I was playing guitar while thinking about that plugin I found awhile back that was basically a drum machine (what ever happened to that anyway?) and I got this crazy idea.

I think somebody (I wish I could) should write a multi-track recording program for rockbox. You could have multiple channels for which you could either record to or simultaneously play back. You could only record to one channel at a time of course, but depending on how effecient the rockbox wav playing and recording routines are, theoretically could they be done simultaneously?

One more thing, humor me please. If I were to say that I wanted to learn how to program just so I could write this thing I'm dreaming up, what would I need to learn and how long would it take me to do learn so I could write this assuming I've got a good head on my shoulders? (the most complex I ever got language wise was php)

So, what does anybody think about my idea?
« Last Edit: December 13, 2005, 05:36:17 PM by lenny »
Logged

Offline OtisFunkmeyer

  • Member
  • *
  • Posts: 37
Re: New recording idea, a bit crazy
« Reply #1 on: December 13, 2005, 07:05:02 AM »
I think it's a great idea.  I even think it would be possible to get music editing software in there too. :)
Logged

Offline MoAv

  • Member
  • *
  • Posts: 96
Re: New recording idea, a bit crazy
« Reply #2 on: December 14, 2005, 03:00:37 AM »
You want one channel recording and one channel playback ? Instead of stereo playback/recording ?
Logged

Offline lenny

  • Member
  • *
  • Posts: 190
Re: New recording idea, a bit crazy
« Reply #3 on: December 14, 2005, 10:18:14 AM »
Quote from: OtisFunkmeyer on December 13, 2005, 07:05:02 AM
I think it's a great idea. I even think it would be possible to get music editing software in there too. :)
I'm glad you like the idea too. what do you mean by music editing software exactly? what are you thinking?

Quote from: MoAv on December 14, 2005, 03:00:37 AM
You want one channel recording and one channel playback ? Instead of stereo playback/recording ?
um, no. I want a multitrack recorder. record a new track while simultaneously playing back multiple previously recorded new ones. Think of it as a very small mobile recording studio for musicians.

Anyway....
Quote from: lenny on December 10, 2005, 08:16:12 PM
One more thing, humor me please. If I were to say that I wanted to learn how to program just so I could write this thing I'm dreaming up, what would I need to learn and how long would it take me to do learn so I could write this assuming I've got a good head on my shoulders? (the most complex I ever got language wise was php)
That's the thing I'm most curious about right now. Anybody have an answer to that?

-Lenny
Logged

Offline XavierGr

  • Member
  • *
  • Posts: 207
Re: New recording idea, a bit crazy
« Reply #4 on: December 14, 2005, 11:01:37 AM »
From what I understood he means:
1) Record something.
2) Play it back and record what you will play plus the playbacked file.

This way you will be able to add new "channels" to the recorded file.
(E.g You play guitar, then you want to add a second guitar, or vocals)

Seems interesting idea though I don't know if such thing si possible.
Logged

Offline lenny

  • Member
  • *
  • Posts: 190
Re: New recording idea, a bit crazy
« Reply #5 on: December 14, 2005, 11:28:42 AM »
You got it right XavierGr.
Logged

Offline pabouk

  • Member
  • *
  • Posts: 387
Re: New recording idea, a bit crazy
« Reply #6 on: December 14, 2005, 11:38:37 AM »
Quote from: XavierGr on December 14, 2005, 11:01:37 AM
2) Play it back and record what you will play plus the playbacked file.
Rather than playing a single file it would be better to mix and play several files (tracks) simultaneously. Instead of recording mix of the playback and signal from the microphone it would be better to record just sound from the microphone. I think it is possible. I guess that H100 series is capable of simultaneous playback of 4-5 mono tracks and recording of one track (44.1 kHz 16 bits uncompressed).
Logged

Offline OtisFunkmeyer

  • Member
  • *
  • Posts: 37
Re: New recording idea, a bit crazy
« Reply #7 on: December 14, 2005, 12:03:48 PM »
Quote from: lenny on December 14, 2005, 10:18:14 AM
Quote from: OtisFunkmeyer on December 13, 2005, 07:05:02 AM
I think it's a great idea. I even think it would be possible to get music editing software in there too. :)
I'm glad you like the idea too. what do you mean by music editing software exactly? what are you thinking?

-Lenny

Like Cooledit or Acid.

It would enable you to view and edit the wavform (or mp3form).   Cut it into separate tracks, adjust the amplification (permanently), loop a selection, add effects, cut out unwanted sections, adjust pitch and/or speed, basically edit the file in many ways.

an ID# tag editor would be awesome too.
Logged

Offline fizze

  • Member
  • *
  • Posts: 200
Re: New recording idea, a bit crazy
« Reply #8 on: December 14, 2005, 03:29:45 PM »
yeah, i think thats possible too.
would be fun for rehearsing ;)

it would deffo be delayed though, like 50-100ms, but as its not have to be hard-realtime, that shouldnt really matter.

the limiting factor here is memory bandwidth, as those streams deffo have to be uncompressed.....
Logged

Offline MoAv

  • Member
  • *
  • Posts: 96
Re: New recording idea, a bit crazy
« Reply #9 on: December 14, 2005, 05:11:24 PM »
OK, sorry ... thought you ment because of CPU usage you wanted it to play only one channel and record another, so no, you can't do that on a 120mhz chip . mixing two tracks into one , or playing and recording at the same time , is just like playing two different songs , that this CPU can't handle . Though I wish it was a PDA too .
Logged

Offline lenny

  • Member
  • *
  • Posts: 190
Re: New recording idea, a bit crazy
« Reply #10 on: December 14, 2005, 09:43:40 PM »
yeah. it would record all the tracks to seperate wav files. I'm not suggesting that new tracks get mixed in with the old, or that it re-records the old tracks over again, that's not really how a multi-tracker is supposed to work. (And I'm not upset at all if all of you didn't understand what I was saying, I'm know the way I said it was very unclear/incomplete.)

I'm hearing from you guys for the most part that cpu wise it's possible, after all, how hard is it to play/write uncompressed wav?

I think there is a plugin already that can split mp3 tracks (and wav?), but it hasn't been ported to the iriver yet. As far as the other stuff OtisFunkmeyer, that sounds cool too.

fizze- I suppose there would be a delay, but is it possible that it would be the same everytime and therefore automatically adjusted? also, could you explain what you mean by that memory bandwidth stuff, do you mean loading multiple wav files for simultaneous playback would fill up the memory quickly, meaning more disk access. I do suppose this is something one would want to do with the charger.

And MoAv, when I was reading your post I remembered something funny. Awhile back I encoutered a bug that let me play an mp3, go into the recording screen and while it was still playing start recording, and it recorded the song! So I'm pretty sure (while having no technical knowledge) that cpu wise, it can handle this idea. I'd be curious as to find out how many tracks it can handle. Even two would be worthwile to me, but I would hope for more. I suppose one would have to write the plugin to find out for sure which reminds me...
Quote from: lenny on December 10, 2005, 08:16:12 PM
If I were to say that I wanted to learn how to program just so I could write this thing I'm dreaming up, what would I need to learn and how long would it take me to do learn so I could write this assuming I've got a good head on my shoulders? (the most complex I ever got language wise was php)
« Last Edit: December 14, 2005, 09:46:02 PM by lenny »
Logged

Offline fizze

  • Member
  • *
  • Posts: 200
Re: New recording idea, a bit crazy
« Reply #11 on: December 15, 2005, 03:30:32 AM »
No, I mean that you have to interleave (mix down) multiple WAVE audiostreams to a single one. and this means a lot of memory activity.

think of an 8-track:
44.1kHz, 16bit, mono sources means 88200bytes / sec., times 8 means 705600bytes / sec.
you have to downmix these to 1 stream (which takes some cpu) (essentially shifting them 3 bits to the right and adding together).

so, you have the 8 sources somewhere in memory (in different locations), so caching will miss (if the unit has (half-decent) caching *shrugs*)

so thats RANDOM memory bandwidth, combined with a lot of cpu.
sequential memory access is a LOT faster, cos CAS / RAS delays may be bypassed, and let alone caches. almost true random access is slow. so thats why its the limiting factor.

still, one could work at 22050kHz @ 16bit which would half the b/w amongst other tweaks.
Logged

Offline pabouk

  • Member
  • *
  • Posts: 387
Re: New recording idea, a bit crazy
« Reply #12 on: December 15, 2005, 04:14:02 AM »
lenny - Yes, the delay will be constant and it can be (easily) eliminated.

fizze - The (possible) problem with intensive memory access to many different locations can be solved by interleaving the audio buffer. Example of 16 bit words storage for 3 channels playing and one recording (channel number 4):
Representation: [5s20] is the 20th sample of the channel number 5.
Code: [Select]
[1s01][2s01][3s01][4s01][1s02][2s02][3s02][4s02][1s03][2s03][3s03][4s03]...
Interleaved disc storage would be useful too but I do not know if it is possible with the standard wav format.

Edit after a little bit of thinking: The interleaved memory buffer without the interleaved file format (i.e. single file for all the channels) would be difficult or impossible with DMA transfers between the disc and the memory...

The limit of number of simultanously playing channels can be overcome by preparing the mixed track before playing it (i.e. not mixing it in real time) while still retaining the unmixed channels but I think hardly anyone would like to use more than 5 channels.

Another idea: It would be almost perfect tool if one could prepare a "mixing profile" i. e. another (meta) track with stored volume changes, position in stereo, filters etc. of the channels to mix.
« Last Edit: December 15, 2005, 04:50:08 AM by pabouk »
Logged

Offline fizze

  • Member
  • *
  • Posts: 200
Re: New recording idea, a bit crazy
« Reply #13 on: December 15, 2005, 05:18:00 AM »
erm ? 5 is a wicked number. leave it to powers of two, as the mixing is a SHR, and ADD, then.

4, or 8 should suffice.
and anyway, about 32megs of memory (for the H300's at least) could fit 8x20sec of 44.1kHz, 16bit audio plus a final out buffer.

so one would have to align the individual track buffers with the RAS/CAS for ideal thruput and downmix it, maybe once, doesnt have to be in realtime (although it would be neat)

so essentially it wouldnt be multi-tasked in terms of playback. the only still remaining problem is full duplex. playing back the final-buffer and recording to one of the 8 track buffers. when recording is complete, the final buffer is updated, and there you go.

while this would essentially work, it lacks the nice features of an 8track (insert your favorite sampler here):
no real-time track mute/unmute
no real-time track volume adjustments
and, no real-time filters whatever (yeah yeah ;))

but Id say, once the basic concept (above) works, one would see how/if the hardware does suffice. right ?


@ your other idea ? mixing profile ?
please explain, I dont get it.
filters ? are you insane ? ;) the coldfire isnt a DSP *g*
Logged

Offline pabouk

  • Member
  • *
  • Posts: 387
Re: New recording idea, a bit crazy
« Reply #14 on: December 15, 2005, 06:17:22 AM »
Mixing profile - maybe it is not the best name for it..
It would contain information for mixing the channels together:
- volume envelopes
- stereo panning envelopes
- filters settings / envelopes - yes, it is too much for real time

The aim is to prepare the mix (with possible channel attenuating and muting) before recording the next channel because you will not have much time to set the channel volumes or mute the playing channels during recording.

It can be also used for mixing (mastering) the channels together (not completely in real time) directly on the DPA. The problem is that you do not have enough controls (buttons) on the DPA to mix multiple channels together in real time as on a real mixing panel with many potentiometers, buttons etc.
Logged

  • Print
Pages: [1] 2 3
« previous next »
+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Recording
| | |-+  New recording idea, a bit crazy
 

  • SMF 2.0.19 | SMF © 2021, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.039 seconds with 18 queries.