Gramofile

Janina Sajka janina at afb.net
Fri Jun 29 10:53:49 EDT 2001


Victor:
I'm copying this note to the MIDI-Mag list because this looks like a very
wonderful little program, and it's available free for Windows/DOS as well
as for linux.

Besides, it's time our friends who use Windows and DOS got a little taste
of the benefits of FREE software.

 On Thu, 28 Jun 2001, Victor
Tsaran wrote:

> Hi, Janina!
> I think you could use the program called Gramofile. It is available from
> Freshmeat.net. Just tell it to load your .wav file and split the tracks into
> individual files.
> Best,
> Victor
>
> ----- Original Message -----
> From: "Janina Sajka" <janina at afb.net>
> To: <speakup at braille.uwo.ca>
> Sent: Wednesday, June 27, 2001 6:30 PM
> Subject: OT: Ripping
>
>
> > Sorry for the off topic -- but this seems to be the best list for
> > knowledge of cd ripping under linux ...
> >
> > I made a boo boo and forgot to specify the -B switch for a cdparanoia rip
> > the other day. Now, I no longer have the disc, but have a large cda.wav
> > file with all the tracks in this single file. I have two questions:
> >
> > 1.) Can I easily extract individual tracks from the cda.wav file?;
> >
> > 2.) If I burn an audio cd using this cda.wav as the source material
> > will I get a single track on my audio cd? Or will I actually get
> > individual tracks?
> >
> > Thanks, gang.
> >
> >
> > --
> >
> > Janina Sajka, Director
> > Technology Research and Development
> > Governmental Relations Group
> > American Foundation for the Blind (AFB)
> >
> > Email: janina at afb.net Phone: (202) 408-8175
> >
> > Chair, Accessibility SIG
> > Open Electronic Book Forum (OEBF)
> > http://www.openebook.org
> >
> > Will electronic books surpass print books? Read our white paper,
> > Surpassing Gutenberg, at http://www.afb.org/ebook.html
> >
> > Download a free sample Digital Talking Book edition of Martin Luther
> > King Jr's inspiring "I Have A Dream" speech at
> > http://www.afb.org/mlkweb.asp
> >
> > Learn how to make accessible software at
> http://www.afb.org/technology/accessapp.html
> >
> >
> > _______________________________________________
> > Speakup mailing list
> > Speakup at braille.uwo.ca
> > http://speech.braille.uwo.ca/mailman/listinfo/speakup
> >
>
>
> _______________________________________________
> Speakup mailing list
> Speakup at braille.uwo.ca
> http://speech.braille.uwo.ca/mailman/listinfo/speakup
>

-- 

				Janina Sajka, Director
				Technology Research and Development
				Governmental Relations Group
				American Foundation for the Blind (AFB)

Email: janina at afb.net		Phone: (202) 408-8175

Chair, Accessibility SIG
Open Electronic Book Forum (OEBF)
http://www.openebook.org

Will electronic books surpass print books? Read our white paper,
Surpassing Gutenberg, at http://www.afb.org/ebook.html

Download a free sample Digital Talking Book edition of Martin Luther
King Jr's inspiring "I Have A Dream" speech at
http://www.afb.org/mlkweb.asp

Learn how to make accessible software at http://www.afb.org/technology/accessapp.html
-------------- next part --------------
<!-- X-URL: http://panic.et.tudelft.nl/~costar/gramofile/ -->
<!-- Date: Fri, 29 Jun 2001 14:35:18 GMT -->
<!-- Last-Modified: Wed, 23 May 2001 10:55:38 GMT -->
<BASE HREF="http://panic.et.tudelft.nl/~costar/gramofile/">
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.5 [en] (X11; I; Linux 2.0.36 i586) [Netscape]">
   <meta name="Author" content="J.A. Bezemer">
   <meta name="Description" content="GramoFile Home Page - Gramophone records to CDs in Linux, including tick removal and track splitting">
   <meta name="Keywords" content="GramoFile, gramofile, gramophile, GrammoFiel, grammofiel, gramophone, record, records, gramophone record,
