709-218-7927

The Landfall Garden House

60 Canon Bayley Road

Bonavista, Newfoundland

CANADA A0C 1B0

CPRGreaves@gmail.com

Home

Christopher Greaves

A Variety of Tools I Have Created or Used in LibriVox Projects

Downloads

A small collection of audacity macros can be downloaded from http://www.chrisgreaves.com/Downloads/20221028_0940.zip

Note that these are my set of functioning macros within Audacity 3,1,1 ONLY. Any other sort of "macro" capability you will have to write yourself.

Why are automated tools (macros, batch files, scripts and so on) important to LibriVox members?

Most people react to “macros” as being unworthy of use in terms of time-savings.

(1) “Editing is a huge part of the process, and I personally don't see how such macros would help”

Editing is indeed a huge part of the project in terms of human time spent. On anything but the most elementary poems for children, we spend from two to eight hours for each hour of audio published. To see how this might be exceeded in some projects check out this book and this book .

Now the delivered product is the hour of audio which the listener wants to hear, but the production cost is at least the hour to record the track and then perhaps eight hours of editing, not to mention proof-listening (at least another hour there).

The editing cost can be estimated at eighty-percent of the overall cost.

How can we reduce this percentage? How can we reduce the time it takes us to edit a recorded track?

An obvious way is by reducing errors, and where we do make errors, detecting errors, and once we have isolated those errors, correcting the errors.

Macros can help by detecting and correcting errors.

That seems like a good reason for using macros.

Worth looking at, at any rate.

Dismissing macros out of hand without trying at least one is the attitude of “I don’t want to know”.

We just can’t help those people. They will go on spending eighty percent of their life performing needless tasks.

(2) “I would not want to use a macro because I judge every gap between words in relation to the text”.

The prejudice here is due to ignorance of what a macro can do. There is not “a macro”, there are lots of macros. You can have as many different macros as you choose to use.

You could, for example, have macros to make gaps of half a second, one second, two seconds, and so on.

Once you have judged that you want a one-second gap, you use the one-second macro. If you want a gap just a little bit bigger than one second, you select a little less than the existing gap, so leaving a “bit of a second”, and then run your one-second macro.

Thinking that there can be only one “gap” macro is again the sign of ignorance. And not trying (or even asking) is a sure sign of someone who does not want to shed their ignorance.

(3) “If you need to depend on all these things why bother reading at all”

This argument is dismissed as we did for the first argument. “reading” is LibriVox’s term for the process of reading the text aloud and using a computing device to store the recorded audio. If I read aloud for an hour, I will produce an hour of recorded audio.

But no-one can record an audio track without some fault. If you don’t hiccough or burp, your neighbour will start chopping wood, or set their car engine running to heat up the car.

And the time savings are in the editing process, anyway, not in the reading process.

(4) “Checker may well be a macro - I don't know, I didn't write it and I'm not really interested in finding out. But it is an "Advisory" macro, it does not change the file at all”

Two points here, and you don’t need to know what “Checker” is:-

(a) I don’t want to know; of anything that might be beneficial to my work.

(b) I have already assumed that there are no such things as “advisory” macros that might help me detect problems automatically.

Can you spot which of these statements hints at a problem?

(5) “But we don't assemble all chapters of a book into one MP3”

This is a lie, because some of us DO assemble portions (chapters, sections, parts etc) of a work into a single file, and not just an MP3 file, but a FLAC file or a WAV file, and the process can be automated regardless of how many small files are to be assembled into a single file.

It’s all there! You just have to make use of it.

If you have never found the need to record audio parts in separate files and then assemble them, that just means that you still have to meet a chapter that is estimated at over 150 minutes of audio.

Are you really going to sit down and record 150 minutes of audio in one non-stop session at your computer?

Inspect “ Chapter VI On The Composition Of Causes ” (about 25,000 words)

(6) “There may be some who benefit from such a macro. Personally, I don't record in chunks”

