Post #2107: Vienna Town Council FY 26 Budget Work Sessions 3/15 & 3/17

Posted on March 20, 2025

 

In this post, I use two different off-the-shelf AI products to transcribe, then summarize, about ten hours of budget discussions by the Vienna Town Council.

If that sounds like your idea of a good time, then read on.

Source for image above:  From reporting by Angela Woolsey at Fairfax Now.


The problem in a nutshell

By Claude Monet – https://www.artic.edu/artworks/64818, Public Domain, https://commons.wikimedia.org/w/index.php?curid=80548066

I’m trying to find a needle in a haystack.  The needle is the word “aquatic” or “pool”.  The haystack is the roughly 10 hours of audio recording, for the marathon Town Council work sessions on the FY ’26 (year-starting-July-’25) budget.

For reasons that hardly matter here, I want to know what Town Council said, in their Town budget work sessions,  regarding funding a proposed municipal pool.  That, because a friend brought that Fairfax Now headline, above, to my attention.  Whereas last I heard, anything having to do with that pool decision was postponed until August.

The problem is, Town Council’s entire discussion of this issue might be just a few seconds, if they said anything at all.

And that’s out of about 10 hours of recorded discussion for those two work sessions.

How can I efficiently search that much audio, for what may (or may not) be a tiny snippet of discussion?

Surely, searching (and summarizing) a nice, structured discussion like this is a task made for AI.


If one AI is good, two must be …

… necessary, sometimes.

In this case, I used Google’s NotebookLM as my AI research assistant, to sift through the information and answer my questions.

But first I needed to call in a specialist — TurboScribe — to do the heavy lifting of converting the 10 hours of audio recording of the Town Council work sessions into a written transcript of what was said.

In any case, NotebookLM (the AI research assistant) choked on those big audio files.  It’s not clear why.  I was forced to back up a step, and use an AI specializing in transcriptions, and get the audio transcribed to text.  Then I fed those (relatively tiny) meeting transcriptions to NotebookLM, along with the proposed budget itself (from the Town’s website), and a handful of short .pdfs that the Town had posted on Granicus, for these budget work sessions.

(Meeting transcripts are probably worth doing in their own right, given how little it costs.  From my standpoint, $20 a month (or $10, if you’ll pay for a year in advance) buys me almost unlimited audio-to-text transcriptions.)

I note that all of this — the transcription of the audio, and the production of the summary of the content — was via simple drag-and-drop interface, along with some cut-and-paste.  Plus asking a question or two.

Once I figured out what to do, it really didn’t take much skill to execute it.


Step 1:  TurboScribe conversion of audio to text.

I broke the day-and-a-half of audio discussion into three files.  TurboScribe then produced the following three transcripts:

Loading...
Loading...
Loading...

A link for the full .pdf documents on Google Drive is in the final section below.

I didn’t check the quality of the transcripts beyond noting that the Mayor’s opening statement (above) reads pretty much as it should, and about as I recall it, from the Town’s video of the meeting.

The language may look awful as-written, but that’s normal.  I can recall being horrified the first time I ever read one of my presentations transcribed.  The broken sentences and such above, that’s all perfectly normal, and (see for yourself on the Town’s video of the meeting) the Mayor’s opening speech was completely coherent as spoken word.  This is just a weird-but-true way about how English works.  The informally-phrased spoken word can be perfect understandable, and yet break every rule of written grammar.

Step 2:  Using Google’s NotebookLM to summarize the information.

I fed the three transcripts (plus the proposed budget itself, and a few sparse supporting documents posted with the work session) to Google’s NotebookLM.

At this point, things get a little tricky.  The sticking point is that if I include the actual written budget document as a source, NotebookLM tends to crib its answers from that.  And so, what you get in many cases is simply a summary of the Town’s party line.

So, if I ask for a FAQ about the budget discussions, I can get this:

Loading...

But if I exclude that big, written budget document, I get a much vaguer and more free-form summary:

Loading...

Finally, when I asked NotebookLM a pointed question about funding for an aquatic center or pool, the results suggest there was no useful discussion of the topic.

Loading...

Finally, I can answer this “pool” question more directly simply by searching the transcripts for “pool”.  There was only one brief discussion, in the 3/17/2025 session, and it seemed to confound the possible municipal pool with some aspect of replacing Patrick Henry library.

Conclusion

Bottom line, near as I can tell, there was no substantive discussion of the budgeted operating reserves for the pool.

Page A-9 of the budget lists the $200K operating reserve for the pool.  But this item appears to have drawn zero discussion over this day-and-a-half of Town Council work sessions.

More generally, even though this was a rough cut, I think I can see the value in using AI this way.  Practically speaking, I’m not going to listen to 10 hours of audio.  Practically speaking, having an AI listen to that, and then asking the AI questions, is a lot more efficient.

The .pdfs with the transcripts and the Google NotebookLM output can be accessed on Google Docs, at this link:

https://drive.google.com/drive/folders/1hnYVVRLNuS83IScEZunlgsxzs0sAEy-b?usp=sharing

Addendum:  A note on outputting documents from NotebookLM.

One of the obnoxious features of NotebookLM is that, as far as I can tell, it has no export functions.

It will produce nicely-formatted documents, but only within NotebookLM itself.  My sole option was good old copy-and-paste, and everything I pasted those copied documents into (e.g., Word, WordPress) simply dropped all the formatting.  Which made those essentially un-readable.

I read a lot of advice on how to get around this, all of which either was nonsense, or simply did not work for me.

Turns out, the trick is to cut and copy the NotebookLM documents, and paste them into a Google Documents document.   Apparently, whatever NotebookLM writes in, it’s the native formatting for Google Docs.  And when you do that — if you keep it all in the Google family — then the formatting is largely preserved.

And then, Google docs will allow you to export the document in more-or-less any format you wish.  Which is how I produced the summary .pdfs in the folder above.

Addendum:  I’ve seen this “analysis-tool-as-data-roach-motel” gambit before.  That is, products where, once your data checks in, it never checks out again.

So, intentional or not, the lack of an export tool that I can use directly, from  NotebookLM (a paid version of it, no less) — that has the same feel to it.  It doesn’t want to let go of (what I consider to be) its end product.

At some level, I’m satisfied that I have stumbled through a way to get some useful, blog-able product, from it.  And I am unsurprised that this involved using yet more Google products (Google Docs, in this case). 

It’s the way the world works.  Deal with it.