gramophone records, signal processing, tick removal, pop removal, scratch removal, tick detection, noise reduction, filtering, sound processing,
signal processing, sound filtering, track splitting, track separation, sound recording, sound playing, linux, Linux">
   <title>GramoFile Home Page</title>
</head>
<body text="#333333" bgcolor="#FFFFFF" link="#FF0000" vlink="#000066" alink="#999900" background="img/backg_Fine_Speckled_cs1.jpg">

<center><img SRC="img/gramo_gabd331a.gif" ALT="GramoFile" height=82 width=493 align=BOTTOM>
<p><b><font face="Arial,Helvetica"><font size=+1>- Official Home Page -</font></font></b>
<br><font face="Arial,Helvetica"><font size=-1>Current version: 1.6(P) - Page



last updated: 2001/05/23</font></font></center>



<p><img SRC="img/overview_gae8d814.gif" ALT="Overview" height=24 width=131 align=BOTTOM>
<ul><i>GramoFile</i> is a computer program, running under the <i>Linux</i>
operating system (and some other UNIX-like OSses -- and even DOS/Windows
now!), with the main goal of
putting the sound of for example gramophone records on CDs. It is able
to record hours of CD quality music, split long sound files in separate
tracks, and remove ticks and pops from recordings.
<br>This program was originally written by Anne Bezemer and Ton Le as a
study project at the department of <a href="http://www.its.tudelft.nl">Information
Technology and Systems</a> (sub-department <a href="http://www.et.tudelft.nl">Electrical
Engineering</a>) of the <a href="http://www.tudelft.nl">Delft University
of Technology</a>, The Netherlands. However, development has continued
after the end of the project, resulting in the program as it is now.</ul>


<img SRC="img/features_gae9da61.gif" ALT="Features" height=28 width=132>
<ul>
<li>
Integrated sound recording and playback (with customized versions of <i>brec</i>(1)
and <i>bplay</i>(1) by David Monro);</li>

<li>
Handling of large sound files up to a few GB;</li>

<li>
Signal peak level meter during recording;</li>

<li>
Playback of user-specifiable parts of sound files;</li>

<li>
Signal processing through application of `filters';</li>

<li>
Nine filters (filter types, actually) are supplied, new ones can be added
fairly easily;</li>

<li>
Multiple filters can be used, in random order, in one single run - even
multiple instances of the same filter;</li>

<li>
Most filters can be fine-tuned through a number of parameters (independent
for each filter instance);</li>

<li>
A large sound file containing an entire side of a gramophone record can
be splitted into separate sound files, one for each track;</li>

<li>
Signal processing and track splitting are performed simultaneously; no
temporary files are used at all;</li>

<li>
Text mode user interface with a windows-like look and `feel';</li>

<li>
Sound files of the familiar .wav type are used, to allow easy interchange
with other programs;</li>

<li>
The program comes with extensive documentation explaining the implemented
filters and the track splitting.</li>
</ul>


<img SRC="img/latestnews_gfda2aeb.gif" ALT="Latest News" height=28 width=169 align=BOTTOM>
<ul>

<li>
23 May 01: <a href="mailto:james at xena.uklinux.net">James Tappin</a>
sent me an updated version of the CMF-3 filter. There are three patches now:
<br>
- <a href="tappin3a.patch">patch 1</a> corrects some negative overflow
checking in CMF-2;
<br>
and <b>either</b>
<br>
- <a href="tappin3b.patch">patch 2</a> adds the updated CMF-3 filter to
GramoFile 1.6
<br>
<b>or</b>
<br>
- <a href="tappin3c.patch">patch 3</a> adds the updated CMF-3 filter to
GramoFile 1.6P (the version with the Perl interface, see lower on
this page). After applying this, make symlinks to <tt>signpr_cmf3.*</tt>
from the <tt>perl-swig/</tt> directory.
<br>
James also has a
<a href="http://www.xena.uklinux.net/Linux/audio.html">webpage</a>
which points to much-requested noise reduction utilities (and other
interesting things).
<p>
</li>

