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.