Right! because you have not yet seen the way in which macros can save you time, there is no need for you to consider them at all. That sounds like a good reason to dismiss the concept in a selfish and insular manner.

(7) “But it isn't necessary to make it so complicated.”.

Exactly the opposite.

Here is one way to obtain puff-pastry for a pie:

“Weigh the flour accurately. In a stand mixer fitted with the paddle attachment, beat the butter until smooth. Add 1/2 cup flour. Mix until smooth. Scrape this dough into a flat square about 1 inch thick. The square should measure about 5 inches by 5 inches. Wrap well in plastic, and chill for at least 30 minutes. In a large bowl, combine remaining flour with the salt. Gradually add the cream and mix until a rough dough is formed; it should not be sticky. Do not over mix. Roll the dough into a rectangle, about 12 inches by 7 inches, wrap in plastic, and chill, at least 30 minutes. Remove the flour dough from the refrigerator and place on a lightly floured work surface. Place the butter square at the bottom edge of the rectangle, and fold the flour dough over to completely encase the butter, sealing the edges by pinching them together and forming tight hospital corners at the edges. Wrap well in plastic and chill for at least 30 minutes. Remove the dough from the refrigerator. On a lightly floured board, gently pound the dough all over in regular intervals with a rolling pin. Working in only one direction (lengthwise), gently roll the dough into a 20-by-9-inch rectangle, squaring corners with a bench scraper and your hands as you go. Using a dry pastry brush, sweep off excess flour. With a short side facing you, fold the rectangle in thirds like a business letter, aligning the edges carefully and keeping each edge square. Turn the dough a quarter-turn clockwise, so the flap opening faces right, like a book. This completes the first turn. Pound across the dough, again in regular intervals, and roll out again to a 20-by-9-inch rectangle, rolling in the same lengthwise direction. Fold dough again into thirds. This completes the second turn. Wrap dough in plastic and refrigerate until well chilled, about 1 hour. Repeat the rolling, turning, and chilling process for a total of six turns; always start each turn with the opening of the dough to the right, and always make your tri-fold in the same manner, that is, by starting from either the top of the dough or the bottom each time. By the sixth and final turn, the dough should be very smooth, with no lumps of butter visible. Use as little flour as possible for the rolling, and brush off any excess before folding the dough. If the dough becomes too elastic or too warm to work with, return it to the refrigerator until firm. Wrap the finished dough in plastic and refrigerate ...”

Here’s another way:

“Use a one-pound packet of puff-pastry.”

Guess which cook will be the first to eat an apple pie?

Macros take a complicated and boring and repetitive series of steps or actions, and bundle them into a single command.

Macros take a complicated process, and reduce it to a simple one-command process.

How can so many people believe that their thoughts represent truth, when they represent the opposite of truth?

(8) “In what way is this a time saver? It takes approximately one second for me to just say the words "End of chapter 13" before I stop recording. Seems to me like you're adding work, not taking it away, by recording this separately and then tacking it on afterwards.”

Saving time is more than the time it takes to utter the phrase "End of chapter 13".

Consider the LibriVox process:-

(a) I record an audio track then I upload it for Proof-Listening.

(b) The Proof-Listener comes along, downloads the track and listens to it, making notes about faults, errors, and problems. The Proof-Listener posts a message with the list of corrections to be made.

(c) I come back, read the notes, open the audio file, make corrections, then upload a new version.

(d) The Proof-Listener comes along, downloads the track and spot-checks it to confirm that all the problems have been corrected.

(e) Now, if I have misinterpreted a reported fault, the Proof-Listener posts a message with the specific correction to be made.

(f) I come back, read the notes, open the audio file, make the correction, then upload a new version.

Suppose that I, or the Proof-Listener, can “come in” only once a week, how long has this process taken?

Now suppose that after recording the track, and before I uploaded the track, I had used a macro that can detect many problems automatically, so that only two or three problems needed fixing. How many weeks would that process take?

