- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
237 lines
16 KiB
Plaintext
237 lines
16 KiB
Plaintext
Episode: 1512
|
|
Title: HPR1512: Adopting and Renovating a Public-Domain Counterpoint Textbook
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr1512/hpr1512.mp3
|
|
Transcribed: 2025-10-18 04:31:31
|
|
|
|
---
|
|
|
|
Hey everybody, this is John Colp in Lafayette, Louisiana and I don't really remember the
|
|
last time I recorded an episode for HPR.
|
|
I think it's been many months now.
|
|
I don't think it's been quite a year but it's been quite a long time and I'm answering
|
|
the recent call for episodes on account of the queue has gotten dangerously low.
|
|
So I'm going to talk today about something that's been on my mind for quite a long time
|
|
really but a lot lately.
|
|
And that is textbooks, the price of textbooks and what to do about it.
|
|
I am a professor and if you've listened to any of my other episodes you might have gotten
|
|
wind of that somehow.
|
|
But I've been teaching in a school of music at the University of Louisiana at Lafayette
|
|
since 2001.
|
|
I've been in academia for a long time both as a student and now for 13 years as a professor.
|
|
And the price of textbooks has always been bad but it seems like it's gotten worse in
|
|
the last few years.
|
|
Not only because prices have gone up but also because increasingly publishers are worried
|
|
about rip off copies of their books and what to do about e-books and things like this.
|
|
Publishers are moving in a way that disturbs me a little bit.
|
|
A lot of them are going toward electronic books that are not even really proper e-books
|
|
but rather simply websites that have the text of a book or images of every page of a book
|
|
where you have to view it in a web browser and you only have access to it for six months
|
|
for a price of, I don't know, anywhere from $60 to $200 or something like this.
|
|
And then after the time expires you no longer have access to it.
|
|
It's pretty disturbing the kinds of things that publishers are coming up with to try and
|
|
keep their business model in good shape.
|
|
And I don't know, I've had a number of thoughts about how to deal with this and one of the
|
|
classes in which I have been able to come up with a pretty workable solution for the
|
|
price of textbooks is my counterpoint class.
|
|
Now counterpoint is a subject that essentially you are trying to teach students how to
|
|
write music in the style of JS Bach who is a Baroque composer who lived from 1685 to
|
|
1750 and his style of counterpoint is the prototypical late Baroque style.
|
|
And so the subject of counterpoint actually lends itself very well to the use of older
|
|
textbooks.
|
|
Now, what I've done in the past, a solution I came up with a few years ago that's worked
|
|
pretty well for the last four or five years, is to allow students to buy older editions
|
|
of the textbook that I had chosen.
|
|
I chose a book by Kent Kennen called Counterpoint.
|
|
It's a very good book, it's published by Prentice Hall and the latest edition, which is
|
|
actually pretty old now from 1999, retails for about $120.
|
|
That's an insane amount of money.
|
|
And the older editions of the book, the first through third editions, are plentiful on
|
|
the used market and normally students can find them from anywhere between $3 to $10.
|
|
So I allow them to buy any older edition of the book that they can find and other than
|
|
pagination, the contents are essentially identical to the newest edition.
|
|
And so that's something that has helped quite a lot with the price of textbooks.
|
|
But one of the things I've done with them also is not only are they allowed to get this
|
|
older edition of the book, but I have myself purchased seven or eight copies of the book
|
|
and I will loan the textbook to my students for a whole semester for a fairly reasonable
|
|
deposit, I think, of $20.
|
|
They give me $20 and I give them a book for the whole semester.
|
|
And then at the end of the semester, when they give me the book back, they get all their
|
|
$20 back.
|
|
And so essentially they get to use the book for free for the whole semester.
|
|
Now counterpoint also involves lots of homework and in the past, before I came up with my own
|
|
home spun solution, what they had to do was purchase a workbook that went along with
|
|
the textbook and then they would tear pages out of that and do the exercises and that
|
|
and turn it in for homework.
|
|
The workbook also was pretty expensive.
|
|
It was somewhere around 60 bucks and it was not all that long, maybe 60 pages or so and
|
|
normally in the semester we would only get through about half of it.
|
|
And I started to feel bad that my students were paying so much money for a book that we
|
|
used only half of and so I decided, well, maybe I can just write my own workbook and so
|
|
I did.
|
|
I wrote a counterpoint workbook and gave it a creative commons license and I just give it
|
|
to my students for free.
|
|
They print it out and usually they will just print out one page at a time as needed to
|
|
do their homework and it's worked great.
|
|
So with the free workbook and the very cheap textbook, it's actually been pretty reasonable
|
|
for that class.
|
|
But recently, I guess early this semester, maybe in February or March, I started poking
|
|
around on Project Gutenberg to see what kind of music books there were on there that were
|
|
in the public domain and I noticed that there was at least one counterpoint book.
|
|
Now, it wasn't quite appropriate as a textbook for this class but it got to me to thinking
|
|
that maybe there are some public domain counterpoint textbooks out there that I could use
|
|
for this class even if I had to scan them myself.
|
|
So I started looking around some more and I found, where was it, Archive.org or somewhere.
|
|
But I don't remember where it was but I will have a link on my website where part of
|
|
the Google Books project, they scanned a counterpoint textbook that was published in 1910 by
|
|
a guy named Percy Gertschuss and it's called Elementary Exercises in Counterpoint and
|
|
I started looking through it and I thought, man, this is a pretty good textbook and for
|
|
a subject like counterpoint where what you're learning to do is to write in a musical style
|
|
that is more than 200 years old, you don't really need all the latest information on this.
|
|
I mean, the subject has not changed in hundreds of years and so being up to date is not
|
|
a prerequisite of the textbook.
|
|
Now teaching philosophies about counterpoint will of course change but the subject matter
|
|
itself has not changed.
|
|
And so this class is perfectly suited for the adoption of a public domain textbook.
|
|
So I was really glad to find that Google Books had scanned the textbook in but I was a little
|
|
bit dismayed when I downloaded the EPUB version that they had posted there because it was
|
|
just riddled with errors and none of the musical examples appeared.
|
|
You could look at the PDF version and that one looked fine.
|
|
You could see every page just fine, everything was nice and clear.
|
|
But the fact that the OCR had so many errors and it made it a little less useful because
|
|
there were so many misspellings and anyway, I decided that I would take the raw OCR scan
|
|
of this book and try to make my own HTML version of it and so that's what I've been working
|
|
on for quite a while now.
|
|
The basic text of it is all complete and corrected and many of the musical examples are done
|
|
as well.
|
|
Early on I decided that I would make new engravings of all of the musical examples in textbook.
|
|
And one of the reasons I wanted to do this was because I felt that it would help to address
|
|
what I felt was a common failing of music theory textbooks which is a lack of a play button
|
|
under the musical examples.
|
|
Every textbook I've ever seen has musical examples in it where you get lines of music
|
|
notation there and you either have to look at it and imagine in your head how it's going
|
|
to sound and I can do that to a certain extent and anyone who's had a good amount of training
|
|
in music can or you have to sit down at a piano and try to plunk it out at the keyboard
|
|
or play it on whatever instrument you know how to play.
|
|
And I felt for a long time that modern textbooks really ought to have play buttons.
|
|
So one of the great advantages of a digital medium for a textbook would be the fact that
|
|
you could embed media in it.
|
|
You can have audio files, you can have larger versions of the images and so forth.
|
|
And the reason I felt like I could not just use the PDF for this, I mean partly it's
|
|
because there were so many errors in the scan, the OCR scan, but also a PDF really is not
|
|
a whole lot better than a paper book because it's a fixed size.
|
|
And the only way it's better than a paper book is in the ease of distribution because
|
|
it's very easy to copy and distribute widely.
|
|
Otherwise it's not a whole lot better because it's a flat static kind of format.
|
|
HTML is so much better because it can be made to look good on devices of all sizes with
|
|
some fairly simple CSS and because you can embed media in it.
|
|
So I decided to overhaul this thing and give it a good HTML rendering.
|
|
For the musical examples I decided to use Lillipond, which is a music notation program that
|
|
uses plain text source files.
|
|
This had a number of advantages, for me it had an advantage in that I already knew how
|
|
to use Lillipond because I've been using it for several years now.
|
|
Also it's highly scriptable because you're dealing with plain text source files.
|
|
So by using Lillipond for the musical examples I was able to write a script that would take
|
|
the Lillipond source code and from it generate a number of ancillary files that would be
|
|
then used in the text.
|
|
First of all of course would be the musical score, a PNG image of the musical example
|
|
that I needed.
|
|
Also it generates MIDI and I use the MIDI file then to generate AUG and MP3 versions
|
|
of the same audio file because you need both of those for cross browser compatibility
|
|
for HTML5 audio players.
|
|
Oh yeah, the script also at the same time will use the information that I have embedded
|
|
in the source code to generate a little block of HTML code that will then be pasted into
|
|
the textbook source file to make an HTML5 audio player render there.
|
|
So it's pretty cool, I make use of a number of the script nerds might like to hear some
|
|
of the tools I use here I guess.
|
|
Of course I use Lillipond to compile the Lillipond source code then I use the NetPBM tools
|
|
to wait, where do I do that actually I use a tool called OptiPNG, OPTIPNG to optimize
|
|
the PNG file because the by default the PNG is a pretty large file.
|
|
So I use OptiPNG to reduce the file size a bit.
|
|
It seems like I also, there was somewhere in there where I made the file smaller, I can't
|
|
see it right now.
|
|
But anyway I use timidity to play the MIDI file, it actually doesn't play it but it kind
|
|
of virtually plays it and then pipes it through LAME, L-A-M-E to make an MP3 version and
|
|
then I use a script called MP3 to AUG to convert the MP3 file to AUG format.
|
|
Also in there I use SOX because for some reason timidity created a tiny bit of static at
|
|
the beginning of every MIDI file but it was only on one of the channels and so I used
|
|
SOX to extract the clean channel and use that as the source for the MP3 and AUG files so
|
|
that you don't hear any funny sounds.
|
|
And then I use a cat and a little hear statement and whatnot to generate a block of HTML
|
|
code that makes the HTML5 audio player.
|
|
What else?
|
|
I guess there's not tons else to say about this except for that I've come across a couple
|
|
of issues with it, one is that I thought it would be best at first to have the textbook
|
|
in one giant HTML page and the main reason is because I have lots and lots of intertext
|
|
links here.
|
|
What I did with this textbook is formatted in a great big ordered list, there are something
|
|
like 252 items in this ordered list and that's the way it was formatted in the original
|
|
textbook and he's constantly saying well for another example this you need to refer
|
|
to paragraph 141 or to example 42 or something like this and everywhere he makes that kind
|
|
of reference I have a link so that you can click right on it and jump right to the place
|
|
he's talking about.
|
|
This is another great advantage of HTML over paper books or even PDFs as the ability to
|
|
link just all over the place and I was not sure how to make all these links work easily
|
|
if I had it divided up into multiple pages say one page for each chapter or something
|
|
like that but the problem I'm running into now is that the page is really really big
|
|
and with all those images to load it doesn't work very well it's too heavy and so I really
|
|
am going to have to chop it up into several smaller pages maybe one for each chapter in
|
|
which case there would be 24 or 25 HTML pages instead of one great big one but I still
|
|
am trying to come up with a script that will take the one big page and chop it up into
|
|
all the little pages and adjust the links as necessary.
|
|
I still do want to have the one big HTML page version handy because it seems to work
|
|
better for creating an EPUB version of the book.
|
|
The EPUB version is also a little bit problematic because I've been using Caliber to generate
|
|
the EPUB and it does an okay job but I found that the EPUB file it generates is not all
|
|
that compatible with the different EPUB readers that I've tried.
|
|
I've tried I think FB Reader and Moon Reader Pro on Android and I've tried three or four
|
|
different EPUB readers on the iOS platform and each one behaves differently and so this
|
|
is a problem I'm going to have to research this a little bit more to try to find an EPUB
|
|
format or try to fix my source file where it has a bit more consistency.
|
|
The main problem is that the music players, the audio players for each example do not
|
|
necessarily render in the different E readers.
|
|
They render in some and not in others and then there's one of the EPUB readers where you
|
|
do see all of the audio players under the examples but then when you play them sometimes
|
|
they get confused like you'll click play on example 12 and you'll hear it and then you'll
|
|
jump down to example 14 and you click play and it'll play example 12 again and of course
|
|
this is not acceptable and so I've got some work to do to try and figure out exactly
|
|
how I'm going to generate a good EPUB version and I do want to have that.
|
|
I don't want people to have to read this book in a web browser because I don't think
|
|
that's optimal.
|
|
It requires constant connection to the internet and that's not ideal.
|
|
I want people to be able to read offline in a native EPUB format.
|
|
So anyway that's probably about all I want to get into about this project.
|
|
I hope you found it interesting.
|
|
I do.
|
|
I should say that what I've showed to my students of this book they've really liked it.
|
|
They love the electronic format.
|
|
They love the play buttons under each example.
|
|
They like how they can click on links to jump all around in the textbook and they think
|
|
really it's about time that books are behaving this way and they appreciate also of course
|
|
the fact that it's going to be free to them.
|
|
In the process this summer of coming up with my own public domain and creative commons
|
|
textbook type materials for my very large music appreciation class I finally got
|
|
fit up enough with the textbook publishers and with their websites that I'm just going
|
|
to break away from them for good and use my own materials.
|
|
So finally the students in those classes which are much much larger than my counterpoint
|
|
classes will no longer have to buy textbooks and I hope it will still be a good course
|
|
experience.
|
|
They'll still learn but they won't be holding to the publishers who are just trying
|
|
to jam them and get as much money as they can out of their pockets.
|
|
Alright I guess that's about it.
|
|
This has been John Culp in Lafayette Louisiana and I will talk to you again very soon.
|
|
Bye.
|
|
You have been listening to Hacker Public Radio at Hacker Public Radio.
|
|
We are a community podcast network that releases shows every weekday on death week
|
|
Friday.
|
|
Today's show like all our shows was contributed by an HPR listener like yourself.
|
|
If you ever consider recording a podcast then visit our website to find out how easy
|
|
it really is.
|
|
Hacker Public Radio was founded by the digital dog pound and new phenomenon computer
|
|
cloud.
|
|
HPR is funded by the binary revolution at binref.com.
|
|
All binref projects are crowd-responsive by linear pages.
|
|
From shared hosting to custom private clouds, go to lunar pages.com for all your hosting
|
|
needs.
|
|
Unless otherwise stasis, today's show is released under a creative comments, attribution,
|
|
share alike, video zone license.
|