Taperssection.com

Gear / Technical Help => Post-Processing, Computer / Streaming / Internet Devices & Related Activity => Topic started by: pigiron on October 13, 2005, 01:00:26 AM

Title: 24 bit wavbreaker (linux content)
Post by: pigiron on October 13, 2005, 01:00:26 AM
I guess I don't believe in planning ahead, so it was only after the gear arrived that does 24/96 that I tried to figure out how to poke and prod the files it creates on the linux box.

I'd been happy with wavbreaker for busting up a show, so I spent some (a lot of) hours mashing it around until it could handle these new monsters. So... if you want a copy of the source code without experiencing the joy of DIY  ;D  PM me with your email addy and I can send it... in RPM format... for SuSE, but you should be able to change it for other distro's (except for maybe debian)  ;) Oh, and the file is 137600 bytes, so hopefully your ISP won't barf on it.

But here's the caveats... only got it working for ALSA, didn't even attempt the OSS mod... I haven't tested it yet on x86_64, only i586... the method wavbreaker uses to keep track of the time is kind of strange, so the time elements are a little off (I think I saw it show something like an extra 10 seconds over a 2G file)... and it probably needs to be beat a little more to verify I didn't break 16 bits, but I think that part's still humming... let's just say, this thing's beta.

But it seems to do the main functions... plays and shows a 24 bit file, and busts it up on sector boundaries.
Title: Re: 24 bit wavbreaker (linux content)
Post by: MattD on October 13, 2005, 01:21:11 AM
If they have a CVS, you should contribute your version there.
Title: Re: 24 bit wavbreaker (linux content)
Post by: it-goes-to-eleven on May 17, 2007, 09:18:36 AM
Way to go on the 24bit hack ;)

I was just checking out the new release of wavbreaker, 0.8... It wouldn't build due to some gtk issues. When I forced the issue by taking unsound measures, I found that it apparently still does not support 24 bit :(

I've also had pretty bad audio buffering issues with wavbreaker in the past so I haven't been able to use it as an alternative to cdwave (alsa > ua5 ).

The project is now hosted at sourceforge with cvs.

Title: Re: 24 bit wavbreaker (linux content)
Post by: pigiron on May 17, 2007, 10:30:15 PM


EDIT:  THERE'S A NEWER PATCH BELOW

after languishing, seems to have been a sudden flurry of activity on the code... it must have a new owner :hmmm:

thanks for the pointer... I grabbed the new 0.8 version and it has some nice new features (it's about time... I had previously hacked some of those for my own personal amusement).

so, I just now merged my 24 bit hack into version 0.8... but I only took it to the point that it's good enough for me... you may feel differently.


on the good side, the new merge and offset text file features still seem to work after my twiddling.

patch file attached... further tweaking is greatly appreciated  ;D
Title: Re: 24 bit wavbreaker (linux content)
Post by: it-goes-to-eleven on May 19, 2007, 09:19:26 AM
Thanks!  Patch applied with no issues.. 

I've had some trouble building 0.8 on my primary desktop due to some gtk issue with gtk_file_chooser_set_do_overwrite_confirmation.. but that's nothing a little judicious commenting can't fix more easily than a big gtk upgrade ;)

24/96 files come up and display just fine...

Playback takes about 2 seconds to start.  I guess I'll have to look at the buffer sizes and see what the problem is with that.

wavbreaker definitely has some workflow gotchas that trip up my cdwave-centric habits..  In cdwave, I stop and start playback with the space bar (not present in wb). In cdwave during playback, clicking anywhere in the waveform jumps to that point.  So I'll let playback go and keep clicking at the right edge of the window to skip ahead. That allows me to look and listen for indications of a song end. That's more necessary when song endings are difficult to pinpoint.

Haven't had a chance to really look at the code yet..
Title: Re: 24 bit wavbreaker (linux content)
Post by: pigiron on May 19, 2007, 06:04:58 PM
I've had some trouble building 0.8 on my primary desktop due to some gtk issue with gtk_file_chooser_set_do_overwrite_confirmation.. but that's nothing a little judicious commenting can't fix more easily than a big gtk upgrade ;)

we like it when you talk dirty  ;D

Playback takes about 2 seconds to start.  I guess I'll have to look at the buffer sizes and see what the problem is with that.

yea... haven't seen that with the 3 boxes I use... even when running remotely with wireless... so guessing some ALSA tweaking may be in order.   ahhh... the joys of linux  ;D

wavbreaker definitely has some workflow gotchas that trip up my cdwave-centric habits..  In cdwave, I stop and start playback with the space bar (not present in wb). In cdwave during playback, clicking anywhere in the waveform jumps to that point.  So I'll let playback go and keep clicking at the right edge of the window to skip ahead. That allows me to look and listen for indications of a song end. That's more necessary when song endings are difficult to pinpoint.

good idea!  didn't even think of trying that!
Title: Re: 24 bit wavbreaker (linux content)
Post by: pigiron on May 19, 2007, 07:19:01 PM

nothing like sharing crappy hacks to get one embarrased into improvements  :-\

rolled up the sleeves and got a true understanding of how this program keeps track of time... so here's a (hopefully) better hack.

The time should now be correct for popular sample frequencies... 44.1, 48, 88.2, 96, and 192 K... both 16 and 24 bits... fire up your calculator and plug in the following numbers to check if some other freq will be correct:

   ((bits / 8 ) * channels * freq) / 75

If the answer is an integer (i.e. there's no fraction) it should be good to go.

That crazy formula allowed me to not completely gut the original program, while still preventing SBE's on 16/44100.

------------------

PLUS... now that it can tell time  ;D  I added another tweak... you can import a TOC file.

This means that you can take your 24 bit show (at any of the above freqs), copy it to CD quality, then bust up either one into tracks... and if you export the TOC file, you can import it to automagicly get those same track breaks on the other.

that is, if you can get wavbreaker to eat that complete huge ass 24 bit file  ;D   This wasn't something that their "offset file" method allowed.

------------------

Since you can now put a filename on the command line, I spent a chuck of time twiddling to get it to puff on a pipe so it would eat a FLAC file... something like  flac -dc x.flac | wavbreaker -  but only met with partial success so far.

------------------

oh... I turned their CDDA file usage back on... but you've been warned ;)  try something like this to see what I mean:

     /usr/bin/wavebreaker   /usr/bin/wavbreaker

anyway... here it is if you feel dangerous... use it on the original 0.8v tarball... i.e.  the one on sourceforge.