Package: beep
Version: 1.4.9-1.1
Severity: normal
Tags: patch

Dear Maintainer,

here are some notes and editorial fixes for the manual.

The patch is in the attachment.

-.-

The difference between the formatted outputs can be seen with:

  nroff -man <file1> > <out1>
  nroff -man <file2> > <out2>
  diff -u <out1> <out2>

and for groff, using

"printf '%s\n%s\n' '.kern 0' '.ss 12 0' | groff -man -Z - "

instead of "nroff -man"

  Add the option "-t", if the file contains a table.

  Read the output of "diff -u" with "less -R" or similar.

-.-.

  If "man" (man-db) is used to check the manual for warnings,
the following must be set:

  The option "-warnings=w"

  The environmental variable:

export MAN_KEEP_STDERR=yes (or any non-empty value)

  or

  (produce only warnings):

export MANROFFOPT="-ww -z"

export MAN_KEEP_STDERR=yes (or any non-empty value)

-.-.

Output from "mandoc -T lint beep.1":

mandoc: beep.1:44:2: WARNING: skipping paragraph macro: PP after SH
mandoc: beep.1:47:245: STYLE: input text line longer than 80 bytes: All options 
have def...
mandoc: beep.1:49:125: STYLE: input text line longer than 80 bytes: All 
durations are gi...
mandoc: beep.1:57:186: STYLE: input text line longer than 80 bytes: Explicitly 
set the d...
mandoc: beep.1:64:328: STYLE: input text line longer than 80 bytes: Beep with a 
tone fre...
mandoc: beep.1:70:90: STYLE: input text line longer than 80 bytes: Repeat the 
tone incl...
mandoc: beep.1:73:600: STYLE: input text line longer than 80 bytes: Specify a 
delay of \...
mandoc: beep.1:76:234: STYLE: input text line longer than 80 bytes: The 
\fB\-\-new\fR op...
mandoc: beep.1:80:655: STYLE: input text line longer than 80 bytes: would 
produce a sequ...
mandoc: beep.1:83:322: STYLE: input text line longer than 80 bytes: Both the 
\fB\-s\fR a...
mandoc: beep.1:90:106: STYLE: input text line longer than 80 bytes: Beep after 
every set...
mandoc: beep.1:92:432: STYLE: input text line longer than 80 bytes: In a 
sequence of not...
mandoc: beep.1:94:100: STYLE: input text line longer than 80 bytes: The 
behaviour of \fB...
mandoc: beep.1:106:2: WARNING: skipping paragraph macro: PP after SH
mandoc: beep.1:122:82: STYLE: input text line longer than 80 bytes: will be 
used as the ...
mandoc: beep.1:139:2: WARNING: skipping paragraph macro: PP after SS
mandoc: beep.1:140:145: STYLE: input text line longer than 80 bytes: When you 
run \fBbeep...
mandoc: beep.1:142:127: STYLE: input text line longer than 80 bytes: Uses the 
evdev API, ...
mandoc: beep.1:168:131: STYLE: input text line longer than 80 bytes: The 
permissions to t...
mandoc: beep.1:170:108: STYLE: input text line longer than 80 bytes: Opening 
this device ...
mandoc: beep.1:172:101: STYLE: input text line longer than 80 bytes: command. 
Therefore, ...
mandoc: beep.1:184:272: STYLE: input text line longer than 80 bytes: This 
requires being ...
mandoc: beep.1:189:187: STYLE: input text line longer than 80 bytes: Concurrent 
invocatio...
mandoc: beep.1:191:84: STYLE: input text line longer than 80 bytes: process 
starts a lon...
mandoc: beep.1:193:417: STYLE: input text line longer than 80 bytes: with 
2050Hz comes in...
mandoc: beep.1:196:2: WARNING: skipping paragraph macro: PP after SS
mandoc: beep.1:201:397: STYLE: input text line longer than 80 bytes: however, 
chances are...
mandoc: beep.1:205:300: STYLE: input text line longer than 80 bytes: chances 
are that you...
mandoc: beep.1:208:2: WARNING: skipping paragraph macro: PP after SS
mandoc: beep.1:209:197: STYLE: input text line longer than 80 bytes: This 
frequency table...
mandoc: beep.1:247:2: WARNING: skipping paragraph macro: PP after SH
mandoc: beep.1:263:207: STYLE: input text line longer than 80 bytes: When using 
\-c mode,...
mandoc: beep.1:272:179: STYLE: input text line longer than 80 bytes: will 
produce first t...
mandoc: beep.1:274:2: ERROR: skipping all arguments: PP See ...
mandoc: beep.1:274:2: WARNING: skipping paragraph macro: PP empty