<li>
28 Apr 01: <b>(Mostly obsoleted by 23 May 01 entry)</b>
<a href="mailto:james at xena.uklinux.net">James Tappin</a>
surprised me with a completely (well, almost) new filter: the CMF-3
(or CMF-2-F) which still detects ticks the "old&quot way,
but uses a new frequency-domain method to do the interpolation -- by
reducing the high frequencies during the ticks. The original shape of the
sound is preserved much better this way, but the processing is much slower.
<br>
The patch is available <a href="tappin2.patch">here</a>. To compile, you
need the <a href="http://www.fftw.org/">FFTW</a> Fourier Transform package
(Debian systems: <tt>apt-get install fftw-dev</tt>).
More info in the <tt>SIGNPR_CMF3.TXT</tt> contained in the patch.
<br>
James also provided some nice samples of an extreme case in
<a href="http://www.vorbis.com/"><tt>.ogg</tt></a> format:
<a href="demo/gramodemo2_in.ogg">the original</a>,
<a href="demo/gramodemo2_out_cmf2.ogg">CMF-2 processed</a>, and
<a href="demo/gramodemo2_out_cmf3.ogg">CMF-3 processed</a>.
Also take a look at the
<a href="demo/gramodemo2_wave.html">screenshot</a> of these files
in a wave editor, top = original, middle = CMF-3,
bottom = CMF-2. The passage is a short clip from a 1938 recording
of Die Zauberflöte: "(Bei Männern, welche) Liebe fühlen,
fehlt auch ein gutes Herze nicht".
<p>
</li>

<li>
09 Apr 01: Everyone wanting some speedup in track splitting and
signal processing should try the <a href="lemley1.patch">patch</a> by
<a href="http://lemley.net">J. Dru Lemley</a>, which makes GramoFile use
a second buffer to reduce the number of system calls during file I/O, and
also has a faster way to swap samples on big-endian machines. This patch
is relative to 1.6-with-all-earlier-patches, but shouldn't be too hard to
apply to a "clean" 1.6.
<br>
Dru mentioned that he is successfully running GramoFile on Mac OS/X, so that's
another addition to the list of "supported architectures".
<p>
</li>

<li>
27 Mar 01: People using Linux and an (on-board) sound card supported by the
via82cxxx driver will notice that recording is impossible because a certain
operation is not supported by that driver.
<a href="mailto:joerg.specht at ins.uni-stuttgart.de">Jörg Specht</a> sent in a
<a href="specht1.patch">patch</a> to solve this issue.
<p>
</li>

<li>
21 Feb 01: A new <a href="pophal1.patch">patch</a> by
<a href="mailto:pophal at zrz.tu-berlin.de">Herbert Pophal</a> adds
a new option to the signal processing, that shortens each generated track's
length to a multiple of (e.g.) 1/75th second = 588 samples = 2352 bytes,
which is the "block size" on CDs. This prevents <tt>cdrecord</tt> from padding,
which can be useful in certain situations.
<p>
</li>

<li>
05 Feb 01: <a href="mailto:TomHarvey at IndustryFigure.com">Tom Harvey</a>
is running GramoFile on NetBSD/Alpha and found that some
<a href="harvey1.patch">patches (1)</a> are needed for that. These should
also work on newer (but not older) Linux systems. He sent even more
<a href="harvey2.patch">patches (2)</a> to eliminate a few <tt>gcc</tt>
warnings and improve some help texts.
<p>
</li>

<li>
01 Feb 01: Got a patch from <a href="mailto:jpschewe at eggplant.mtu.net">Jon
Schewe</a> that makes file selection boxes a lot bigger, and also adds
quoting to the bplay/brec commands so that file names with strange characters
(like spaces or '&') get handled better. If you need/want that, get
<a href="schewe1.patch">this</a>, and if not, don't.
<p>
</li>