The cost of a project is not in the “actual doing” time; the cost lies in the elapsed time, as some of us know.

By automating editing tasks, we eliminate many of the human errors that creep in and cost us time that is measured in weeks, not in seconds.

Shortcut Keys

Keystroke

Audacity 3.1.3 Macro

Partition a Book Into Recording Segments

Faced with “75 sections. “370 pages, 415,784 words, 75 "sections", so about 5,500 words per section. At 60wpm about 115 hours” for John Stuart Mills, how to write a reasonable daily schedule? Using word-counts and an end date OR a daily rate, partition the text into equal length segments by recording hours. For example, maybe I can record 3,000 words per day (ready for upload). In this you already possess the best tool of all - your brain!

Perhaps you already know what is a manageable chunk of daily recording for you, in terms of words per day. If you do not yet have this figure, determine an approximation by diving into the middle of the text, and just start recording. For a 500-page book start recording at page 250. The middle of the book gives a representative nature of the text that the start or end of the book does not. You are more likely to find foreign (to you) text, diagrams, tables and the like within the text than at the borders. Start at the top of a page, note your start time, and then just tap the Record button and start reading text aloud.

Long sentences might crop up “The mode of investigation which, from the proved inapplicability of direct methods of observation and experiment, remains to us as the main source of the knowledge we possess or can acquire respecting the conditions and laws of recurrence, of the more complex phenomena, is called, in its most general expression, the Deductive Method; and consists of three operations: the first, one of direct induction; the second, of ratiocination; the third, of verification” alerting you to breathing problems.

You aim is not perfection in this recording, only to obtain some measure of the pace at which you can record pages, and “pages” is important: the pages of your text ought to contain footnotes and similar material. If each page of the book refers to footnotes or endnotes that appear off-page, and those notes have to be read, you will end up adding a size factor to compensate for the off-page text, and every compensation introduces error.

Too, do not worry about slurred words, the need to sneeze or clear the throat, and other natural problems. There is a simple method of compensating for these as shown below.

I recorded 1,381 words in 14 minutes; I shall say that in this work I can record 100 words per minute, although we know that is not true for our “word-perfect reading".

The book itself contains 411,819 words spread over 510 pages.

Simple arithmetic tells us that a reasonable proposed end date for the project is the 9th of May.

Data

411,819

words in book

510

pages in book

807

words per page

Data

100

words per minute

4,118

Minutes for the book

69

hours for the book

Process

2

hour per day

34

days to record

2

Realistic multiplier

69

Realistic days to record

80

spare-day each week

Calendar

510

pages in book

7

pages per day

Information

18-Feb

date tomorrow

09-May

end date

The first block of Data is obtained from a word-processor or, at worst, by eye-balling the document. One way or another you arrive at a reasoned value for the number of words on a page.

The second block of data was obtained from our trial reading of a few minutes ago. (Monday, May 02, 2022: The audio length of this book came to 51.5 hours, the elapsed time to read an edit, to date, is around 250 hours, as proof-listening continues)

The third block of data describes the process we use to calculate our daily rate:-

(a) If you can afford only one hour per day, replace my two with your one. This period is the time that you can afford to sit at the microphone and start Recording, including the time to perform raw edits (“punch and run”). If you have only three days a week in which to record for one hour a day, then your daily allocation will not be two, but will be 3/7 of an hour

(b) We divide our daily hours into our total hours. In my case 2 into 68 goes 34 times, so 34 days.

(c) Now we Get Real. From past experience across a variety of projects I have learned to halve my estimated rate. This caters for emergencies - days when I can’t work, unanticipated visitors, technology failing (cables do weaken!) and the like. For this reason I double my estimate to arrive (back!) at 68 days.

