Initial commit: HPR Knowledge Base MCP Server
- 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>
This commit is contained in:
286
hpr_transcripts/hpr1909.txt
Normal file
286
hpr_transcripts/hpr1909.txt
Normal file
@@ -0,0 +1,286 @@
|
||||
Episode: 1909
|
||||
Title: HPR1909: Creating an Open, Embedded-Media Music Textbook
|
||||
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr1909/hpr1909.mp3
|
||||
Transcribed: 2025-10-18 11:03:35
|
||||
|
||||
---
|
||||
|
||||
This episode of HPR is brought to you by Ananasthos.com, get 15% discount on all shared hosting
|
||||
with the offer code HPR15, that's HPR15, better web hosting that's honest and fair at Ananasthos.com
|
||||
All right we're ready and this paper is re-invigorating, re-oncreating salt and embedded media
|
||||
music textbook for the digital age and please welcome Dr. Johnson-Cult of the University
|
||||
thank you very glad to be here I'd never been to this conference before I'm I'm finding it a
|
||||
very friendly place and actually a lot more useful than some of the other conferences I've been to
|
||||
so thank you for welcoming me here I'm really glad that you guys did your presentation right before
|
||||
mind because you kind of took care of some of the issues that I was going to bring up and I can kind
|
||||
of move along to some of the the meat of the matter I count myself as one of those professors who
|
||||
cares deeply about the price of textbooks and wants to try and do something about it and the
|
||||
presentation today is essentially a summary of how I did it for one of my classes haven't done
|
||||
for all of them yet but for one class I've done it we've just heard a discussion I mean what I
|
||||
really liked about y'all's presentation is that you have like actual facts and figures and
|
||||
data I didn't bother finding that stuff I just go from anecdotal evidence that this stuff
|
||||
costs a lot students don't like it they don't buy the books and so no I intuitively know these things
|
||||
and so in my counterpoint cloud this is a class where I was using a textbook that if you bought it
|
||||
new cost 125 dollars for an edition that last was updated in 1999 and required a companion workbook
|
||||
that was about another 65 dollars and there were a few stages well let me go to my first slide there
|
||||
that's my slide there for that's the money problem that represents the money problem and so
|
||||
you know textbooks they just cost way way too much and it's getting better in some way I mean
|
||||
some of these electronic alternatives help they they make it less expensive to get the materials
|
||||
you need for the semester however I've got a big problem with the business model of the many
|
||||
of the publishers where you you pay a certain amount and then once the semester is over it goes
|
||||
away and so the students who might be interested in keeping it for a while longer can't do it and so
|
||||
that's because somebody has run off with their stuff and so I thought I would try to fix this
|
||||
problem for at least one of my class oh I have a list of some of the textbooks I did run down some
|
||||
of the textbooks that I know about who do this kind of thing and just give an idea of like how much
|
||||
they cost and how long you get to access to it there weren't any options like this for counterpoint
|
||||
so most of them allow you like one semester's worth maybe for a whole year some of them
|
||||
um but every one of them has access that is given for a while and then denied after the
|
||||
licenses expired um and apart from that I object also not just because it's a business practice
|
||||
that I don't like but also most of these things are not really ebooks they they call them ebooks
|
||||
because they don't really understand what an ebook is I think to me an ebook is something
|
||||
that I download a file that I get to keep locally on my device and I can put it on whatever device
|
||||
I want to and uh I can keep it and so um here's an example this is what the cost of pain theory
|
||||
book looks like on a phone on the publishers this is course smart which is you know a popular
|
||||
e-delivery format it's got some good features it's got the table of contents where you can navigate
|
||||
very easily around the book and everything but can any of you read that my my measuring stick
|
||||
is can I read it on my phone comfortably without doing a lot of like zooming in it's well I'll zoom
|
||||
in right hey I can read it now but what's the problem is running all the way off the side of the
|
||||
screen well maybe I'll turn it sideways or maybe I don't that's for a later time so um that's
|
||||
an example of an ebook ebook that that I don't think is really an ebook and most of the publishers do
|
||||
that um and so uh to me that's not really an option uh paper books are still a pretty good option
|
||||
I mean I I've almost stopped reading paper books because I love my Kindle so much and I always
|
||||
want to have my book in my pocket on my phone or whatever but paper has some advantages you get to
|
||||
keep it if you want to you can sell it back if you wanted you could give it to a friend I mean
|
||||
there's so many great things about uh paper that's the thing I don't like about paper it weighs a
|
||||
lot this was an issue that they came up and it's you know less of an issue for me because I have
|
||||
an office I can keep books in and I don't have to lug them all over the place but I don't want my
|
||||
students to have to tote anybody try to pick up the Oxford uh history of Western music college
|
||||
edition that is a heavy book it's a very very heavy book um I requested an extra copy from the
|
||||
publisher so that I could keep one at home and one at the office because I didn't want to carry it
|
||||
um so I don't like heavy books um so anyway there there were a couple of uh attempts to solve the
|
||||
problem of expensive textbooks in my counterpoint class the first thing I did was I wrote a workbook
|
||||
because the workbook was something I felt well I could probably write my own workbook without
|
||||
too much trouble you need a bunch of cantist premises for them to write counterpoint against it's
|
||||
not rocket science and so I wrote a workbook I give it to them for free as a PDF and I'm not a
|
||||
huge fan of PDF but for this purpose it's perfect because what I wanted to do is print it right on
|
||||
it and turn it in uh and it's free anybody around the world whoever wants it can have it I don't
|
||||
I don't care it's creative commons license and then for the book that cost 125 dollars said guys
|
||||
just go find any old edition of this you want and it's fine they they differ only in pagination
|
||||
and usually not that much in pagination but not at all in content the content is virtual
|
||||
identical from first through fourth editions and they're plentiful on the use market for
|
||||
under ten dollars and so uh that work really I mean students uh the problem with that one was
|
||||
they find out about this on the first day of class and then it's two weeks before they can
|
||||
get their copy and so what I started to do was collect them myself at the end of the semester
|
||||
I buy books from the students and uh before long I have like ten copies of it and then
|
||||
next time I taught the course I say students who you want to you can borrow this book for the whole
|
||||
semester for twenty dollars give it back to me at the end of the semester you get your twenty dollars
|
||||
back if they don't give it back I take that twenty dollars and buy another copy of the book and so
|
||||
that actually worked pretty well students were happy they really didn't have to pay anything
|
||||
but um it's I still wanted an ebook or something that that I could just provide them for free
|
||||
and not have to go through that whole thing of um finding books so my new solution
|
||||
was to track down a public domain counterpoint textbook I found a couple
|
||||
the first place I looked was Project Gutenberg because that's where I get all the stuff I like to
|
||||
read for pleasure um old 19th century fiction and stuff like that they had one counterpoint book
|
||||
that was not really appropriate it was like 40 lessons in counterpoint and it was you know
|
||||
really thin um it was okay but not really appropriate for my class so went over to archive.org
|
||||
and found two books by this guy Percy Gurches who published a bunch of books back in the early
|
||||
part of the 20th century including these two the one that I thought was most appropriate for my class
|
||||
was exercises in elementary counterpoint and then I also took the other one applied counterpoint
|
||||
which is much more advanced learning to write fugues and inventions and canons and all that but um
|
||||
oh and here's the address archive.org if you're incidentally I forgot to mention
|
||||
I've got a handout I wasn't sure if this conference did handouts I haven't seen very many but I
|
||||
have a handout and if I ran out then you can like do a QR code and get an online version of
|
||||
that handout that's much better actually it's got links to all of the stuff I talk about in an embedded
|
||||
video um so the at archive.org what they have it's a repository of stuff all kinds of stuff audio
|
||||
video and a lot of books this was an example of what I would call a scan and dump so some library
|
||||
somewhere has an excellent scanning machine that'll scan a whole book really fast and then it runs
|
||||
I presume some kind of script that will convert the output of that scan into multiple formats
|
||||
including things like HTML, plaintext, rtf, pdf, ummobi I mean all kinds of formats and then they
|
||||
just dump it on the server and so I found that and I downloaded two things the pdf and the e-pub
|
||||
I wanted the e-pub because when you unpack an e-pub there's HTML in there I like HTML because of
|
||||
some things I'll talk about in just a moment but so that's what the pdf looked like it's
|
||||
beautifully scanned I could have just given the pdf to my students and said this is our book
|
||||
and they probably would have been okay with that it's free they can read it you know they can
|
||||
download it onto their tablets or computers or whatever however I'm not a big fan of pdf and um
|
||||
I wanted to make it something a little bit more flexible and so I looked at the e-pub and here's
|
||||
what I found oh my goodness this is the same page we're just looking at take a look
|
||||
we see here 17a the interval most to be shown between two and so forth what happened to the
|
||||
musical examples oh dear um the examples just didn't come out they they end up as
|
||||
asky gibberish on the screen and so I thought well if I'm going to to make something usable out
|
||||
of this I've got a lot of work ahead of me and so I decide to try it anyway I mean I could have
|
||||
just used the pdf but to me this is a pdf that represents a pdf to me because it's it's
|
||||
it's so static like if you try to view a pdf on an ipad man it looks great it looks great right but
|
||||
what about my phone with on the phone uh there's the pdf I can't see that it's too little but I
|
||||
can zoom in right and the same thing happens as on that other thing so I'll turn it sideways hey I
|
||||
can still read it but then you know you get a few lines at a time um and so what I wanted was
|
||||
something flexible and that is html to me this represents html a liquid because whatever
|
||||
container you pour it into it flows to fill it perfectly right that's what html does and so
|
||||
for the e-book we get something that you might even be able to read from where you're sitting
|
||||
right there you re-flows all the lines to fit the screen if you can't read it you just change
|
||||
the font size right that's bigger now you can read that an e-book you you to me it's not any
|
||||
book if you can't change the font size because and that's that's an accessibility issue and it's
|
||||
about being able to adapt on the fly to fit whatever screen you're looking at you can also do
|
||||
something like use a different font face here I've used the open dyslexic font which allegedly
|
||||
helps dyslexic readers to read a lot more accurately you can't do that on the pdf you can't just
|
||||
change the font face to me an e-book has to be able to change the font face as well and so
|
||||
what I did was start to just work through the book the first thing to do of course was to correct
|
||||
the text so even I mean obviously the musical examples were a wall they weren't there but of course
|
||||
the OCR doesn't get everything right in the plain text either so first thing to do is just correct
|
||||
all the text and I did that took a while reading through the text I got a good feel of how the
|
||||
book was put together to make a book like this work you really have to you have to put in an
|
||||
infrastructure that makes it possible to do non-linear reading because I mean in a novel of course
|
||||
you expect someone to just start at the beginning and read all the way to the end don't necessarily
|
||||
do that in a text book a lot of times you'll need to start on chapter five or you know go here
|
||||
and there and just jump all over the place and there has to be a suitable HTML infrastructure in
|
||||
place to make it easy to jump around and so I put that you know I got HTML anchors for all the
|
||||
chapters for the basic structural unit of this book is the paragraph and it's like like giant
|
||||
ordered list paragraph one two three all the way through like 250 and he's frequently saying
|
||||
for more information about this see paragraph 71 or so and so every time he does that there's a
|
||||
link you tap on that and it goes right there and to me that not doing that would have been ignoring
|
||||
one of the most fundamental benefits of HTML and so you can see this is what the source code looks
|
||||
like when I'm done with it you've got hyperlinks on references to the various paragraphs you've got
|
||||
the image files and here is the killer feature for my book I also thought I was finally going to
|
||||
address to me the like the most glaring omission from music theory textbooks and that is the play button
|
||||
there's no play button under the examples in theory books and you might think well what does
|
||||
that matter I mean a good musician ought to be able to look at that example and imagine it in his
|
||||
head and like what I mean I can do that I've got a lot of training but my students see that and
|
||||
they just turn the page and they they don't even look at it and so my task because I thought it was
|
||||
to create a version of the book where that appears under every single one and so that took some doing
|
||||
what I did was to well it's a long process however I came up with a workflow that made it doable
|
||||
I would have given up ages ago if I didn't have certain skills at programming and automating things
|
||||
and so I decided to use to create the MIDI files a program called lilypons which is listed on
|
||||
them hand out there lilypons and open source cross platform music notation program that uses
|
||||
plain text as an input and outputs other stuff images PDFs audio and so the main thing I needed
|
||||
it for was to create the audio part of my script when I finished a little bit of code that will
|
||||
create an example it will generate an image which I didn't necessarily use I decided after a while
|
||||
that I need to do screenshots instead of brand new images for reasons that I'll go into if we got
|
||||
time but it generates a MIDI file which I then have part of my script convert to MP3 and
|
||||
org format and it lastly creates a little block of HTML code that when I speak a command zaps
|
||||
it right into my file and voila I've got a play button and so I got this workflow going where
|
||||
it allowed me to do these these play buttons fairly rapidly and so I forget where I had
|
||||
initially thought I was going to read from script and after going to a number of papers I decided
|
||||
well maybe I'll just go from my slides and I know this topic backwards and forwards because I
|
||||
of course did it but I'm not sure exactly where I should go next in the discussion because I don't
|
||||
know what you guys are we're going to be interested in but essentially that's my my process
|
||||
creating oh the next thing I need to talk about I suppose is how to read this thing so my source
|
||||
file is HTML and at first I thought I would just put this on my web server and have a great big HTML
|
||||
page which it has benefits and drawbacks benefit is that all of the hyperlinks and all the audio
|
||||
works perfectly drawback it's a very very large file size for that page and so loading the page up
|
||||
on on a desktop it's no problem but on my phone man it took forever not acceptable and so I decided
|
||||
to convert the HTML format into ebook formats ePub and azw3 for well ePub reads on lots of things
|
||||
azw3 is for the Kindle the Kindle sadly does not support audio it like you can't put a play
|
||||
button in here I still want to read that book on my Kindle just because I love my Kindle because
|
||||
I love the way it looks it still looks like a paper book only it's a little smaller and I can
|
||||
change the font size and and all that and so I do create Kindle versions even though they don't
|
||||
have the audio but I also still wanted to have a version that somebody who doesn't have a fancy
|
||||
smartphone or an iPad can read just on a desktop but still get an ebook experience and that was
|
||||
I found a tool called monical which is a set of JavaScript that you can put on your web server that
|
||||
will give you the experience of an ebook and I would be demonstrating this right now if I
|
||||
did not have the technical difficulty with my laptop but you can go in a web browser Chrome
|
||||
works best to this one page on my website and the whole book is done in like an ebook reader that's
|
||||
embedded in my web page and you get to you know it turns pages and you can sometimes change the
|
||||
fonts if you can manage to click and just the right spot this is not a perfect ebook reader but to
|
||||
me it's better than trying to load up the giant web page all at once I even use the monical
|
||||
version on my phone using the Chrome mobile browser and that's my favorite way to look at it on
|
||||
the phone distribution of the book I mean this is something I would like for anyone who's interested
|
||||
in a free counterpoint book to use freely do whatever they want with it I'm not interested in
|
||||
getting any money for it I just wanted to give my students a book for free and anyone is welcome
|
||||
to get it from my server however I would love to find I guess this is the next step is find
|
||||
somewhere to give it a home where it be more central more of a more official kind of textbook
|
||||
place where more people could discover it easier and then just download it freely great thing about
|
||||
my book is that I mean it's I mean it doesn't really need peer review in terms of content because
|
||||
it went through like 15 editions on on published by G Shermer and so I mean it's a really good book
|
||||
the language is a little bit quaint but I kind of like it I like hearing he's sometimes even poetic
|
||||
you know those guys in the late 19th century wrote in a beautiful way sometimes and so
|
||||
but I mean you'll occasionally run across some terminology that's a little bit outdated and we
|
||||
might call things differently but since the book I'm offering does not have any DRM on a digital
|
||||
rights management just pack it it just open it up and change the words if you don't want
|
||||
it I wouldn't care and so like what I do instead is like when he starts talking about say the
|
||||
controversial associate I put a little footnote and say nowadays we call this the counter motive
|
||||
and boy you could also change it so that any old-fashioned term like shows up in red or something
|
||||
where was I going with that I I think that's about all I wanted to say about it
|
||||
Christian yes I have two questions actually yeah it seems like here you can rely on getting a
|
||||
resource that according to you anyway it's not that fundamentally different from sources that are
|
||||
commercially available now but would that translate well to your other courses could you
|
||||
imagine for example finding a harmony textbook that is public domain or even a I think got
|
||||
a bit of music history right I of course have thought about this a lot and it counterpoint is
|
||||
particularly well suited for this because what you're learning to do is write in a style that's
|
||||
200 years old and that style is never going to change now teaching philosophies might change you
|
||||
know the different approach I mean I just got a brand new counterpoint book a few weeks ago that
|
||||
came out so people are still publishing new counterpoint books and the reason why I called this
|
||||
reinvigorating the wheel is because I thought why do we keep doing that I mean counterpoint is so
|
||||
old we don't need to reinvent the wheel here let's just reinvigorate it by taking this book which
|
||||
to me is really good and just making it new making it flexible and modern and to me it's actually
|
||||
better than anything available currently because of the play buttons I mean I had one of my students
|
||||
in the counterpoint last semester I said Dr. Culp I don't think I've ever even looked at an example
|
||||
in a textbook before but yours been this is great I can not listen to every single one of them
|
||||
I think and partly because it's kind of fun you know no it's a it's an MP3 file that's embedded
|
||||
in the ebook itself it's it's like a generic piano sound but that's something you could
|
||||
change I mean if if you had access to my source files and I would share them with anybody if
|
||||
you've got a better MIDI generator than what I was using you could get nicer quality sounds
|
||||
and one thing that I had thought about doing for the future for for whatever examples in their
|
||||
are appropriate is to take the recordings done on something like the open well-timber clavier or
|
||||
the open Goldberg variations this these are you guys familiar with these projects wonderful recordings
|
||||
by professional pianists that are public domain and you could take some of those cut out just the
|
||||
right spot and put it in my book right there and have a real professional pianist doing these or
|
||||
maybe crowdfund a project to hire somebody to do nice studio recordings of every single one of those
|
||||
the problem with that is it's not it's not scriptable I my my criterion for using like lily pond for the
|
||||
thing I had to be able to script this because I like for example I realized early on that the file
|
||||
was getting way too big like it and if I kept going at that rate it was going to be like a 300
|
||||
megabyte file size which is way too big and so all I had to do was to write a brief shell script
|
||||
that would just regenerate all the files at a different bit rate and a different width for the
|
||||
images and it took less than five minutes to regenerate like 600 media files which is something you
|
||||
can't do unless you're using a tool that is running from the command like you can't do that in
|
||||
the finale I mean you've got to open up every single file re-export I mean it's it's not doable
|
||||
yeah you anyone else in this room tried ibooks for creating files like this so ibooks there's a separate
|
||||
it's i think ibooks university or something something not just the ibooks e-reader but
|
||||
that enables you for those who don't have programming experience to just create very easily
|
||||
it's not as customizable as there's something that you can change it's grip but you know maybe
|
||||
for some people have you used it I've not used that I have used some graphical program like
|
||||
the the program I used to generate the e-book formats is called calibur and calibur has a graphical
|
||||
version that's available for mac for linux for windows I at first I was using the graphical one
|
||||
and that that just was not doable because every time I wanted to update the files and put them on
|
||||
my website I had to open up calibur bring in the file right click this do choose to format I mean
|
||||
it was terrible and so I discovered though that calibur has a set of command line tools and so I
|
||||
wrote a script that would just take my original HTML and generate azw3 e-pub dyslexic azw3 dyslexic
|
||||
e-pub and then another separate part of script push all the files to my server but I realized
|
||||
I've got a different skill set than most people I've done sure it's meant to be interactive or
|
||||
I mean by your active you can put videos and audio and pictures and of course text and I think
|
||||
I believe it's meant to save in an e-book format or the various e-book formats so I better
|
||||
would do e-pub it would probably generate an e-pub file though an e-pub can be read on lots of
|
||||
stuff I tried doing a music history book with it the challenge with it was cross black porn
|
||||
use for students but I mean it's the time I was doing it and what is it going on now
|
||||
so I gave a project also the size of the file was absolutely huge
|
||||
file size can be a problem I mean that by finished this book I've got the real books right here
|
||||
by the way these two right here this one I think is 56 mags and this one is about 28 mags
|
||||
in its e-book format and to me that's reasonable yeah okay
|
||||
because I personally I really I appreciate your care for the students and not spending too much
|
||||
money and all that but don't ask that advocate part is are you training them to expect to get
|
||||
the efforts of your labor of my labor yes it's possibly I mean I could I could probably sell it
|
||||
I I come from an open source background and so I believe very firmly in open learning materials
|
||||
I realize I'm weird that way and look I think they appreciate it but I'm just
|
||||
like the whole issue of copyright and you know as music worth paying for sure it is
|
||||
if somebody wants to pay me as a consultant to help them do that I'm more than willing to charge
|
||||
them but I I mean for my own students for for this project I want to release it in a free
|
||||
license I mean I I don't want to me to me re-releasing it with some kind of copy right would defeat
|
||||
the whole purpose of my project because I want it to be free yeah Chuck you could do that if you
|
||||
wanted to it's up to you but just realize that people could still come to my website and get it
|
||||
for free no no I mean it's a public domain book and the source code from all my lily pond files I
|
||||
made gplv3 which is an open source license that just means that if you make any modifications to
|
||||
that code you have to share it that's a big there isn't a agreement I'm thinking one of the library
|
||||
database is that a university is using you know they've hired somebody to do it it was you know
|
||||
the open source but now they can't go back and get to it because the company that did the
|
||||
location for the suppose land or open source yeah the the open source licensing is it's kind of a
|
||||
it's it's a thorny issue if you don't license it just right you could run into the problem you're
|
||||
talking about right there the gplv3 is one word that requires you to share it like you can't
|
||||
just close it up after you've done that anything else we are am I the little red light here at the
|
||||
end of this thing thanks
|
||||
thank you
|
||||
you've been listening to hecka public radio at hecka public radio dot org we are a community podcast
|
||||
network that releases shows every weekday Monday through Friday today's show like all our shows
|
||||
was contributed by an hbr listener like yourself if you ever thought of recording a podcast
|
||||
then click on our contributing to find out how easy it really is hecka public radio was found
|
||||
by the digital dog pound and the infonomican computer club and it's part of the binary revolution
|
||||
at binrev.com if you have comments on today's show please email the host directly leave a comment
|
||||
on the website or record a follow-up episode yourself unless otherwise stated today's show is
|
||||
released under creative comments attribution share a light 3.0 license
|
||||
Reference in New Issue
Block a user