From: Jeff W. <we...@ha...> - 2006-03-25 19:46:32
|
Sorry for the response delay. A few more thoughts... I understand the desire to build a denoise streaming setup, but my personal preference has not been to do that, because it just doesn't seem to gain much in terms of actual time saved, and more importantly I'm insanely diligant about checking the denoise results on several portions of the audio track (using the undo feature) before denoising the entire track. Many times I find I'll tweak the denoise level to avoid artifacts near the end of the track. The last track I denoised I found the best noise sample in the middle of the track! Again, that's just my view. Do what seems rewarding to you. Something I recalled from Audacity a while back -- they were looking at GWC for denoising, and decided against it because the GPL somehow conflicted with their licensing scheme. You may want to check with them about that before assuming they could use an improved GWC-lib in Audacity. I have thought of using Jack before too -- but didn't want yet another dependency so that's why I avoided it. But since the audio interface has been abstracted (i.e. OSS vs ALSA vs OSX), it is feasible to have an --enable-jack setting for the configure script, and then write the appropriate Jack interface code. As for the recording, I think building a simple standalone app is the logical first step. The track_rec app I did already has some VU meters in it, if it were ALSA-aware and brought up to gnome2 interface standards it could become a basis for something to build into GWC. Another possibility to integrating things directly into GWC would be something like a "GWC-console", which would be a meta-window that could fire up the recorder, or fire up GWC, and then potentially stream all the components as a final goal. Again, I'd personally not use the audacity recording GUI code, because it uses another GUI library which must be separately installed. I suspect you'll find there's not much to the actual recording portion of the code, and is probably worth a look. FYI, There are 3 features I'd like to have in GWC, that are not currently available that would enhance the audio clean-up. 1) Picking the noise sample from a separate audio file than the one which is going to be denoised. 2) True graphic equalization (either using the DSP filters or FFT processing) 3) Some sort of reverb I want 1) because sometimes I have tracks coming from the same source, but the best noise sample is not always on the current track. 2) and 3) are helpful, because if you take out 100% of the noise, then the high frequencies are impacted. I have used a separate equalization process to emphasize the highs after denoising, with very good results. I suspect a little touch of reverb thrown in will make the final result very, very good. I think I'd leave the automatic track end detection feature for last, because that's likely going to be a very hard problem to solve. Cheers, Jeff Nik wrote: > Jeff Welty wrote: > >> Hi Nik, >> >> Sounds like the 2 additional things you want are: >> >> 1) recording >> 2) automatic track end detection. > > > Pretty much, yes. And in addition, if any of the Gramofile filters are > in any way useful (do something better/different to those in GWC), I > would happily bring them over as well. > > Just to clarify: I basically want a single, simple GUI application, > which non-CLI conversant friends can use to transfer analogue > recordings to CD. > > I've been using arecord, gramofile and sox, and have been thoroughly > enjoying myself. So all I want in the GUI is the ability to record, > prepare the tracks for CD (filter/clean/modify/separate), and burn the > CD. > >> I think integrating gwc functions into any other app may be the most >> difficult task to get >> that done. > > > It's starting to sound that way. > > On the other hand, once I've got GWC modified for my purpose (assuming > I go that way), I may well still undertake the GWC/GWC-lib separation, > as I understand it would be beneficial to both the GWC and Audacity > projects. > >> What I would encourage you to do, is build a simple little audio >> recorder. (or find one, >> I've looked for a graphical alsa recorder and not found one suitable) > > > I certainly like this approach. The issue for me is the apparent > integration (or lack thereof) between the different applications. > > This was the thinking behind my questions regarding stream-based > architectures. If GWC could be part of a streaming pipeline, then I > could connect a recorder at the input, and/or a CD burner at the > output, and that would be my solution. (For scalability, the streams > would be cachable to disk.) It would basically be a different form of > plugin architecture (ala Gstreamer). > > Another option might be to build Jack support into GWC. This would > allow other Jack components to be used for recording etc. I doubt, > however, that GWC is currently structured correctly to support Jack). > The likely downside is that Jack seems to depend on a lot of other > libraries, and so may create dependency-hell for GWC - which would be > a *bad* thing. (I've been unable to install or build WaveMixer because > of dependancy problems.) > >> Keep it simple, >> focused and not cluttered with a bunch of features. If you look on >> the gwc site you'll find >> a little thing I wrote called track_rec which was designed to let you >> record tracks from an >> LP. But it doesn't work with ALSA, and it uses the old gnome >> libraries as well. > > > I see my options being: > > 1. Modifying your track_rec to work with alsa (and possibly bolting > some VU meters onto it); > > 2. Using existing recording code (from Audacity or WaveMixer, for > example) and putting that into GWC; > > 3. writing a graphical front-end to arecord - hopefully inside GWC; > > 4. write something from scratch. > > Of all these, 4 seems the least viable. I'm still unsure about the > others. > >> Putting automatic track end detection into GWC does make sense. I >> find myself doing that >> manually all the time -- i.e. I mark the start and end of each track, >> and there is a little gap >> between songs. It would be cool if the cdrdao TOC file writer could >> somehow recognize the "non-song" >> gaps and not write them out to the TOC file. > > > Again, I see a number of ways of accomplishing this: > > 1. merge the gramofile track detection algorithm in as a separate menu > item; > > 2. incorporate the gramofile track detection into the GWC TOC file > writer; > > 3. create a graphical front-end to the gramofile program - hopefully > inside GWC; > > 4. implement an algorithm from scratch. > > Again, 4 seems least useful, and I don't yet know enough about the > others. > >> I usually just fire up arecord and >> tell it to record a fixed number of minutes, start the tape or LP and >> walk away if I'm busy with >> other things. > > > This is pretty close to my current workflow... > >> These are just my views, please feel free to do whatever *you* think >> is the most fun or rewarding. > > > :o) Absolutely. As I said, I really want the same (or better) quality > of processing as I have now, but wrapped in a simple GUI so that my > friends can use it too. > >> This is after all just a hobby for me too. > > > But a fun hobby :o) > > Cheers! > Nik. > > >> Nik wrote: >> >>> >>> Hi Jeff, >>> >>> Thanks for your reply. >>> >>> I am currently trying to work out the simplest and best (might be >>> different) way to achieve my goal. >>> >>> Currently, my original plan seems to entail: separate gwc-lib, and >>> then call that library from within Audacity. Given the nature of the >>> data GWC likes to handle, I might have to add data-stream support to >>> Audacity, either in native code, or through a library such as >>> Gstreamer. >>> >>> Alternatively, perhaps I should just add record abilities into GWC, >>> and then perhaps the Gramofile automatic track end detection? >>> >>> Another program I came across today, which already has Gstreamer >>> integration, is WaveMixer. Have you heard anything about this program? >>> >>> http://wavemixer.sourceforge.net >>> >>> So in summary, can you give any advice in the following: >>> >>> Which would you see as the quickest way to get to my goal? >>> >>> 1. Put recording facilities into GWC? >>> 2. Put GWC facilities into an audio app such as Audacity or >>> WaveMixer, and if so, which? >>> >>> Thanks again for your input. >>> >>> Cheers! >>> Nik. >>> > > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting > language > that extends applications into web and mobile media. Attend the live > webcast > and join the prime developer group breaking into this new coding > territory! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 > _______________________________________________ > Gwc-general mailing list > Gwc...@li... > https://lists.sourceforge.net/lists/listinfo/gwc-general > > > > !DSPAM:4416496c158538025810047! |