(d) I live alone, am retired, and have no responsibilities, so nothing prevents me from recording seven days a week. But I reckon my “recording week” as six days, leaving me a spare day each week to catch up on essential tasks. Perhaps I have to work on a macro, or reinstall software, or just re-record a previous recording which turned out to be disastrous. So I multiply by 7 days a week divided by 6 days a week, which boosts my figure to 80 elapsed days.

(e) The fourth block (calendar) takes our daily rate of recording that says we will need to assign 69 realistic days to the process, and that there are 510 pages in the book. From this we see that we will try to record at a rate of seven pages per day.

(f) The fifth block delivers the information we seek If I start recording tomorrow, the seventeenth of February, a fair estimate is that I will finish recording on the 9th of May. In my calendar I can now place entries which tell me that on successive days I should record pages 1-7, 8-14, 15-21 and so on.

You may come across other factors to include for your particular case. If there is a wedding planned within this period, you might take a two-week gap to argue with the caterers or the dress-maker. Then you would add a 14 days to your processing.

Your figure of May 9th is just a figure. With LibriVox it is neither a contract, nor a promise. It is a message to the MC of the rate at which you plan to proceed. Likewise it serves to warn potential PLs that this project will proceed at a blistering pace; this will NOT be good for someone who can Proof-Listen for about 400 words per week.

You will have noticed that we arrived at the estimated completion date without mentioning Chapters, Sections, sub-Books, or any of the artificial partitions placed by the author. LibriVox projects are divided into Sections, each section represented by a recorded track uploaded in the form of an mp3 file. We recorders are in the business of delivering a product, to wit: an mp3 file whose name is in lower-case characters.

How we produce that deliverable is up to us. I choose to assign 2 hours per day towards production of an mp3 file. That means that I assign 2 hours each day to production of a FLAC file (but LibriVox need not know that I record to FLAC format). With a complex text such as J.S.Bach I prefer to read a page at a time, each page being recorded in quick succession, and then the individual FLAC files are glued together to call what the BC describes as a section “Page 311-328. Words 5141”. For J.S.Mills the text is easier and I am BC. I might choose to record four pages at a time, or, when a chapter is short “Book III Chapter I Preliminary Observations On Induction In General”, record that chapter as a single FLAC file.

Christopher Greaves LibriVox_029.png

My calendar is marked out with MY segment numbers, which should now be augmented by the page ranges 1-7, 8-14, 15-21 and so on.

Recording

Each member of LibriVox records different types of materials in different types of ways. I record in FLAC files, in segments, which segments I choose to accumulate automatically. I record using hand-claps to signal errors, sometimes punch-and-run, but often enough go back an listen to the track adjusting gaps, and so on.

“Raw editing” is the name I give to my own editing process before the track is turned over to the Proof-Listener. The Proof-Listener provides explicit editing, telling me to fix things at the mm:ss mark.

Raw editing is of two types: Deletions and Changes.

Deletions have no effect on a track excepting to reduce its length. I can delete badly-recorded material, clicks, chair creaks and the like. I make use of a two-line macro

Comment:_="DeleteCurrentSelection"

Delete:

Play:

This macro I assign to Ctrl+Alt+D; as I listen to the track, I spot a burp of a creak. I select that small aberration, and with Ctrl+Alt+D delete the aberration and continue playing. Where several small deletions are required, I select-and-delete all but the last, and that last gets the delete-and-play treatment.

Deletions are, by definition, explicitly and always an improvement to the track, and the track can be saved over the original track; no clutter of duplicate file names in the folder. The completed track can be saved with a genuine name “logicjohnstuartmill_01_mill_128kb.flac”, and it is to this track that we will return to edit.

Zipping

Christopher Greaves LibriVox_030.png

Today I recorded three sections of a book, each section stored as a FLAC file. After the initial recording I zipped the FLAC files. Next I performed some raw editing (deleting long gaps, burps and the like) and fixing a couple of badly-read words, in preparation for saving the three FLAC files in MP3 format.

Immediately after the recording, and again immediately after the raw edits, I ran my ZipFLAC batch file.

