From: Nik <ni...@us...> - 2006-03-10 01:45:44
|
Hi, My original concept was to write a LADSPA plugin to incorporate the functionality of Gramofile into Audacity. When I posted about this on the Audacity forums, the reply was that previous discussion had decided to wait until GWC was separated into frontend and backend, and then use the gwc-lib to create such a plugin. So, I'm putting my hand up to attempt this work. My questions are: 1. Is the gwc-lib-0.05 that I downloaded from SourceForge recent enough to perform this work? It seems to be a little light - and possibly a little out of date? 2. Is the code in the more recent GWC gwc-0.21-05 easily separated into frontend and backend? I've built gwc from it, and it seems to have no obvious library. 3. I notice in the TODO file a task to LADSPA-ise the filters. This is certainly in the realm of what I'm looking at doing. Can anyone offer any help in identifying the files needed by such a plugin? 4. Has anyone already started work on this, and if so, do they want help, or are they hapily progressing in their own time? Any and all responses welcome. Cheers! Nik |
From: Nik <ni...@us...> - 2006-03-10 02:11:33
|
Hi, My original concept was to write a LADSPA plugin to incorporate the functionality of Gramofile into Audacity. When I posted about this on the Audacity forums, the reply was that previous discussion had decided to wait until GWC was separated into frontend and backend, and then use the gwc-lib to create such a plugin. So, I'm putting my hand up to attempt this work. My questions are: 1. Is the gwc-lib-0.05 that I downloaded from SourceForge recent enough to perform this work? It seems to be a little light - and possibly a little out of date? 2. Is the code in the more recent GWC gwc-0.21-05 easily separated into frontend and backend? I've built gwc from it, and it seems to have no obvious library. 3. I notice in the TODO file a task to LADSPA-ise the filters. This is certainly in the realm of what I'm looking at doing. Can anyone offer any help in identifying the files needed by such a plugin? 4. Has anyone already started work on this, and if so, do they want help, or are they hapily progressing in their own time? Any and all responses welcome. Cheers! Nik |
From: Jeff W. <we...@ya...> - 2006-03-12 21:48:13
|
Hi Nik, I have been lax in keeping gwc-lib up to date, so it does not represent the best technology that is found in gwc-0.21-05. I had intended integrating gwc and gwc-lib, but never got around to it. Sadly, you can't turn either the denoising or the declicking algorithms into LADSPA plugins, or I would have done that instead of gwc-lib. It is because the gwc algorithms are non-causal (if I remember the term correctly), i.e. it is not 1 frame in and 1 frame out, the algorithms work on overlapping frames, and declicking literally runs from the end to start instead of vice-versa. If someone wanted to take gwc-0.21-05 and re-create the gwc-lib from it, and then make gwc use gwc-lib, that would be a great step forward. There may be a small speed penalty but we can evaluate that. Cheers, Jeff Nik wrote: > Hi, > > My original concept was to write a LADSPA plugin to incorporate the > functionality of Gramofile into Audacity. When I posted about this on > the Audacity forums, the reply was that previous discussion had > decided to wait until GWC was separated into frontend and backend, and > then use the gwc-lib to create such a plugin. > > So, I'm putting my hand up to attempt this work. My questions are: > > 1. Is the gwc-lib-0.05 that I downloaded from SourceForge recent > enough to perform this work? It seems to be a little light - and > possibly a little out of date? > > 2. Is the code in the more recent GWC gwc-0.21-05 easily separated > into frontend and backend? I've built gwc from it, and it seems to > have no obvious library. > > 3. I notice in the TODO file a task to LADSPA-ise the filters. This is > certainly in the realm of what I'm looking at doing. Can anyone offer > any help in identifying the files needed by such a plugin? > > 4. Has anyone already started work on this, and if so, do they want > help, or are they hapily progressing in their own time? > > > Any and all responses welcome. > > > 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:4410e291168321552818589! |
From: Nik <ni...@us...> - 2006-03-13 07:58:53
|
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. Jeff Welty wrote: > Hi Nik, > > Sadly, you can't turn either the denoising or the declicking algorithms > into > LADSPA plugins, or I would have done that instead of gwc-lib. It is > because > the gwc algorithms are non-causal (if I remember the term correctly), > i.e. it > is not 1 frame in and 1 frame out, the algorithms work on overlapping > frames, > and declicking literally runs from the end to start instead of vice-versa. Ok, that's really helpful information. Given my original goal was to have a single GUI-based tool to support transferring analogue recording to CD, then perhaps I should reconsider my plan. > If someone wanted to take gwc-0.21-05 and re-create the gwc-lib from it, > and then make gwc use gwc-lib, that would be a great step forward. There > may be a small speed penalty but we can evaluate that. I have no problem doing this, but it doesn't sound like a quick way of getting to were I want to be. Although, in the longer-run, I do like the interface of Audacity. > Cheers, > Jeff > > Nik wrote: > >> Hi, >> >> My original concept was to write a LADSPA plugin to incorporate the >> functionality of Gramofile into Audacity. When I posted about this on >> the Audacity forums, the reply was that previous discussion had >> decided to wait until GWC was separated into frontend and backend, and >> then use the gwc-lib to create such a plugin. >> >> So, I'm putting my hand up to attempt this work. My questions are: >> >> 1. Is the gwc-lib-0.05 that I downloaded from SourceForge recent >> enough to perform this work? It seems to be a little light - and >> possibly a little out of date? >> >> 2. Is the code in the more recent GWC gwc-0.21-05 easily separated >> into frontend and backend? I've built gwc from it, and it seems to >> have no obvious library. >> >> 3. I notice in the TODO file a task to LADSPA-ise the filters. This is >> certainly in the realm of what I'm looking at doing. Can anyone offer >> any help in identifying the files needed by such a plugin? >> >> 4. Has anyone already started work on this, and if so, do they want >> help, or are they hapily progressing in their own time? >> >> >> Any and all responses welcome. >> >> >> 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:4410e291168321552818589! > > |
From: Jeff W. <we...@ya...> - 2006-03-14 03:42:28
|
Hi Nik, Sounds like the 2 additional things you want are: 1) recording 2) automatic track end detection. I think integrating gwc functions into any other app may be the most difficult task to get that done. 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) 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. 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. I found a little ALSA app called "ameter", which I started using a couple of weeks ago. Using it in conjunction with arecord gives me level meters. 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. These are just my views, please feel free to do whatever *you* think is the most fun or rewarding. This is after all just a hobby for me too. Cheers, Jeff 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. > |
From: Nik <ni...@us...> - 2006-03-14 04:28:56
|
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. >> |
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! |
From: Johan De G. <joh...@sk...> - 2006-05-18 20:08:22
|
Again sorry for picking in so late, but I have lost this list out of sight being absorbed in other projects. I find this very interesting stuff. If I may voice my take on it, then it would be Jack integration. This is for the moment my largest "problem" with GWC, meaning I have to switch back and forth between Jack and Alsa. Then I would like it to work on mono material. With 78rpm's I often switch to mono and then have to make this into a "stereo" file. I might save on processing time. "Morphing" noise files might help in the situation Jeff mentions below where the best noise profile in changing from start to end. Some simple sample redraw tool. Sometimes, none of the algorithms works to my taste and I would like to just redraw the waveform by hand... Regards, Johan De Groote On Saturday 25 March 2006 19:48, Jeff Welty wrote: > 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! > > > > > ------------------------------------------------------- > 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 > > |
From: Jeff W. <we...@ha...> - 2006-05-19 02:55:23
|
Hi Johan, I think the Jack integration would be a very good addition to GWC, and fairly straightforward. Directly editing mono material would be a nice thing too, but I believe every function in GWC is assumes stereo by default -- there are "left" and "right" arrays coded all over the place. GWC *will* read and write a mono file, but any edits to the left channel are ignored. A redraw tool was actually something I had in mind originally, but I personally found I could always tweak the selection window to make the "manual declick" work, or now the estimate function work to my satisfaction. If you zoom in enough you'll see little boxes on the sample points -- I had thought it might be a nice feature to be able to grab a point and move it up and down interactively. I have hacked in a reverb algorithm -- was working on a project for a friend. I used the tapreverb code, but it is an incredible hack, I'll get that cleaned up and put out a release in the next little while. http://tap-plugins.sourceforge.net/reverbed.html I must say this reverb algorithm is very nice. In my recent project I added a *very small* amount of reverb (-40dB relative to the original signal). Just enough to add some "presence" back to the track. Cheers, Jeff Johan De Groote wrote: >Again sorry for picking in so late, but I have lost this list out of sight >being absorbed in other projects. > >I find this very interesting stuff. If I may voice my take on it, then it >would be Jack integration. This is for the moment my largest "problem" with >GWC, meaning I have to switch back and forth between Jack and Alsa. > >Then I would like it to work on mono material. With 78rpm's I often switch to >mono and then have to make this into a "stereo" file. I might save on >processing time. > >"Morphing" noise files might help in the situation Jeff mentions below where >the best noise profile in changing from start to end. > >Some simple sample redraw tool. Sometimes, none of the algorithms works to my >taste and I would like to just redraw the waveform by hand... > >Regards, >Johan De Groote > > > >On Saturday 25 March 2006 19:48, Jeff Welty wrote: > > >>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 >>> >>> >>> >>> >>> >>> >> >> >>------------------------------------------------------- >>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 >> >> >> >> > > >------------------------------------------------------- >Using Tomcat but need to do more? Need to support web services, security? >Get stuff done quickly with pre-integrated technology to make your job easier >Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo >http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >_______________________________________________ >Gwc-general mailing list >Gwc...@li... >https://lists.sourceforge.net/lists/listinfo/gwc-general > > > >!DSPAM:446cd74722928250716048! > > |