|author||Adrian Cochrane <email@example.com>||2020-06-06 12:57:46 +1200|
|committer||Adrian Cochrane <firstname.lastname@example.org>||2020-06-06 12:57:46 +1200|
Merge remote-tracking branch 'contrib-ariana/doc-update'
3 files changed, 100 insertions, 8 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 5824437..cfc1509 100644
@@ -1,11 +1,11 @@
-You can contributed code or register "issues" to Haskell Stylist by contacting
+You can submit contributed code or register "issues" to Haskell Stylist by contacting
me (Adrian Cochrane) via [mastodon](https://floss.social) or [email](mailto:email@example.com).
Or you can sign up for an account on the NZ OSS GitLab.
Any issues you report will be described in a markdown file within the ISSUES folder.
-To contribute code, you may either sending me:
+To contribute code, you may either send me:
* A link to your online fork from which you want me to `git pull`.
* git patch files, as documented at https://git-send-email.io/
@@ -14,6 +14,6 @@ To contribute code, you may either sending me:
* Create a UI for filling in webforms.
* Implement HTTP(S) caching.
* Add support for new network protocols.
-* Anything listed under the `ISSUES` folder, especially it's `help-wanted` subdirectories.
+* Anything listed under the `ISSUES` folder, especially if it's `help-wanted` subdirectories.
Feel free to ask me if you have any questions.
@@ -5,7 +5,7 @@ Web browser targetting voice I/O.
See CONTRIBUTING.md for instructions on how to help the project.
## Desired Experience
-Rhapsode will read a webpage outloud to you according to some special CSS properties.
+Rhapsode will read a webpage out loud to you according to some special CSS properties.
Arrow key navigation will be supported for navigation between headings, paragraphs,
and table cells.
diff --git a/docs/CSS-Speech-Tutorial.md b/docs/CSS-Speech-Tutorial.md
index 1488b2c..fb13749 100644
@@ -1,5 +1,7 @@
**Wanted:** Guidance on creating a great audio theme. Maybe based on voice acting
or public speaking theory.
+**Wanted:** Written descriptions of the various outcomes of properties. I.e,
+how does `speak-as: spell-out` differ from normal.
Rhapsode still lets you apply CSS styles to your webpages, but since it outputs
audio rather than video it supports a different set of CSS properties. This page
@@ -14,22 +16,98 @@ Setting `speak: never` is not the same as setting `voice-volume: silent` as the
latter still takes up the same ammount of time as it would've to read the text
+ `speak: always`
+ - `always`
+ - `never`
+ `speak-as: spell-out`
+ - `spell-out`
+ - `digits`
+ - `literal-punctuation`
+ - `no-punctuation`
## The Voice
You can use the `voice-family` attribute to select a voice either by age/gender/variant
-or by it's name. Just like font-family this'll make a big difference to the look
+or by it's name. Just like font-family this'll make a big difference to the "look"
of your page.
+**Wanted: denote syntax and properly format list**
+ `voice-family: OPTIONS`
+- genders: male female neutral
+- ages: child young old
## Speaking Style
You can alter the voice you choose by varying it's volume, rate, pitch, range,
and stress. Doing so helps people pay attention, especially if it reinforces the
meaning of your text.
### Keywords & Offsets
-All the speaking style properties provides keywords you can use instead of a
+All the speaking style properties provide keywords you can use instead of a
number. In which case write a number after a keyword to represent an offset from
-## The CSS Speech "Box Model"
+ `voice-volume: medium -10dB`
+ - `silent`
+ - `x-soft`
+ - `soft`
+ - `medium`
+ - `loud`
+ - `x-loud`
+ - `medium`
+ `voice-rate: medium -10%`
+ - `x-slow`
+ - `slow`
+ - `medium`
+ - `fast`
+ - `x-fast`
+ `voice-pitch: medium +10%`
+ - `x-low`
+ - `low`
+ - `medium`
+ - `high`
+ - `x-high`
+ `voice-stress: moderate`
+ - `strong`
+ - `moderate`
+ - `none`
+ - `reduced`
+## Rests, Pauses, and Auditory Cues
On either end of your text you can place an audio cue to identify it, and on
either end of those you can insert additional silence. If two silences are
directly adjacent, the smaller one will be removed.
@@ -40,6 +118,20 @@ it's `pause`.
The user agent stylesheet, for example, uses audio cues to indicate list bullets
and links. And silence functions exactly like whitespace in a visual browser.
+> Note: `pause` and `rest` mirror functionality
+> Note: `-before` and `-after` are both offered by the api as well
+ `pause: before weak 50ms`
+ - `x-weak`
+ - `weak`
+ - `medium`
+ - `strong
## Text Generation
Rhapsode supports (some of) the same text generation attributes as visual
@@ -51,7 +143,7 @@ browsers, namely:
Though more may be added in the future.
-However unlike visual browsers you can apply the `content` property the element
+However unlike visual browsers you can apply the `content` property to the element
itself to replace it's own children.