REM ZipFLAC - cloned from ZipArch Christopher Greaves 2:03 PM 02/10/2022

:: Change history

::

set pause=

set extent=FLAC

:: Build a ZIP file with the FLAC files of the current folder,

if "%debug%"=="" set debug=off

@echo %debug%

::

:: Check the parameters

::

if not "%1"=="" GoTo TooManyParameter

::

:: Check and implement the zip file name parameter

call T:\batlap\setdate.bat

call T:\batlap\settime.bat

:: http://www.dostips.com/DtTipsStringManipulation.php

set ZipArchive=%YR%%MT%%DY%_%HR%%mn%

::

:: Collect the folder contents

T:\Util\pkzip25 -add %extent%_%ZipArchive% *.%extent%

%pause%

:: Log the results

GoTo 99Exit

::

:TooManyParameter

@echo %0 You supplied me with too many parameters - %3 %4 %5 %6 %7 %8 %9

%pause&

:Help

@echo The batch file builds a time-stamped ZIP file containing FLAC files.

%pause&

GoTo 99Exit

::

:99Exit

DIR %extent%_%ZipArchive%.zip

::

REM End of ZipArch

The batch file creates a PKZip file with a collection of the FLAC files in a folder. The zip file is created with “FLAC” in the filename, and with a date/timestamp. No great saving in space is achieved by zipping FLAC files, but the zip file is a plain-brown-wrapper bundle of my work in progress at that time.

If over the next few days I horribly mess up edits to the current version of a FLAC file, I can extract a secure copy from “FLAC_20220217_1637.zip”.

Note that this zipping is NOT a substitute for nightly backups; the two zip files created today, and the security of this LibriVox project, will be copied to a backup drive and next Sunday night, that drive will be grandfathered to a second backup drive.

I have a similar batch file for MP3 tracks, of course.

Speedup

Is this you? You are Dedicated Proof Listener for a SOLO project which is diction-perfect, every track meticulously laid out, so much so that only a nit-picker would consider thinking about the possibility that there might be an error. Proof-Listener level is standard, so we are not talking word-perfect here, just listening for clicks, long gaps, repeated phrases; anything that makes your brain say “Hang about? What was that?”.

You can only do this with slow-diction readers; you can’t do it to any of my rapid-diction tracks.

Speedup can reduce a 68-minute proof-listening session down to 42 minutes. That’s enough savings in time to allow you to Pause, and put two small pork chops under the grill for supper.

Comment:_="SpeedUp"

SelectAll:

Macro_SpeedUp17Percent:

Macro_PitchDown17Percent:

Comment:_="END"

Comment:_="SpeedUp17Percent"

Comment:_="This cover function speeds up the track at 1.174"

Comment:_="The track will then play back in only 85% of the time"

Comment:_="A track whose end-point was 17m16s will now have an end-point of 14m42s"

Comment:_="You might find this or a similar macro useful for proof-listening purposes"

Comment:_="Successive applications of this macro effect an 85% reduction at each stage"

ChangeSpeed:Percentage="17"

Comment:_="END"

Comment:_="PitchDown17Percent"

ChangePitch:Percentage="-15" SBSMS="0"

Comment:_="END"

To the argument “But speeding up causes you to lose clarity, how can you claim this to be a valid Proof-Listener” I answer “By listening to the recording at a slightly higher speed, anything slightly incoherent at normal speed becomes absolutely incoherent at higher speed and is more likely to be noticed; likewise a long gap at normal speed will still be a long gap at a slightly higher speed.” Most of us will have been frustrated at a high-speed speaking clerk reading from a script over the telephone. Keep that as your model of high-speed.

Section Headings

Some prescribed texts arrive in, well, text format. (or HTML format) which can be laid out in a word-processing document.

The LibriVox Section headings are set in “Heading 1” style, so I can insert the introductory and exit remarks inline with the text, and can then read from the page, without flipping back and forth. The little suite below reduces the time it take me to read by avoiding errors in rendering section numbers and titles.