-.-.

Mark a full stop (.) and the exclamation mark (!) with "\&",
if it does not mean an end of a sentence.
This is a preventive action,
the paragraph could be reshaped, e.g., after changes.

When typing, one does not always notice when the line wraps after the
period.
There are too many examples of input lines in manual pages,
that end with an abbreviation point.

This marking is robust, and independent of the position on the line.

It corresponds to "\ " in TeX, and to "@:" in Texinfo.


184:This requires being root, unless the non-root user happens be logged into 
the virtual console and be using that specific virtual console device like e.g. 
\fB/dev/tty4\fR. This makes the console driver useless for non-root users 
logged in via ssh, and often X11 or Wayland.
193:with 2050Hz comes in, you will hear that 2050Hz beep for 100ms, and then 
silence as the quick beep silences the tone generator. Now you will not hear 
that the first \fBbeep\fR process is still running after having waited for the 
first 2100ms of its 10000ms. You will also not hear that the first \fBbeep\fR 
process will silence the already silent speaker 7900ms later, i.e. 10000ms 
after the first \fBbeep\fR started.

-.-.

Use the correct macro for the font change of a single argument or
split the argument into two.

86:.BR \-c
89:.BR \-s
119:.BR BEEP_LOG_LEVEL

-.-.

Change - to \- if it shall be printed as a minus sign.

beep.1:120:When set to a number between -999 and 999,

-.-.

Change a HYPHEN-MINUS (code 0x2D) to a minus(-dash) (\-),
if it
is in front of a name for an option,
is a symbol for standard input,
is a single character used to indicate an option,
or is in the NAME section (man-pages(7)).
N.B. - (0x2D), processed as a UTF-8 file, is changed to a hyphen
(0x2010, u[2010]) in the output.

120:When set to a number between -999 and 999,

-.-.