<li>
07 Dec 00: <a href="mailto:bob9960 at hotmail.com">Bob Wilkinson</a>
ported the Perl interface to the mainstream GramoFile source tree,
resulting in <a href="gramofile-1.6P.tar.gz">gramofile-1.6P.tar.gz</a>
(with the "P" of Perl). Compiling things is very easy now:
just <tt>make</tt> will do what it has
always done, <tt>make perl-swig</tt> will create the Perl callable
interface. Read the README in the <tt>perl-swig/</tt> subdir for more info.
(You'll of course still need to have
<a href="http://www.swig.org/">SWIG</a> installed.)
<p>
</li>

<li>
23 Nov 00: <b>(Mostly obsoleted by 07 Dec 00 entry)</b>
We're finally getting a bit closer to command-line usage.
<a href="mailto:bob9960 at hotmail.com">Bob Wilkinson</a> has created a Perl
interface to GramoFile's track splitting and signal processing routines.
<br>
It seems you have to do the following (again, I didn't try myself):
Get <a href="perl/gf.tar.gz">gf.tar.gz</a> and unzip it in an empty directory.
Then copy the files listed in <a href="perl/gfiles">this file</a>
from the original gramofile-1.5 (still available
<a href="gramofile-1.5.tar.gz">here</a>) to the newly created
<tt>Gramofile/</tt> directory. Then <tt>cd Gramofile</tt> and apply the
patches using
<br>
<tt>for file in diffs/*; do temp=${file##diffs/}; patch -p1 ${temp%%.diff} < 
$file; done</tt>
<br>
Then use <tt>make</tt> to compile the stuff.
<br>
This interface utilises <a href="http://www.swig.org/">SWIG</a> which you
need to have installed. It is available pre-packaged in the major Linux
distributions.
<br>
This interface allows setting the parameters of the track splitting
and the sequence of filters to apply to the signal.
There is no possibility to set the parameters of the individual
filters; the default values will be used (which are of course
easily changable in the C source).
<br>
Also included is a program <tt>wav2mp3.pl</tt> which automates the track
splitting and signal processing. As input an XML file is needed with
various data on the .wavs, like song titles.
<p>
</li>

<li>
22 Oct 00: <a href="mailto:s.deschenes at attcanada.net">Sylvain Deschenes</a>
produced a "normalize" filter.
<br>
I didn't
try it myself, but it looks like this: you start with already-separated
tracks (usually from different sources), possibly unprocessed. For each
individual track, run "Locate tracks", this will of course detect
only one track, but will also put some
useful extra data in the .tracks file.
With these values, you can compute the
amplification you want each track to have, from -100% to +100%. Then
"Process" each individual track, without splitting.
Use the new
"Simple Normalize Filter" as first (or only) filter, and enter
the desired amplification factor in the Parameter screen.
If the
signal needs tick removal, have the "Conditional Median Filter II"
as second filter, otherwise remove it.

<br>
The version with this extra filter is called "1.6N", but this
is not an official version. For Linux/UNIX systems, get
<a href="gramofile-1.6-to-1.6N.diff">this patch</a>; an updated DOS/Windows
version is <a href="gramo_w_1_6n.zip">here</a>. Note that this seems to change
some defaults, so I'd suggest you keep using a 1.6-unpatched version
for the "normal" work.
<p>
</li>

<li>
13 Oct 00: Thanks to 
<a href="mailto:s.deschenes at attcanada.net">Sylvain Deschenes</a>
we are proud to present a version
of GramoFile that runs on DOS and Windows systems. See below under
"Download" for details.
<p>
</li>

<li>
28 Mar 00: New version 1.6 with some nice enhancements, see the
<a href="ChangeLog">ChangeLog</a>. This version incorporates all the patches
I've received in the past year.
<br>
NOTE: I've <i>not</i> tested this release at all, I only know that it
compiles for me. If there are problems, please 
<a href="mailto:J.A.Bezemer at ITS.TUDelft.NL">send me patches</a> ;-)
<p>
</li>

<li>
03 Mar 00: My account on cardit.et suddenly disappeared and won't be coming
back. Moved the webpage to another machine.
<p>
</li>

<!--
<li>
15 Feb 99: New version 1.5 (no really new features; only better/faster).
Read the <a href="ChangeLog">ChangeLog</a> for more info. This version
probably compiles under other UNIX-like OSses too -- please try and
<a href="mailto:J.A.Bezemer at ITS.TUDelft.NL">mail me</a>
your experiences. Bug reports, patches, etc. are still welcome.
</li>
-->

</ul>

<img SRC="img/freesoft_gaeb302d.gif" ALT="Free Software" height=31 width=200 align=BOTTOM>
<ul>GramoFile is free software, and is licensed to you under the terms
of the <a href="COPYING">GNU General Public License</a>. That  means
that you are encouraged to redistribute and/or modify this program, under
certain conditions. In order to guarantee the continuing freeness of the
software, you must always make the (modified) source code publicly available.
Read more details (and the legally correct formulation) in the <a href="COPYING">GNU
General Public License</a>.
<p>GramoFile is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.  See the <a href="COPYING">GNU General Public
License</a> for more details.
<p>The GNU General Public License is also available in <a href="http://www.gnu.org/copyleft/gpl.html">html
format</a>, on the <a href="http://www.gnu.org">GNU server</a>.</ul>


<img SRC="img/download_gb0186cd.gif" ALT="Download" height=27 width=158 align=BOTTOM>
<ul>Currently, version 1.6 of GramoFile is available for download:
<p>

Source code, which you can compile yourself on Linux/UNIX systems:
<li>
<tt><a href="http://panic.et.tudelft.nl/~costar/gramofile/gramofile-1.6.tar.gz">gramofile-1.6.tar.gz</a></tt>
at the University of Technology, Delft, The Netherlands (main site)
</li>
<li>
<tt><a href="http://panic.et.tudelft.nl/~costar/gramofile/gramofile-1.6P.tar.gz">gramofile-1.6P.tar.gz</a></tt>
which is exactly the same as 1.6 but with the Perl interface added
(see the News section above).
</li>

<p>
DOS and Windows source code and executable, produced by
<a href="mailto:s.deschenes at attcanada.net">S. Deschenes</a>:
<li>
<tt><a href="http://panic.et.tudelft.nl/~costar/gramofile/gramo_w_1.6.zip">gramo_w_1.6.zip</a></tt>
at the University of Technology, Delft, The Netherlands (main site)
</li>
<BR>
Notes for this version: the <tt>.zip</tt> file will create the directory
<tt>djgpp\gramofile-1.6\</tt> and extract everything in there; it is
advised to extract in <tt>C:\</tt> to have the supplied <tt>.PIF</tt>
file working correctly (it refers to the file
<tt>C:\djgpp\gramofile-1.6\gramofile.exe</tt>).
<BR>
You can start the pre-compiled program
<tt>gramofile.exe</tt> immediately. If you wish to compile the program
yourself, see the instructions in <tt>DOSPORT.txt</tt>
<BR>
This version of the program does not support sound recording or playback,
but track splitting and signal processing should be fully functional.
For Windows systems, numerous <tt>.wav</tt> recorders/players are
available, which you can use instead. But be aware that GramoFile
only handles CD-quality <tt>.wav</tt>'s, i.e. 44.1 kHz 16-bit stereo.
Furthermore, it is a "console" program, meaning that it will
run in a DOS window, and that clicking the "buttons" with the
mouse will not work. Use the TAB key instead.
<BR>
When running from DOS-only (i.e. not from Windows), you also need the
<a href="http://www.dbit.com/pub/cwsdpmi/">CWSDPMI</a> program
(you probably have to put it in GramoFile's directory).
<br>
<a href="mailto:Bernd.Leppla at t-online.de">Bernd Leppla</a> informed me that
this version also runs well in an OS/2 DOS box.


<p> 
<br>New versions will be announced on comp.os.linux.announce.
<p>The following plaintext files are part of the tar.gz/zip file,
but are available for online viewing as well:
<br> 
<li>
<a href="README">README</a> - Overview, installation, usage hints, and
many more useful things. You should read this file completely before compiling
/ using the program;</li>

<li>
<a href="Signproc.txt">Signproc.txt</a> - In-depth description of most
implemented filters, and information regarding the implementation of new
filters;</li>

<li>
<a href="Tracksplit2.txt">Tracksplit2.txt</a> - In-depth description of
the algorithm used to locate tracks;</li>

<li>
<a href="ChangeLog">ChangeLog</a>;</li>

<li>
<a href="TODO">TODO</a>.</li>
</ul>


<img SRC="img/screen_gafedf1d.gif" ALT="Screenshots" height=28 width=173>
<ul>A few (rather old) screenshots are available for online viewing:
<br> 
<li>
The <a href="img/ss_splash.gif">opening screen</a>;</li>

<li>
The <a href="img/ss_mainmenu.gif">main menu</a>;</li>

<li>
The uniform <a href="img/ss_recfilenm.gif">file selection screen</a> (this
particular one is of the recording function);</li>

<li>
During <a href="img/ss_recing.gif">recording</a>;</li>

<li>
During <a href="img/ss_playing.gif">playback</a>;</li>

<li>
Parameters for the <a href="img/ss_tracksparam.gif">track splitting</a>;</li>

<li>
<a href="img/ss_sigprfilts.gif">Selection of filters</a> to be applied (signal
processing).</li>
</ul>


<img SRC="img/demofil_gb002336.gif" ALT="Demo Files" height=29 width=162 align=BOTTOM>
<ul>

Stefan Keppler sent me some great sample files in .mp3 format. Listen to
the
<a href="demo/gramodemo1_in.mp3">original</a>
and the
<a href="demo/gramodemo1_out.mp3">processed</a>
versions.
<p>
If you don't believe this is possible, feel free to try it yourself!

</ul>


<img SRC="img/contact_gafa1161.gif" ALT="Contact me" height=25 width=173 align=BOTTOM><img SRC="img/jab0698.gif" height=77 width=48 align=RIGHT>
<ul>The GramoFile program is currently maintained by Anne Bezemer (that's
me). You can contact me with any questions, comments, suggestions, problems,
and language corrections of course... at <a href="mailto:J.A.Bezemer at ITS.TUDelft.NL">J.A.Bezemer at ITS.TUDelft.NL</a>,
or (depreciated, but the `official one' may be out of order) costar at elektron.et.tudelft.nl,
costar at panic.et.tudelft.nl or mcbzmr at dds.nl.
<p>The official GramoFile Home Page is located at <a href="http://panic.et.tudelft.nl/~costar/gramofile/">http://panic.et.tudelft.nl/~costar/gramofile</a>,
for those who saved this page and did not write down its location ;-)</ul>

<div align=right>
<!--
<a href="http://view.showstat.com/showview.asp?user=gramofile"><img SRC="http://stat.showstat.com/cgi-bin/statbasic.dll?user=gramofile"
ALT="Showstat Statistics" NOSAVE BORDER=0 height=30 width=30 align=BOTTOM></a>
- Doesn't work any more :-(
- Oh, no problem. I've now got far better statistics right here in
  /var/log/apache ;-)
-->

<a href="http://www.zy.com"><img SRC="img/s-zygra1.gif" ALT="Free Graphics by ZyGraphics - ZY.COM"
BORDER=0 height=31 width=88 align=BOTTOM></a>
</div>

</body>
</html>



More information about the Speakup mailing list