Sub IntroExtro()

' Place Intro and Extro text around each "Heading 1" style paragraph.

Dim lngHeading As Long

Selection.HomeKey Unit:=wdStory

Selection.Find.ClearFormatting

Selection.Find.Style = ActiveDocument.Styles("Heading 1")

With Selection.Find

.Text = "^?"

.Replacement.Text = ""

.Forward = True

.Wrap = wdFindContinue

.Format = True

.MatchCase = False

.MatchWholeWord = False

.MatchWildcards = False

.MatchSoundsLike = False

.MatchAllWordForms = False

Selection.Find.Execute

End With

Do

Dim strSectionTitle As String

strSectionTitle = Selection.Paragraphs(1).Range.Text

strSectionTitle = Left(strSectionTitle, Len(strSectionTitle) - 1)

Selection.MoveLeft Unit:=wdCharacter, Count:=2

Selection.TypeParagraph

Call TypeExtro(lngHeading)

lngHeading = lngHeading + 1

Selection.MoveDown Unit:=wdParagraph, Count:=2

Call TypeIntro(lngHeading, strSectionTitle)

Loop While Selection.Find.Execute

End Sub

Function TypeExtro(lngHeading As Long)

Selection.Paragraphs(1).Style = "Body Text 2"

Selection.TypeText ("End of section" & Format(lngHeading, " 000"))

End Function

Function TypeIntro(lngHeading As Long, strSectionTitle)

Selection.TypeParagraph

Selection.MoveUp Unit:=wdParagraph, Count:=1

Selection.Paragraphs(1).Style = "Body Text 2"

Selection.TypeText ("Section" & Format(lngHeading, " 000 ") & "of A System of Logic, by John Stuart Mill" & vbCrLf)

Selection.TypeText ("This LibriVox recording is in the public domain" & vbCrLf)

Selection.TypeText (strSectionTitle & vbCrLf)

End Function

Gaps

These are not silences (strictly speaking the complete absence of any wave form) but intervals in which the human voice (for LibriVox members) is not detectable. Gaps therefore include:-

(a) Intervals between discretely spoken words

(b) Times when we sit as still as we can and hold our breath

(c) Intervals between paragraphs

(d) Leading and trailing portions of a recorded track

I am reading “ A System of Logic, by John Stuart Mill ”, which in LibriVox terms has been divided into seventy LibriVox Sections; I am to deliver seventy MP3 files. The first three sections are titled “Preface”, “Preface” and “Introduction”. The remaining sections are titled “Chapter nn”. For my purposes I shall say that “the book has seventy chapters”, although there are but sixty-seven Headings that contain the word “Chapter”.

RVPMatt123 delivered When We Were Very Young in just four MP3 tracks. The source text has a Preface and about three dozen short poems. Although the book was recorded in just four parts, RVPMatt123 could have chosen to treat each poem as a Chapter.

In JSMill, many Chapters are subdivided by the silcrow symbol (§) and a section number. Chapters (and hence silcrow sections within a chapter) contain paragraphs which as we know contain words.

I would like to standardize the gaps in my recorded text, not to make them equal in length to the millisecond, but to use the length of a gap to offer the listener a clue as to the significance (like the Heading-level in a document) of the next piece of text.

Start of track

1

Before a chapter

3

Before a silcrow section

2

Before a paragraph

2

Before a sentence

1

End of track

5

This table holds suggested numeric values for different gaps. The gap lengths are for discussion and demonstration purposes. For any particular Dedicated Proof Listener who contemplates the nature of a specific book, a specific set of gap lengths will arrive. JSMill, with its abstruse nature, might demand longer gaps than the breathless “hippity--hippity-hop” of Christopher Robin in AA Milne.

LibriVox requires that the delivered MP3 track have a 1-second gap at the start, and a 5-second gap at the end of the track. Elsewhere I shall need 2-second and 3-second gaps.