Add a comma (or \&) after "e.g." and "i.e.", or use English words
(man-pages(7).
Abbreviation points should be protected against being interpreted as
an end of sentence, if they are not, and that independent of the
current place on the line.

184:This requires being root, unless the non-root user happens be logged into 
the virtual console and be using that specific virtual console device like e.g. 
\fB/dev/tty4\fR. This makes the console driver useless for non-root users 
logged in via ssh, and often X11 or Wayland.
193:with 2050Hz comes in, you will hear that 2050Hz beep for 100ms, and then 
silence as the quick beep silences the tone generator. Now you will not hear 
that the first \fBbeep\fR process is still running after having waited for the 
first 2100ms of its 10000ms. You will also not hear that the first \fBbeep\fR 
process will silence the already silent speaker 7900ms later, i.e. 10000ms 
after the first \fBbeep\fR started.

-.-.

Wrong distance between sentences.

  Separate the sentences and subordinate clauses; each begins on a new
line.  See man-pages(7) ("Conventions for source file layout") and
"info groff" ("Input Conventions").

  The best procedure is to always start a new sentence on a new line,
at least, if you are typing on a computer.

Remember coding: Only one command ("sentence") on each (logical) line.

E-mail: Easier to quote exactly the relevant lines.

Generally: Easier to edit the sentence.

Patches: Less unaffected text.

Search for two adjacent words is easier, when they belong to the same line,
and the same phrase.

  The amount of space between sentences in the output can then be
controlled with the ".ss" request.

N.B

  The number of lines affected is too large to be in the patch.

67:Beep for a tone length of \fILEN\fR milliseconds. Default value: 200 ms.
70:Repeat the tone including delays \fIREPEATS\fR times. Default value: 1 tone, 
not repeated.
73:Specify a delay of \fIDELAY\fR milliseconds between repetitions.  Small 
letter \fB\-d\fR specifies that this delay should only occur \fIbetween\fR 
beeps, that is, it should \fInot\fR occur after the last repetition.  Capital 
letter \fB\-D\fR specifies that the delay should occur after every repetition, 
\fIincluding\fR after the last one.  Normally, \fB\-d\fR is what you want, but 
if, for example, you are stringing several \fBbeep\fR commands together to play 
the star wars anthem, you may want control over every delay. Default value: 100 
ms delay between beeps with no delay after the last beep.
156:for certain users and/or user groups. For details, see the
172:command. Therefore, if you need to play multiple notes in a rhythmical 
sequence for a melody, use one
184:This requires being root, unless the non-root user happens be logged into 
the virtual console and be using that specific virtual console device like e.g. 
\fB/dev/tty4\fR. This makes the console driver useless for non-root users 
logged in via ssh, and often X11 or Wayland.
189:Concurrent invocations of \fBbeep\fR are not supported. There is only one 
tone generator in the PC hardware, and we do not manage access to that shared 
resource in any way.  So if a first
193:with 2050Hz comes in, you will hear that 2050Hz beep for 100ms, and then 
silence as the quick beep silences the tone generator. Now you will not hear 
that the first \fBbeep\fR process is still running after having waited for the 
first 2100ms of its 10000ms. You will also not hear that the first \fBbeep\fR 
process will silence the already silent speaker 7900ms later, i.e. 10000ms 
after the first \fBbeep\fR started.

-.-.

Split lines longer than 80 characters into two or more lines.
Appropriate break points are the end of a sentence and a subordinate
clause; after punctuation marks.

beep.1: line 45 length 395
\fBbeep\fR allows the user to control the PC speaker with precision, allowing 
different sounds to indicate different events.  While \fBbeep\fR can be run 
quite happily on the command line, \fBbeep\fR's intended use is within 
shell/perl scripts, notifying the user when something interesting occurs.  Of 
course, it has no notion of what \fIIS\fR interesting, but it is good at the 
notifying part.

beep.1: line 47 length 245
All options have default values, meaning that just typing '\fBbeep\fR' will 
work.  If an option is specified more than once on the command line, subsequent 
options override their predecessors.  So '\fBbeep\fR \-f 200 \-f 300' will beep 
at 300Hz.

beep.1: line 49 length 125
All durations are given in a unit of milliseconds, frequencies as Hertz, and 
the number of repeats is a dimensionless number.

beep.1: line 57 length 186
Explicitly set the device \fBbeep\fR shall use to generate beep tones.  When 
not given a device explicitly, \fBbeep\fR runs through an internal list of 
devices until one appears to work.

beep.1: line 64 length 328
Beep with a tone frequency of \fIFREQ\fR Hz, where 0 < \fIFREQ\fR < 20000.  As 
a general ballpark, the regular terminal beep is around 750Hz.  For backwards 
compatibility, you can give \fIFREQ\fR as a floating point number, but 
\fBbeep\fR will round that to integer values as the kernel APIs expect them.  
Default value: 440 Hz.

beep.1: line 70 length 90
Repeat the tone including delays \fIREPEATS\fR times. Default value: 1 tone, 
not repeated.

beep.1: line 73 length 600
Specify a delay of \fIDELAY\fR milliseconds between repetitions.  Small letter 
\fB\-d\fR specifies that this delay should only occur \fIbetween\fR beeps, that 
is, it should \fInot\fR occur after the last repetition.  Capital letter 
\fB\-D\fR specifies that the delay should occur after every repetition, 
\fIincluding\fR after the last one.  Normally, \fB\-d\fR is what you want, but 
if, for example, you are stringing several \fBbeep\fR commands together to play 
the star wars anthem, you may want control over every delay. Default value: 100 
ms delay between beeps with no delay after the last beep.

beep.1: line 76 length 234
The \fB\-\-new\fR option allows you to chain multiple beeps together on a 
single command line.  Each time the \fB\-\-new\FR is used, \fBbeep\fR starts 
treating all further arguments as though they were for a new beep.  So for 
example:

beep.1: line 80 length 655
would produce a sequence of three beeps, the first with a frequency of 1000Hz 
(and otherwise default values), then a second beep with a frequency of 2000Hz 
(again, with things like delay and reps being set to their defaults), then a 
third beep, at 1500Hz.  This is different from specifying a \fB\-r\fR value, 
since \fB\-r\fR repeats the same beep multiple times, whereas \fB\-\-new\fR 
allows you to specify different beeps.  After a \fB\-\-new\fR, the new beep is 
created with all the default values, and any of these can be specified without 
altering values for preceding (or later) beeps.  See the \fBEXAMPLES\fR section 
if this managed to confuse you.

beep.1: line 83 length 322
Both the \fB\-s\fR and the \fB\-c\fR option put \fBbeep\fR into input 
processing mode, reading from \fIstdin\fR and copying all received data to 
\fIstdout\fR.  This makes it easy to slip \fBbeep\fR into a text processing 
pipeline to acoustically monitor the data flow within that pipeline.  See the 
\fBEXAMPLES\fR section.

beep.1: line 90 length 106
Beep after every set of data received.  Usually, this means after newlines 
occur in text processing pipes.

beep.1: line 92 length 432
In a sequence of notes specified with one or more occurrences of \fB\-n\fR or 
\fB\-\-new\fR, it only makes sense to have one single note marked with either 
\fB\-s\fR or \fB\-c\fR attached to it.  Then \fBbeep\fR will beep all notes 
until it reaches that marked note, then repeat the marked note according to the 
input it receives, and once the input has reached EOF, \fBbeep\fR will continue 
with the remainder of the note sequence.

beep.1: line 94 length 100
The behaviour of \fBbeep\fR with more than one note marked with \fB\-s\fR or 
\fB\-c\fR is undefined.

beep.1: line 122 length 82
will be used as the default loglevel until overridden by a command line 
parameter.

beep.1: line 140 length 145
When you run \fBbeep\fR without explicitly giving a device to use, \fBbeep\fR 
tries opening the following devices in sequence until one succeeds:

beep.1: line 142 length 127
Uses the evdev API, and system administrator can allow access to any set of 
users and groups using the normal file permissions.

beep.1: line 168 length 131
The permissions to this device file can be set up such that beep can be run by 
any non-root user the system administrator wants to.

beep.1: line 170 length 108
Opening this device takes on the order of magnitude of 20ms in the Linux kernel 
for every time you start the

beep.1: line 172 length 101
command. Therefore, if you need to play multiple notes in a rhythmical sequence 
for a melody, use one

beep.1: line 184 length 272
This requires being root, unless the non-root user happens be logged into the 
virtual console and be using that specific virtual console device like e.g. 
\fB/dev/tty4\fR. This makes the console driver useless for non-root users 
logged in via ssh, and often X11 or Wayland.

beep.1: line 189 length 187
Concurrent invocations of \fBbeep\fR are not supported. There is only one tone 
generator in the PC hardware, and we do not manage access to that shared 
resource in any way.  So if a first

beep.1: line 191 length 84
process starts a long 10 second beep with 1000Hz, and 2 seconds later a second 
quick

beep.1: line 193 length 417
with 2050Hz comes in, you will hear that 2050Hz beep for 100ms, and then 
silence as the quick beep silences the tone generator. Now you will not hear 
that the first \fBbeep\fR process is still running after having waited for the 
first 2100ms of its 10000ms. You will also not hear that the first \fBbeep\fR 
process will silence the already silent speaker 7900ms later, i.e. 10000ms 
after the first \fBbeep\fR started.

beep.1: line 201 length 397
however, chances are you have a piezo beeper connected to the mainboard.  If 
you prioritize a loud beep over a certain frequency beep, you can choose to 
beep at a frequency close to the resonance frequency of the piezo beeper.  
Typical piezo beepers have a resonance frequency around 2000Hz, so you can test 
frequencies around that range.  The author's piezo beeper is the loudest at 
about 2050Hz.

beep.1: line 205 length 300
chances are that your laptop will not have a piezo beeper hardware inside and 
that it will route the output of the pcspkr circuit to the laptop's internal 
speakers via the sound card mixer.  In that case, you can and/or must change 
the mixer level for the beeper using a sound card mixer application.

beep.1: line 209 length 197
This frequency table might come in handy for translating musical notes to 
frequencies.  The frequencies are rounded to integer numbers as the kernel 
driver only works with integers.  The column for

beep.1: line 263 length 207
When using \-c mode, I recommend using a short \-D, and a shorter \-l, so that 
the beeps do not blur together.  Something like this will get you a cheesy 
1970's style beep\-as\-you\-type\-each\-letter effect

beep.1: line 272 length 179
will produce first two 1000Hz beeps, then 5 beeps at the default tone, but only 
10ms long each, followed by a third beep using all the default settings (since 
none are specified).

-.-.

Use a no-break space between a number and a (SI) unit

46:All options have default values, meaning that just typing
'\fBbeep\fR' will work.  If an option is specified more than once
on the command line, subsequent options override their
predecessors.  So '\fBbeep\fR \-f 200 \-f 300' will beep at 300Hz.
63:Beep with a tone frequency of \fIFREQ\fR Hz, where 0 <
\fIFREQ\fR < 20000.  As a general ballpark, the regular terminal
beep
is around 750Hz.  For backwards compatibility, you can give
\fIFREQ\fR as a floating point number, but \fBbeep\fR will round
that to integer values as the kernel APIs expect them.  Default
value: 440 Hz.
83:would produce a sequence of three beeps, the first with a
frequency of 1000Hz (and otherwise default values), then a second
beep with a frequency of 2000Hz (again, with things like delay and
reps being set to their defaults), then a third beep, at 1500Hz. 
This is different from specifying a \fB\-r\fR value, since
\fB\-r\fR repeats the same beep multiple times, whereas
\fB\-\-new\fR allows you to specify different beeps.  After a
\fB\-\-new\fR, the new beep is created with all the default
values, and any of these can be specified without altering values
for preceding (or later) beeps.  See the \fBEXAMPLES\fR section if
this managed to confuse you.
192:process starts a long 10 second beep with 1000Hz, and 2
seconds later a second quick
194:with 2050Hz comes in, you will hear that 2050Hz beep for
100ms, and then silence as the quick beep silences the tone
generator. Now you will not hear that the first \fBbeep\fR process
is still running after having waited for the first 2100ms of its
10000ms. You will also not hear that the first \fBbeep\fR process
will silence the already silent speaker 7900ms later, i.e.\&
10000ms after the first \fBbeep\fR started.
201:however, chances are you have a piezo beeper connected to the
mainboard.  If you prioritize a loud beep over a certain frequency
beep, you can choose to beep at a frequency close to the resonance
frequency of the piezo beeper.  Typical piezo beepers have a
resonance frequency around 2000Hz, so you can test frequencies
around that range.  The author's piezo beeper is the loudest at
about 2050Hz.
270:will produce first two 1000Hz beeps, then 5 beeps at the
default tone, but only 10ms long each, followed by a third beep
using all the default settings (since none are specified).

Use a no-break space between a number and a (SI) unit

171:Opening this device takes on the order of magnitude of 20ms in
the Linux kernel for every time you start the
194:with 2050\~Hz comes in, you will hear that 2050\~Hz beep for
100ms, and then silence as the quick beep silences the tone
generator. Now you will not hear that the first \fBbeep\fR process
is still running after having waited for the first 2100ms of its
10000ms. You will also not hear that the first \fBbeep\fR process
will silence the already silent speaker 7900ms later, i.e.\&
10000ms after the first \fBbeep\fR started.
270:will produce first two 1000\~Hz beeps, then 5 beeps at the
default tone, but only 10ms long each, followed by a third beep
using all the default settings (since none are specified).

171:Opening this device takes on the order of magnitude of 20ms in
the Linux kernel for every time you start the
194:with 2050\~Hz comes in, you will hear that 2050\~Hz beep for
100ms, and then silence as the quick beep silences the tone
generator. Now you will not hear that the first \fBbeep\fR process
is still running after having waited for the first 2100ms of its
10000ms. You will also not hear that the first \fBbeep\fR process
will silence the already silent speaker 7900ms later, i.e.\&
10000ms after the first \fBbeep\fR started.
270:will produce first two 1000\~Hz beeps, then 5 beeps at the
default tone, but only 10ms long each, followed by a third beep
using all the default settings (since none are specified).

-.-.

Output from "test-groff -b -mandoc -dAD=l -rF0 -rHY=0 -t -w w -z 
-rCHECKSTYLE=0":
troff: backtrace: file '<stdin>':76
troff:<stdin>:76: error: no font family named 'R' exists

-.-

  Tables: use left alignment in columns with text


-- System Information:
Debian Release: trixie/sid
  APT prefers testing-proposed-updates
  APT policy: (500, 'testing-proposed-updates'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.7.12-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=is_IS.iso88591, LC_CTYPE=is_IS.iso88591 (charmap=ISO-8859-1), 
LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages beep depends on:
ii  libc6  2.38-10

beep recommends no packages.

beep suggests no packages.

-- no debconf information
--- beep.1      2024-05-10 02:13:29.810231943 +0000
+++ beep.1.new  2024-05-17 13:43:37.162257918 +0000
@@ -41,10 +41,9 @@ beep \- beep the pc speaker any number o
 .\" ====================================================================
 .\"
 .SH DESCRIPTION
-.PP
 \fBbeep\fR allows the user to control the PC speaker with precision, allowing 
different sounds to indicate different events.  While \fBbeep\fR can be run 
quite happily on the command line, \fBbeep\fR's intended use is within 
shell/perl scripts, notifying the user when something interesting occurs.  Of 
course, it has no notion of what \fIIS\fR interesting, but it is good at the 
notifying part.
 .PP
-All options have default values, meaning that just typing '\fBbeep\fR' will 
work.  If an option is specified more than once on the command line, subsequent 
options override their predecessors.  So '\fBbeep\fR \-f 200 \-f 300' will beep 
at 300Hz.
+All options have default values, meaning that just typing '\fBbeep\fR' will 
work.  If an option is specified more than once on the command line, subsequent 
options override their predecessors.  So '\fBbeep\fR \-f 200 \-f 300' will beep 
at 300\~Hz.
 .PP
 All durations are given in a unit of milliseconds, frequencies as Hertz, and 
the number of repeats is a dimensionless number.
 .\"
@@ -61,7 +60,7 @@ Make the \fBbeep\fR program more verbose
 .SS "Tone options"
 .TP
 .BI \-f\  FREQ
-Beep with a tone frequency of \fIFREQ\fR Hz, where 0 < \fIFREQ\fR < 20000.  As 
a general ballpark, the regular terminal beep is around 750Hz.  For backwards 
compatibility, you can give \fIFREQ\fR as a floating point number, but 
\fBbeep\fR will round that to integer values as the kernel APIs expect them.  
Default value: 440 Hz.
+Beep with a tone frequency of \fIFREQ\fR Hz, where 0 < \fIFREQ\fR < 20000.  As 
a general ballpark, the regular terminal beep is around 750\~Hz.  For backwards 
compatibility, you can give \fIFREQ\fR as a floating point number, but 
\fBbeep\fR will round that to integer values as the kernel APIs expect them.  
Default value: 440 Hz.
 .TP
 .BI \-l\  LEN
 Beep for a tone length of \fILEN\fR milliseconds. Default value: 200 ms.
@@ -73,20 +72,20 @@ Repeat the tone including delays \fIREPE
 Specify a delay of \fIDELAY\fR milliseconds between repetitions.  Small letter 
\fB\-d\fR specifies that this delay should only occur \fIbetween\fR beeps, that 
is, it should \fInot\fR occur after the last repetition.  Capital letter 
\fB\-D\fR specifies that the delay should occur after every repetition, 
\fIincluding\fR after the last one.  Normally, \fB\-d\fR is what you want, but 
if, for example, you are stringing several \fBbeep\fR commands together to play 
the star wars anthem, you may want control over every delay. Default value: 100 
ms delay between beeps with no delay after the last beep.
 .TP
 .BR \-n ,\  \-\-new
-The \fB\-\-new\fR option allows you to chain multiple beeps together on a 
single command line.  Each time the \fB\-\-new\FR is used, \fBbeep\fR starts 
treating all further arguments as though they were for a new beep.  So for 
example:
+The \fB\-\-new\fP option allows you to chain multiple beeps together on a 
single command line.  Each time the \fB\-\-new\fP is used, \fBbeep\fP starts 
treating all further arguments as though they were for a new beep.  So for 
example:
 
     \fBbeep\fR \-f 1000 \-n \-f 2000 \-n \-f 1500
 
-would produce a sequence of three beeps, the first with a frequency of 1000Hz 
(and otherwise default values), then a second beep with a frequency of 2000Hz 
(again, with things like delay and reps being set to their defaults), then a 
third beep, at 1500Hz.  This is different from specifying a \fB\-r\fR value, 
since \fB\-r\fR repeats the same beep multiple times, whereas \fB\-\-new\fR 
allows you to specify different beeps.  After a \fB\-\-new\fR, the new beep is 
created with all the default values, and any of these can be specified without 
altering values for preceding (or later) beeps.  See the \fBEXAMPLES\fR section 
if this managed to confuse you.
+would produce a sequence of three beeps, the first with a frequency of 
1000\~Hz (and otherwise default values), then a second beep with a frequency of 
2000\~Hz (again, with things like delay and reps being set to their defaults), 
then a third beep, at 1500\~Hz.  This is different from specifying a \fB\-r\fR 
value, since \fB\-r\fR repeats the same beep multiple times, whereas 
\fB\-\-new\fR allows you to specify different beeps.  After a \fB\-\-new\fR, 
the new beep is created with all the default values, and any of these can be 
specified without altering values for preceding (or later) beeps.  See the 
\fBEXAMPLES\fR section if this managed to confuse you.
 .TP
 .BR \-s ,\  \-c
 Both the \fB\-s\fR and the \fB\-c\fR option put \fBbeep\fR into input 
processing mode, reading from \fIstdin\fR and copying all received data to 
\fIstdout\fR.  This makes it easy to slip \fBbeep\fR into a text processing 
pipeline to acoustically monitor the data flow within that pipeline.  See the 
\fBEXAMPLES\fR section.
 .RS
 .TP
-.BR \-c
+.B \-c
 Beep after every character received.
 .TP
-.BR \-s
+.B \-s
 Beep after every set of data received.  Usually, this means after newlines 
occur in text processing pipes.
 .PP
 In a sequence of notes specified with one or more occurrences of \fB\-n\fR or 
\fB\-\-new\fR, it only makes sense to have one single note marked with either 
\fB\-s\fR or \fB\-c\fR attached to it.  Then \fBbeep\fR will beep all notes 
until it reaches that marked note, then repeat the marked note according to the 
input it receives, and once the input has reached EOF, \fBbeep\fR will continue 
with the remainder of the note sequence.
@@ -103,7 +102,6 @@ Display \fBbeep\fR version information a
 .\" ====================================================================
 .\"
 .SH EXIT STATUS
-.PP
 When successful,
 .B beep
 returns with exit code 0.
@@ -116,8 +114,8 @@ has encountered an error and has bailed
 .\"
 .SH ENVIRONMENT
 .TP
-.BR BEEP_LOG_LEVEL
-When set to a number between -999 and 999,
+.B BEEP_LOG_LEVEL
+When set to a number between \-999 and 999,
 .B BEEP_LOG_LEVEL
 will be used as the default loglevel until overridden by a command line 
parameter.
 .\"
@@ -136,7 +134,6 @@ uses by default are the following:
 .\"
 .SH NOTES
 .SS "Devices and Permissions"
-.PP
 When you run \fBbeep\fR without explicitly giving a device to use, \fBbeep\fR 
tries opening the following devices in sequence until one succeeds:
 .IP "\fB/dev/input/by\-path/platform\-pcspkr\-event\-spkr\fR" 4
 Uses the evdev API, and system administrator can allow access to any set of 
users and groups using the normal file permissions.
@@ -167,7 +164,7 @@ on
 .IP
 The permissions to this device file can be set up such that beep can be run by 
any non-root user the system administrator wants to.
 .IP
-Opening this device takes on the order of magnitude of 20ms in the Linux 
kernel for every time you start the
+Opening this device takes on the order of magnitude of 20\~ms in the Linux 
kernel for every time you start the
 .B beep
 command. Therefore, if you need to play multiple notes in a rhythmical 
sequence for a melody, use one
 .B beep
@@ -181,31 +178,29 @@ Uses the ancient console API, which mean
 on a tty device like
 .BR /dev/tty0\  or\  /dev/vc/0.
 .IP
-This requires being root, unless the non-root user happens be logged into the 
virtual console and be using that specific virtual console device like e.g. 
\fB/dev/tty4\fR. This makes the console driver useless for non-root users 
logged in via ssh, and often X11 or Wayland.
+This requires being root, unless the non-root user happens be logged into the 
virtual console and be using that specific virtual console device like e.g., 
\fB/dev/tty4\fR. This makes the console driver useless for non-root users 
logged in via ssh, and often X11 or Wayland.
 .IP
 Use the evdev API instead.
 .\"
 .SS "Concurrent Invocations"
 Concurrent invocations of \fBbeep\fR are not supported. There is only one tone 
generator in the PC hardware, and we do not manage access to that shared 
resource in any way.  So if a first
 .B "beep \-f 1000 \-l 10000"
-process starts a long 10 second beep with 1000Hz, and 2 seconds later a second 
quick
+process starts a long 10 second beep with 1000\~Hz, and 2 seconds later a 
second quick
 .B "beep \-f 2050 \-l 100"
-with 2050Hz comes in, you will hear that 2050Hz beep for 100ms, and then 
silence as the quick beep silences the tone generator. Now you will not hear 
that the first \fBbeep\fR process is still running after having waited for the 
first 2100ms of its 10000ms. You will also not hear that the first \fBbeep\fR 
process will silence the already silent speaker 7900ms later, i.e. 10000ms 
after the first \fBbeep\fR started.
+with 2050\~Hz comes in, you will hear that 2050\~Hz beep for 100\~ms, and then 
silence as the quick beep silences the tone generator. Now you will not hear 
that the first \fBbeep\fR process is still running after having waited for the 
first 2100\~ms of its 10000\~ms. You will also not hear that the first 
\fBbeep\fR process will silence the already silent speaker 7900\~ms later, 
i.e.\& 10000\~ms after the first \fBbeep\fR started.
 .\"
 .SS "Sound Volume"
-.PP
 The PC speaker hardware has no way to explicitly set the volume of a beep.
 .PP
 If you have a
 .IR "standalone PC" ,
-however, chances are you have a piezo beeper connected to the mainboard.  If 
you prioritize a loud beep over a certain frequency beep, you can choose to 
beep at a frequency close to the resonance frequency of the piezo beeper.  
Typical piezo beepers have a resonance frequency around 2000Hz, so you can test 
frequencies around that range.  The author's piezo beeper is the loudest at 
about 2050Hz.
+however, chances are you have a piezo beeper connected to the mainboard.  If 
you prioritize a loud beep over a certain frequency beep, you can choose to 
beep at a frequency close to the resonance frequency of the piezo beeper.  
Typical piezo beepers have a resonance frequency around 2000\~Hz, so you can 
test frequencies around that range.  The author's piezo beeper is the loudest 
at about 2050\~Hz.
 .PP
 If you have a
 .IR "PC laptop" ,
 chances are that your laptop will not have a piezo beeper hardware inside and 
that it will route the output of the pcspkr circuit to the laptop's internal 
speakers via the sound card mixer.  In that case, you can and/or must change 
the mixer level for the beeper using a sound card mixer application.
 .\"
 .SS "Frequency Table"
-.PP
 This frequency table might come in handy for translating musical notes to 
frequencies.  The frequencies are rounded to integer numbers as the kernel 
driver only works with integers.  The column for
 .B "octave 4"
 is the octave of middle C.
@@ -213,10 +208,10 @@ is the octave of middle C.
 .\" inserted into this man page manually.
 .TS
 center box;
-Cb | Cb s  s  s
-Cb | Cb Cb Cb Cb
+Lb | Cb s  s  s
+Lb | Cb Cb Cb Cb
 -  | -  -  -  -
-C  | N  N  N  N.
+L  | N  N  N  N.
 note   octave
 name   3       4       5       6       
 C      131     262     523     1047    
@@ -244,7 +239,6 @@ Report bugs to
 .\" ====================================================================
 .\"
 .SH EXAMPLES
-.PP
 At its simplest (yet still effective)
 
     \fBbeep\fR
@@ -269,9 +263,10 @@ A highly contrived example of \-n/\-\-ne
 
     \fBbeep\fR \-f 1000 \-r 2 \-n \-r 5 \-l 10 \-\-new
 
-will produce first two 1000Hz beeps, then 5 beeps at the default tone, but 
only 10ms long each, followed by a third beep using all the default settings 
(since none are specified).
+will produce first two 1000\~Hz beeps, then 5 beeps at the default tone, but 
only 10\~ms long each, followed by a third beep using all the default settings 
(since none are specified).
 .\"
-.PP See also the \fBFREQUENCY TABLE\fR below.
+.PP
+See also the \fBFREQUENCY TABLE\fR above.
 .\"
 .\" ====================================================================
 .\"

Reply via email to