Message-ID: <001b01bdc6e8$0594ebc0$8704ac98@thomashe> From: "Christian Henz" To: Subject: Thoughts on a multitrack HD-rec. program (OT ?) Date: Thu, 13 Aug 1998 20:24:49 +0200 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0009_01BDC6F8.6B5A21E0" Precedence: bulk This is a multi-part message in MIME format. ------=_NextPart_000_0009_01BDC6F8.6B5A21E0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi everyone ! I have been thinking of creating some very basic multitrack HD-recording = software. ( using a normal soundcard (like SB16 etc.), doing some multitracking, = serving as a musical notebook or as a composing tool, maybe even to do = small demos, easy to use, free ) Here is my concept so far: Recording: You can record 2 tracks at once using the stereo line in of your = soundcard (maybe also mic input). At the same time, the tracks already = recorded are played back on the stereo line out of your soundcard (or = headphone out). After recording, you have a new track-file and a = mixer-channel assigned to it. The tracks: =20 Each track is represented by an individual file. You can work on = that file in a track-window (editing, maybe cut and paste, importing = etc.). The track-window would work and look like some .WAV editor. Maybe = I'll even use .WAVs. =20 Mixing: Mixing is not done in realtime. You do pan and volume settings on = your tracks and after that you just hit some "render mix" button and it = will produce a stereo output-file that will then be played back. At the = end of your session you could then take that (.WAV) output-file and use = it with any .WAV player/editor (do some "mastering") and maybe even put = it on a CD-R ! EQs, dynamics and FX: I also thought of those. I have no idea how to actually code them, = but we'll see :) They would be controlled from the "mixer" and they = would not be real-time as well. Everytime you change the settings, the = track will be recomputed. Of course, the original track will always be = kept, so everything is "non-destructive" [ the magic word of = HD-recording ;) ]. The program surface would consist out of two basic windows: Mixer window: Here you have some kind of virtual channel strip for every track you = create/record. You can do all the basic things you would do with a = normal mixing desk. Most important: pan/volume settings.=20 Track window: Edit the track like described above. This is the concept so far. Now for the programming issues: Basically, the program would consist of some basic parts: The I/O engine that records/plays back the input/output file = simultaniously. The rendering engine, that produces the playback file out of the = individual tracks. Since this isn't real time, I don't see any problems = here (am I wrong ?). The rendering engine that creates a version of an indidual track = were all the EQ settings etc. are computed. The output-file of this = engine would then be used in the mixing engine. The .WAV editing/cut & paste stuff. Any comments/ideas ? Anyone intrested in working on such a project ? Has anyone tried to do something like this and can share some of his/her = experiences so far ?=20 Anyone into sound programming ? Now for the DJGPP-specific part:=20 Are there libs for DJGPP that could handle the hardware part of this = concept (recording and playing back large .WAV-files at the same time) ? = What about MIDAS ? If not, is there some lib that would at least do all the low-level stuff = (like DMA buffers, mixer-settings etc.) Any comments/ideas are apreciated... Christian. ------=_NextPart_000_0009_01BDC6F8.6B5A21E0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi everyone = !
 
I have been thinking of creating = some very basic=20 multitrack HD-recording software.
( using a normal soundcard (like SB16 etc.), doing = some=20 multitracking, serving as a musical notebook or as a composing tool, = maybe even=20 to do small demos, easy to use, free )
 
Here is my concept so = far:
 
Recording:
 
    You can record 2 = tracks at=20 once using the stereo line in of your soundcard (maybe also mic input).=20 At the same time, the tracks = already recorded=20 are played back on the stereo line out of your soundcard (or headphone = out).=20 After recording, you have a new track-file and a mixer-channel assigned = to=20 it.
 
The tracks:
 
    Each track is = represented by=20 an individual file. You can work on that file in a track-window = (editing, maybe=20 cut and paste, importing etc.). The track-window would work and look = like some=20 .WAV editor. Maybe I'll even use .WAVs.
 
Mixing:
 
    Mixing is not = done in=20 realtime. You do pan and volume settings on your tracks and after that = you just=20 hit some "render mix" button and it will produce a stereo = output-file=20 that will then be played back. At the end of your session you could then = take=20 that (.WAV) output-file and use it with any .WAV player/editor (do some=20 "mastering") and maybe even put it on a CD-R !
 
EQs, dynamics and FX:
 
    I also thought of = those. I=20 have no idea how to actually code them, but we'll see :) They would be=20 controlled from the "mixer" and they would not be real-time as = well.=20 Everytime you change the settings, the track will be recomputed. Of = course, the=20 original track will always be kept, so everything is = "non-destructive"=20 [ the magic word of HD-recording ;) ].
 
 
 
The program surface would consist = out of two=20 basic windows:
 
Mixer window:
 
    Here you have = some kind of=20 virtual channel strip for every track you create/record. You can do all = the=20 basic things you would do with a normal mixing desk. Most important: = pan/volume=20 settings.
 
Track window:
 
    Edit the track = like described=20 above.
 
 
 
This is the concept so far. Now for = the=20 programming issues:
 
 
Basically, the program would consist of some basic=20 parts:
 
    The I/O engine = that=20 records/plays back the input/output file simultaniously.
 
    The rendering = engine, that=20 produces the playback file out of the individual tracks. Since this = isn't real=20 time, I don't see any problems here (am I wrong ?).
 
    The rendering = engine that=20 creates a version of an indidual track were all the EQ settings etc. are = computed. The output-file of this engine would then be used in the = mixing=20 engine.
 
    The .WAV=20 editing/cut & paste stuff.
 
 
Any comments/ideas ? Anyone intrested in working on = such a=20 project ?
 
Has anyone tried to do something like this and can = share some=20 of his/her experiences so far ?
 
Anyone into sound programming ?
 
 
Now for the DJGPP-specific part: =
 
Are there libs for DJGPP that could handle the = hardware part=20 of this concept (recording and playing back large .WAV-files at the same = time) ?=20 What about MIDAS ?
 
If not, is there some lib that would at least do all = the=20 low-level stuff (like DMA buffers, mixer-settings etc.)
 
 
Any comments/ideas are apreciated...
 
Christian.
 
------=_NextPart_000_0009_01BDC6F8.6B5A21E0--