Since the JSMill holds a Chapter in a Track, in these notes I shall ignore start-of-track, start-of-chapter and end-of track gaps and focus only on Silcrow sections, paragraphs, and sentence gaps. Further we have declared that a silcrow section should have a gap identical to a paragraph. So in these notes we will look at two macros “GapParagraph” and “GapSection”, we shall also look at a related macro “DeleteCurrentSelection”

In all situations, I would like to establish the audio cursor, either as a point or as a selection, and have the macro delete the selection reducing the selection to a point, and than insert the appropriate length of silence.

Here are the three macros; you can augment this list as you see fit, and of course change the gap-length parameters to suit the Dedicated Proof Listener of your project.

DeleteCurrentSelection

Christopher Greaves LibriVox_036.png

You are doing a Raw Edit of your track before sending it off to be PLd. Raw Editing includes the process of removing that ten seconds where you body decided that it was time to cough up that dollop of phlegm. There was no need to clap your hands three times - the peak waves show up quite clearly in the Audacity 3.1.3 window.

Either that or you have recorded a lip-smack as you opened your mouth to speak.

(a) Select that portion of track that you want to delete. For lip-smacks I use the Shift+LeftArrow key or the Shift+RightArrow key for precise selection of a small fraction of a second. For the phlegm I use the mouse.

(b) Choose Tools, Apply macro, and then choose the DeleteCurrentSelection macro. I have assigned Ctrl+Alt+D to the macro, “D”elete.

(c) The macro deletes your selection, backs up three seconds to the left, and goes on playing the track. You get to hear the most recent seconds and the player runs on to the remainder of the text. The lip-smack or phlegm is gone, and the transition sounds good. Sip of tea, piece of cake ...

You might think that saving three seconds in not having to tap the bar to recommence playing is carrying things a bit too far, but then, you probably don’t have as many extraneous noises as do I, and it all adds up. I recorded over seven hours of audio in the past week, and even at a rate of one noise every five minutes, that represents 252 seconds of my life saved. What if everyone did that?

GapParagraph

Christopher Greaves LibriVox_037.png

This is the DeleteCurrentSelection macro with bells and whistles. The purpose is much the same. The Book Coordinator and Dedicated Proof Listener both insist on no gaps greater than two seconds (see “Gap Monitoring” below), and I am a poor judge of length while I am recording a book with an abstruse vocabulary written by someone who knew and used Greek and Latin. As well my eyes are scanning ahead for the next difficult word. So it is that I tend to leave something more like four or five seconds, and in my Raw Edit phase, I need to reduce these long gaps to close to but less than two seconds.

You will see that this is the same as deleting my large gap and replacing it with two seconds.

That is why the first executable command is “Delete”, and with that my over-cautious gap is gone.

The next six commands insert a gap of 1.7 seconds. Why not two seconds? Because I tend to select not the entire boundaries of a gap (that is in the pipeline by the way), and so there is a fringe of silence around my selection. I tried 1.8 seconds but still ended up with gaps of just over two seconds (see “Gap Monitoring” below). Reducing the gap to 1.7 seconds works for me.

The last three lines,, the old gap being deleted and the 1.7 second gap inserted, back up four seconds and then start playing again. You recognize this behaviour from the DeleteCurrentSelection macro, but we back up four seconds to skip to a point two seconds before the two second gap.

GapSentence

Christopher Greaves LibriVox_038.png

This is a clone of the GapParagraph macro.

The gap is reduced from 1.7 seconds to 0.7 seconds, and the skip-back from 4 to 3 seconds. And yes, I forgot o update the Comments command.

You might think that saving a few seconds in making gaps that are DPL-tolerant is carrying things a bit too far, but consider the impact of that second person in this process. Suppose your Dedicated Proof Listener can only “come in” one day each week. If your tracks are word-perfect and the problem is your gaps, you might wait a week for the Dedicated Proof Listener, fix your tracks in an hour or so, then wait another week for the Spot-Proof-Listener check, That means that your project has been delayed two weeks.

