Message-ID: <001b01bdc6e8$0594ebc0$8704ac98@thomashe> From: "Christian Henz" <ChrHenz AT gmx DOT de> To: <djgpp AT delorie DOT com> 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 <!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN"> <HTML> <HEAD> <META content=3Dtext/html;charset=3Diso-8859-1 = http-equiv=3DContent-Type> <META content=3D'"MSHTML 4.72.2106.6"' name=3DGENERATOR> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT size=3D2></FONT><FONT color=3D#000000 size=3D2>Hi everyone = !</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2>I have been thinking of creating = some very basic=20 multitrack HD-recording software.</FONT></DIV> <DIV><FONT size=3D2>( 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 )</FONT></DIV> <DIV><FONT size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2>Here is my concept so = far:</FONT></DIV> <DIV><FONT size=3D2></FONT> </DIV> <DIV><FONT size=3D2>Recording:</FONT></DIV> <DIV><FONT size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2> You can record 2 = tracks at=20 once using the stereo line in of your soundcard (maybe also mic input).=20 </FONT><FONT color=3D#000000 size=3D2>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.</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT size=3D2></FONT> <DIV><FONT color=3D#000000 size=3D2>The tracks:</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2> 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.</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV></DIV> <DIV><FONT size=3D2>Mixing:</FONT></DIV> <DIV><FONT size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2> 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 !</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2>EQs, dynamics and FX:</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2> 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 ;) ].</FONT></DIV> <DIV> </DIV> <DIV> </DIV> <DIV> </DIV> <DIV><FONT color=3D#000000 size=3D2>The program surface would consist = out of two=20 basic windows:</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2>Mixer window:</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2> 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. </FONT></DIV> <DIV> </DIV> <DIV><FONT color=3D#000000 size=3D2>Track window:</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2> Edit the track = like described=20 above.</FONT></DIV> <DIV> </DIV> <DIV><FONT size=3D2></FONT><FONT color=3D#000000 = size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2>This is the concept so far. Now for = the=20 programming issues:</FONT></DIV> <DIV> </DIV> <DIV> </DIV> <DIV><FONT size=3D2>Basically, the program would consist of some basic=20 parts:</FONT></DIV> <DIV><FONT size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2> The I/O engine = that=20 records/plays back the input/output file simultaniously.</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2> 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 ?).</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2> 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.</FONT></DIV> <DIV> </DIV> <DIV><FONT color=3D#000000 size=3D2> <FONT = color=3D#000000>The .WAV=20 editing/cut & paste stuff.</FONT></FONT></DIV> <DIV><FONT size=3D2></FONT> </DIV> <DIV><FONT size=3D2></FONT> </DIV> <DIV><FONT size=3D2>Any comments/ideas ? Anyone intrested in working on = such a=20 project ?</FONT></DIV> <DIV> </DIV> <DIV><FONT size=3D2>Has anyone tried to do something like this and can = share some=20 of his/her experiences so far ? </FONT></DIV> <DIV><FONT size=3D2></FONT> </DIV> <DIV><FONT size=3D2>Anyone into sound programming ?</FONT></DIV> <DIV> </DIV> <DIV> </DIV> <DIV><FONT color=3D#000000 size=3D2>Now for the DJGPP-specific part: = </FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT size=3D2>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 ?</FONT></DIV> <DIV><FONT size=3D2></FONT> </DIV> <DIV><FONT size=3D2>If not, is there some lib that would at least do all = the=20 low-level stuff (like DMA buffers, mixer-settings etc.)</FONT></DIV> <DIV> </DIV> <DIV> </DIV> <DIV><FONT size=3D2>Any comments/ideas are apreciated...</FONT></DIV> <DIV><FONT size=3D2></FONT> </DIV> <DIV><FONT size=3D2>Christian.</FONT></DIV> <DIV> </DIV></BODY></HTML> ------=_NextPart_000_0009_01BDC6F8.6B5A21E0--