That two-second gap has now cost you 1,209,600 seconds. Was it worth it?

Gap Monitoring

I do not want a two-second gap to explode into a 2,419,200 second delay, which will happen if, after PL, I don’t catch all the gaps. So I use a little macro to examine the track and identify gaps of more than two seconds.

GapsGT2

(Looking for GAPS Greater Than 2 seconds)

Christopher Greaves LibriVox_031.png

Here I am looking for “gaps” using -40.0dB as a threshold (I am still not sure what that REALLY means, but -50 was too much and -30 was too little; -40 seems to work.)

I am looking for gaps of 2 seconds or more ( a minimum silence of 2 seconds)

Christopher Greaves LibriVox_032.png

I apply this to “logicjohnstuartmill_03_mill_128kb.flac” of Friday, February 18, 2022 at 14:36 my time (76,741 KB) and locate many gaps:, 03:15s, 06:20s, 10:47s, 16:26s, 26:25s, 28:36s, 34:10s, 36:16s, 36:20s

Christopher Greaves LibriVox_033.png

There is what I would call a “gap” at the 00:01:00 mark. This is not generated silence, just a pause where I held my breath while recording spoken text.

The image above includes three label tracks; I have run Analyze, Label sounds three times:-

Christopher Greaves LibriVox_034.png

Each of the three runs was with the same numeric parameters, one was Peak, one Average, and one RMS. That makes little difference because, I suspect, those settings apply to “sound” whereas I am looking for “silence”.

Audacity Help Manual says “Label type: ... Region between sounds This option places a region label between each detected sound or group of sounds. In effect this labels silent regions.”

Christopher Greaves LibriVox_035.png

In the JSMill project we established the constraints “Gaps: Before a silcrow-section: 2 seconds; Before a paragraph: 2 seconds”. There is to be a gap of five seconds at the end of a Section’s track.

I apply this macro to logicjohnstuartmill_04_mill_128kb.flac and Audacity 3.1.3 tells me that there is but one sound. That means that the track consists of a Section (perhaps of many parts).

That is my desired result, i.e. “one sound with no gaps of two seconds or more).

I just saved myself another two weeks!

On-the-Fly MSWord Macros

From time to time you find yourself doing a boring and repetitive task. Take a look at https://www.gutenberg.org/files/27942/27942-h/27942-h.htm and note how many headings are split onto two lines, thus:

Priming Folders

Christopher Greaves LibriVox_039.png

Faced with 94 sections to be recorded from scratch, I set up 94 folders (01, 02, 03 ...) within L:\MILL\

I want each folder to hold a file of the form “logicjohnstuartmill_??_mill_128kb.flac” where the two question marks range from 01 through to 94.

The DOS command shown above does the trick. I have run it eight times, doing ten folders at a time, except for the last call which needs prime only five folders 90 through 94.

I use the dos echo command to make the file because I am not interested in the contents, only that a correct name will be found when I save an Audacity track in the folder.

This reduces user errors; nothing worse than dropping a newly-recorded tracks over a previous track in the wrong folder, eh? That costs a lot of time, even if the file was backed up. (Was it?).

As an example, I use Audacity for editing music tracks, which I save as MP3 files. When then I start to record a LibriVox track I go to do my first save (as a FLAC file) for Section 79, I will not see the 1KB file “logicjohnstuartmill_79_mill_128kb.flac” waiting to be overwritten. That reminds me to save as a FLAC rather than an MP3. Everything that I can automate that reduces my chance of an error will pay off in significant time savings in correcting errors.

709-218-7927 CPRGreaves@gmail.com

Bonavista, Friday, October 28, 2022 10:35 AM

Copyright © 1990-2022 Chris Greaves. All Rights Reserved.