Vendor SAPI4 runtime/voices, Flextalk cabinet, NetTTS reference (standalone, no online deps)
This commit is contained in:
@@ -4,6 +4,9 @@ build/
|
|||||||
*.so
|
*.so
|
||||||
*.exe
|
*.exe
|
||||||
*.dll
|
*.dll
|
||||||
|
!third_party/**/*.exe
|
||||||
|
!third_party/**/*.dll
|
||||||
setup/out-*.reg
|
setup/out-*.reg
|
||||||
*.wav
|
*.wav
|
||||||
setup/microslopsam.env
|
setup/microslopsam.env
|
||||||
|
third_party/flextalk/extracted/
|
||||||
|
|||||||
@@ -51,8 +51,8 @@ without editing scripts:
|
|||||||
| `MICROSLOP_ROOT` | repo root | project root |
|
| `MICROSLOP_ROOT` | repo root | project root |
|
||||||
| `MICROSLOP_BUILD` | `$MICROSLOP_ROOT/build` | host binaries, samples |
|
| `MICROSLOP_BUILD` | `$MICROSLOP_ROOT/build` | host binaries, samples |
|
||||||
| `MICROSLOP_PREFIX` | `~/.wine-microslopsam` | wine prefix (exported as `WINEPREFIX`) |
|
| `MICROSLOP_PREFIX` | `~/.wine-microslopsam` | wine prefix (exported as `WINEPREFIX`) |
|
||||||
| `MICROSLOP_ASSETS` | `../Microsoft-Sam-Mary-Mike-TruVoice-WSAPI4` | SAPI4/MSTTS payloads |
|
| `MICROSLOP_ASSETS` | `third_party/sapi4` | SAPI4/MSTTS payloads (vendored) |
|
||||||
| `MICROSLOP_FLEXTALK_DIR` | `../flextalk` | Flextalk archive/extraction |
|
| `MICROSLOP_FLEXTALK_DIR` | `third_party/flextalk` | Flextalk cabinet/extraction (vendored) |
|
||||||
| `MICROSLOP_SPEECH_H_DIR` | `$MICROSLOP_ROOT/third_party` | `speech.h` include dir (vendored) |
|
| `MICROSLOP_SPEECH_H_DIR` | `$MICROSLOP_ROOT/third_party` | `speech.h` include dir (vendored) |
|
||||||
| `MICROSLOP_DISPLAY` | `:77` | Xvfb display used for Wine |
|
| `MICROSLOP_DISPLAY` | `:77` | Xvfb display used for Wine |
|
||||||
| `MICROSLOP_WINE`, `MICROSLOP_XVFB`, `MICROSLOP_PYTHON`, `MICROSLOP_FFMPEG` | tool names | tool overrides |
|
| `MICROSLOP_WINE`, `MICROSLOP_XVFB`, `MICROSLOP_PYTHON`, `MICROSLOP_FFMPEG` | tool names | tool overrides |
|
||||||
|
|||||||
+2
-2
@@ -404,8 +404,8 @@ scripts:
|
|||||||
| `MICROSLOP_ROOT` | repo root | project root |
|
| `MICROSLOP_ROOT` | repo root | project root |
|
||||||
| `MICROSLOP_BUILD` | `$MICROSLOP_ROOT/build` | host binaries, samples |
|
| `MICROSLOP_BUILD` | `$MICROSLOP_ROOT/build` | host binaries, samples |
|
||||||
| `MICROSLOP_PREFIX` | `~/.wine-microslopsam` | wine prefix (exported as `WINEPREFIX`) |
|
| `MICROSLOP_PREFIX` | `~/.wine-microslopsam` | wine prefix (exported as `WINEPREFIX`) |
|
||||||
| `MICROSLOP_ASSETS` | `../Microsoft-Sam-Mary-Mike-TruVoice-WSAPI4` | SAPI4/MSTTS payloads |
|
| `MICROSLOP_ASSETS` | `third_party/sapi4` | SAPI4/MSTTS payloads (vendored) |
|
||||||
| `MICROSLOP_FLEXTALK_DIR` | `../flextalk` | Flextalk archive/extraction |
|
| `MICROSLOP_FLEXTALK_DIR` | `third_party/flextalk` | Flextalk cabinet/extraction (vendored) |
|
||||||
| `MICROSLOP_SPEECH_H_DIR` | `$MICROSLOP_ROOT/third_party` | `speech.h` include dir (vendored) |
|
| `MICROSLOP_SPEECH_H_DIR` | `$MICROSLOP_ROOT/third_party` | `speech.h` include dir (vendored) |
|
||||||
| `MICROSLOP_DISPLAY` | `:77` | Xvfb display used for Wine |
|
| `MICROSLOP_DISPLAY` | `:77` | Xvfb display used for Wine |
|
||||||
| `MICROSLOP_WINE` / `_XVFB` / `_PYTHON` / `_FFMPEG` | tool names | tool overrides |
|
| `MICROSLOP_WINE` / `_XVFB` / `_PYTHON` / `_FFMPEG` | tool names | tool overrides |
|
||||||
|
|||||||
+2
-2
@@ -24,8 +24,8 @@ fi
|
|||||||
MICROSLOP_ROOT=${MICROSLOP_ROOT:-$(CDPATH= cd -- "$HERE/.." && pwd)}
|
MICROSLOP_ROOT=${MICROSLOP_ROOT:-$(CDPATH= cd -- "$HERE/.." && pwd)}
|
||||||
MICROSLOP_BUILD=${MICROSLOP_BUILD:-$MICROSLOP_ROOT/build}
|
MICROSLOP_BUILD=${MICROSLOP_BUILD:-$MICROSLOP_ROOT/build}
|
||||||
MICROSLOP_PREFIX=${MICROSLOP_PREFIX:-$HOME/.wine-microslopsam}
|
MICROSLOP_PREFIX=${MICROSLOP_PREFIX:-$HOME/.wine-microslopsam}
|
||||||
MICROSLOP_ASSETS=${MICROSLOP_ASSETS:-$MICROSLOP_ROOT/../Microsoft-Sam-Mary-Mike-TruVoice-WSAPI4}
|
MICROSLOP_ASSETS=${MICROSLOP_ASSETS:-$MICROSLOP_ROOT/third_party/sapi4}
|
||||||
MICROSLOP_FLEXTALK_DIR=${MICROSLOP_FLEXTALK_DIR:-$MICROSLOP_ROOT/../flextalk}
|
MICROSLOP_FLEXTALK_DIR=${MICROSLOP_FLEXTALK_DIR:-$MICROSLOP_ROOT/third_party/flextalk}
|
||||||
MICROSLOP_SPEECH_H_DIR=${MICROSLOP_SPEECH_H_DIR:-$MICROSLOP_ROOT/third_party}
|
MICROSLOP_SPEECH_H_DIR=${MICROSLOP_SPEECH_H_DIR:-$MICROSLOP_ROOT/third_party}
|
||||||
MICROSLOP_DISPLAY=${MICROSLOP_DISPLAY:-:77}
|
MICROSLOP_DISPLAY=${MICROSLOP_DISPLAY:-:77}
|
||||||
MICROSLOP_XVFB=${MICROSLOP_XVFB:-Xvfb}
|
MICROSLOP_XVFB=${MICROSLOP_XVFB:-Xvfb}
|
||||||
|
|||||||
+2
-1
@@ -53,7 +53,8 @@ log "setting up wine prefix, SAPI4 runtime and MSTTS voices"
|
|||||||
EXTRACTED="$MICROSLOP_FLEXTALK_DIR/extracted/TTS_Executables"
|
EXTRACTED="$MICROSLOP_FLEXTALK_DIR/extracted/TTS_Executables"
|
||||||
if [ ! -d "$EXTRACTED/EngineDLLs" ]; then
|
if [ ! -d "$EXTRACTED/EngineDLLs" ]; then
|
||||||
CAB=""
|
CAB=""
|
||||||
for c in "$MICROSLOP_FLEXTALK_DIR/installer/flextalk/data1.cab" \
|
for c in "$MICROSLOP_FLEXTALK_DIR/data1.cab" \
|
||||||
|
"$MICROSLOP_FLEXTALK_DIR/installer/flextalk/data1.cab" \
|
||||||
"$MICROSLOP_ASSETS/flextalk/data1.cab"; do
|
"$MICROSLOP_ASSETS/flextalk/data1.cab"; do
|
||||||
if [ -f "$c" ]; then CAB="$c"; break; fi
|
if [ -f "$c" ]; then CAB="$c"; break; fi
|
||||||
done
|
done
|
||||||
|
|||||||
Vendored
+34
-3
@@ -1,5 +1,36 @@
|
|||||||
# third_party
|
# third_party
|
||||||
|
|
||||||
- `speech.h` — Microsoft Speech API 4.0 SDK header (`speech.h`), the same file
|
Vendored dependencies. Everything the tool needs to run is kept here so the project
|
||||||
referenced from the SAPI4 resources in `docs/NOTES.md`. It is vendored here so the
|
does not depend on external downloads that can disappear. Only toolchain packages
|
||||||
host builds without any files outside the repository.
|
(Wine, Winelib, ffmpeg, python3, unshield, mingw) are installed by the system.
|
||||||
|
|
||||||
|
## speech.h
|
||||||
|
|
||||||
|
`speech.h` — Microsoft Speech API 4.0 SDK header. Used by `host/sapi4host.c`. Copied
|
||||||
|
from the public SAPI4 header published in the community gist referenced by the asset
|
||||||
|
repository (see `docs/NOTES.md`).
|
||||||
|
|
||||||
|
## sapi4/
|
||||||
|
|
||||||
|
The SAPI4 runtime and the MSTTS (Sam/Mary/Mike) voices, extracted from the original
|
||||||
|
Microsoft installers. Private archival copies; do not redistribute.
|
||||||
|
|
||||||
|
- `spchapi/SPEECH.DLL`, `spchapi/SPCHAPI.INF` — SAPI4 runtime and its registration INF.
|
||||||
|
- `msttsl/msttssyn.dll`, `msttsl/*.vce`, `msttsl/*.cfg`, `msttsl/mstts.inf` — MSTTS
|
||||||
|
engine, voice data and registration.
|
||||||
|
- `installers/spchapi.exe`, `installers/msttsl.exe` — original installers, kept for
|
||||||
|
completeness (the extracted files above are what `setup-prefix.sh` uses).
|
||||||
|
|
||||||
|
## flextalk/
|
||||||
|
|
||||||
|
- `data1.cab` — InstallShield cabinet with the AT&T Flextalk 2.1 engine and the
|
||||||
|
"Keith Bell" / "Kerry Watson" voices (the archive.org package).
|
||||||
|
`setup/install.sh` extracts it with `unshield -O` into `flextalk/extracted/`
|
||||||
|
(gitignored).
|
||||||
|
|
||||||
|
## nettts-reference/
|
||||||
|
|
||||||
|
- `vox_parser.cpp`, `vox_parser.hpp` — the VOX prosody encoder from
|
||||||
|
[h4rm0n1c/NetTTS](https://github.com/h4rm0n1c/NetTTS), kept as the reference for
|
||||||
|
validating `setup/vox_parser.py`. Upstream declares no license; these files are
|
||||||
|
reference-only and are not linked into anything we ship.
|
||||||
|
|||||||
Vendored
BIN
Binary file not shown.
+744
@@ -0,0 +1,744 @@
|
|||||||
|
#include "vox_parser.hpp"
|
||||||
|
#include <vector>
|
||||||
|
#include <regex>
|
||||||
|
#include <cwctype>
|
||||||
|
#include <sstream>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
static inline std::wstring trim(const std::wstring& s){
|
||||||
|
size_t a=0,b=s.size();
|
||||||
|
while(a<b && iswspace(s[a])) ++a;
|
||||||
|
while(b>a && iswspace(s[b-1])) --b;
|
||||||
|
return s.substr(a,b-a);
|
||||||
|
}
|
||||||
|
static inline std::wstring to_lower(std::wstring s){
|
||||||
|
for(auto& c: s) c=(wchar_t)towlower(c);
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
static inline bool is_all_digits(const std::wstring& t){
|
||||||
|
if(t.empty()) return false;
|
||||||
|
for(wchar_t c: t) if(!iswdigit(c)) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
static inline bool is_titlecase_word(const std::wstring& t){
|
||||||
|
if(t.empty()) return false;
|
||||||
|
if(!iswalpha(t[0]) || !iswupper(t[0])) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
static inline std::wstring strip_trailing_punct(std::wstring t){
|
||||||
|
while(!t.empty()){
|
||||||
|
wchar_t c = t.back();
|
||||||
|
if(c==L','||c==L'.'||c==L';'||c==L':'||c==L'!'||c==L'?'||c==L'"'||c==L'\'') t.pop_back();
|
||||||
|
else break;
|
||||||
|
}
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
static inline bool ends_with_br(const std::wstring& s){
|
||||||
|
size_t n = s.size();
|
||||||
|
return n >= 5 && s.compare(n-5, 5, L" \\!br") == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sentence splitter (keeps terminator punctuation attached)
|
||||||
|
static std::vector<std::wstring> split_sentences(const std::wstring& in){
|
||||||
|
std::vector<std::wstring> out;
|
||||||
|
std::wstring cur;
|
||||||
|
for(size_t i=0;i<in.size();++i){
|
||||||
|
wchar_t c = in[i];
|
||||||
|
cur.push_back(c);
|
||||||
|
if(c==L'.' || c==L'!' || c==L'?'){
|
||||||
|
size_t j=i+1;
|
||||||
|
while(j<in.size() && (in[j]==L'"' || in[j]==L'\'')) { cur.push_back(in[j]); ++j; }
|
||||||
|
out.push_back(trim(cur));
|
||||||
|
cur.clear();
|
||||||
|
i = j-1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
std::wstring tail = trim(cur);
|
||||||
|
if(!tail.empty()) out.push_back(tail);
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lead-in break after short opening phrases
|
||||||
|
static void apply_leadin_break(std::wstring& s){
|
||||||
|
static const std::wregex r(LR"(^\s*((?:Now|Please|A\s+reminder|On\s+behalf\s+of|Good\s+(?:morning|evening)|This\s+(?:automated\s+train|tram)))\b)",
|
||||||
|
std::regex_constants::icase);
|
||||||
|
std::wsmatch m;
|
||||||
|
if(std::regex_search(s, m, r)){
|
||||||
|
std::wstring head = trim(m.str(0));
|
||||||
|
std::wstring rest = trim(s.substr(m.length()));
|
||||||
|
s = head + L" \\!br " + rest;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// “the” -> “thee”
|
||||||
|
// - Backward rule: after preps (to/for/of/in/on/at) or "on behalf of"
|
||||||
|
// - NEW Forward rule: before TitleCase, single letter (X or X:), or a number
|
||||||
|
// Robust across \!br tags; preserves trailing punctuation.
|
||||||
|
static void apply_thee_rule(std::wstring& s){
|
||||||
|
// tokenize by whitespace; keep tags as tokens
|
||||||
|
std::wstringstream ss(s);
|
||||||
|
std::vector<std::wstring> tok; std::wstring t;
|
||||||
|
while (ss >> t) tok.push_back(t);
|
||||||
|
if (tok.empty()) return;
|
||||||
|
|
||||||
|
auto is_tag = [](const std::wstring& w){
|
||||||
|
return (w==L"\\!br" || w==L"\\!wH1" || w==L"\\!wH0");
|
||||||
|
};
|
||||||
|
auto to_lower_copy = [](std::wstring v){ for (auto& c: v) c=(wchar_t)towlower(c); return v; };
|
||||||
|
|
||||||
|
// split trailing punctuation; return (core, punctTail)
|
||||||
|
auto split_tail = [](const std::wstring& x)->std::pair<std::wstring,std::wstring>{
|
||||||
|
std::wstring core=x, tail;
|
||||||
|
while (!core.empty()){
|
||||||
|
wchar_t c = core.back();
|
||||||
|
if (c==L','||c==L'.'||c==L';'||c==L':'||c==L'!'||c==L'?'||c==L'"'||c==L'\''){
|
||||||
|
tail.insert(tail.begin(), c);
|
||||||
|
core.pop_back();
|
||||||
|
} else break;
|
||||||
|
}
|
||||||
|
return {core, tail};
|
||||||
|
};
|
||||||
|
|
||||||
|
auto clean_lower = [&](const std::wstring& x)->std::wstring{
|
||||||
|
auto p = split_tail(x);
|
||||||
|
return to_lower_copy(p.first);
|
||||||
|
};
|
||||||
|
auto bare = [&](const std::wstring& x)->std::wstring{
|
||||||
|
return split_tail(x).first;
|
||||||
|
};
|
||||||
|
|
||||||
|
auto prev_word = [&](int i, int nth)->std::wstring{
|
||||||
|
for (int k=i-1; k>=0; --k){
|
||||||
|
if (is_tag(tok[k])) continue;
|
||||||
|
if (--nth==0) return clean_lower(tok[k]);
|
||||||
|
}
|
||||||
|
return L"";
|
||||||
|
};
|
||||||
|
auto next_word = [&](int i, int nth)->std::wstring{
|
||||||
|
for (int k=i+1; k<(int)tok.size(); ++k){
|
||||||
|
if (is_tag(tok[k])) continue;
|
||||||
|
if (--nth==0) return tok[k]; // not lowered; we want case info
|
||||||
|
}
|
||||||
|
return L"";
|
||||||
|
};
|
||||||
|
|
||||||
|
auto is_prep = [&](const std::wstring& w)->bool{
|
||||||
|
std::wstring tl = to_lower_copy(w);
|
||||||
|
return (tl==L"to"||tl==L"for"||tl==L"of"||tl==L"in"||tl==L"on"||tl==L"at");
|
||||||
|
};
|
||||||
|
auto is_title = [&](const std::wstring& w)->bool{
|
||||||
|
auto b = bare(w);
|
||||||
|
return !b.empty() && iswalpha(b[0]) && iswupper(b[0]);
|
||||||
|
};
|
||||||
|
auto is_single_letter = [&](const std::wstring& w)->bool{
|
||||||
|
auto b = bare(w);
|
||||||
|
if (b.size()==1 && iswalpha(b[0]) && iswupper(b[0])) return true;
|
||||||
|
if (b.size()==2 && iswalpha(b[0]) && iswupper(b[0]) && b[1]==L':') return true;
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
auto is_number = [&](const std::wstring& w)->bool{
|
||||||
|
auto b = bare(w);
|
||||||
|
if (b.empty()) return false;
|
||||||
|
for (wchar_t c: b) if (!iswdigit(c)) return false;
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
|
for (int i=0; i<(int)tok.size(); ++i){
|
||||||
|
if (is_tag(tok[i])) continue;
|
||||||
|
|
||||||
|
auto [core, tail] = split_tail(tok[i]);
|
||||||
|
std::wstring cl = to_lower_copy(core);
|
||||||
|
if (cl != L"the") { tok[i] = core + tail; continue; }
|
||||||
|
|
||||||
|
bool make_thee = false;
|
||||||
|
|
||||||
|
// Backward (prepositions, incl. "on behalf of")
|
||||||
|
std::wstring p1 = prev_word(i, 1);
|
||||||
|
if (!p1.empty()){
|
||||||
|
if (is_prep(p1)) make_thee = true;
|
||||||
|
else if (to_lower_copy(p1) == L"of"){
|
||||||
|
std::wstring p2 = prev_word(i, 2);
|
||||||
|
std::wstring p3 = prev_word(i, 3);
|
||||||
|
if (to_lower_copy(p2)==L"behalf" && to_lower_copy(p3)==L"on") make_thee = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Forward (before proper names / letters / numbers)
|
||||||
|
if (!make_thee){
|
||||||
|
std::wstring n1 = next_word(i, 1);
|
||||||
|
if (!n1.empty()){
|
||||||
|
if (is_title(n1) || is_single_letter(n1) || is_number(n1)){
|
||||||
|
make_thee = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tok[i] = (make_thee ? L"thee" : core) + tail;
|
||||||
|
}
|
||||||
|
|
||||||
|
// rebuild
|
||||||
|
std::wstring out;
|
||||||
|
for (size_t i=0;i<tok.size();++i){
|
||||||
|
if (!out.empty()) out.push_back(L' ');
|
||||||
|
out += tok[i];
|
||||||
|
}
|
||||||
|
s.swap(out);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Times, degrees, and 3-digit decomposition
|
||||||
|
static void apply_time_numbers_degrees(std::wstring& s){
|
||||||
|
// 12h time like 8:47 AM / A.M. / PM … (eat any trailing dot after meridiem)
|
||||||
|
{
|
||||||
|
std::wregex t12(LR"(\b(\d{1,2})[:.](\d{2})\s*((?:A\.?M\.?)|(?:P\.?M\.?))(?:\.)?\b)", std::regex_constants::icase);
|
||||||
|
std::wstring out; out.reserve(s.size()+32);
|
||||||
|
std::wsregex_iterator it(s.begin(), s.end(), t12), end;
|
||||||
|
size_t last = 0;
|
||||||
|
for(; it!=end; ++it){
|
||||||
|
auto m = *it;
|
||||||
|
out.append(s, last, m.position()-last);
|
||||||
|
std::wstring hh = m.str(1);
|
||||||
|
std::wstring mm = m.str(2);
|
||||||
|
std::wstring ap = to_lower(m.str(3));
|
||||||
|
std::wstring ap1 = (ap[0]==L'p') ? L"P:" : L"Ay:";
|
||||||
|
out += hh + L" \\!br " + mm + L" \\!br " + ap1 + L" \\!br M:";
|
||||||
|
last = m.position() + m.length();
|
||||||
|
}
|
||||||
|
out.append(s, last, std::wstring::npos);
|
||||||
|
s.swap(out);
|
||||||
|
}
|
||||||
|
// “The time is 8 …” -> break before the hour
|
||||||
|
s = std::regex_replace(s,
|
||||||
|
std::wregex(LR"((\b[Tt]he\s+time\s+is)\s+(\d+))"),
|
||||||
|
L"$1 \\!br $2");
|
||||||
|
|
||||||
|
// 24h “HH00 hours” -> “HH \!br hundred \!br hours”
|
||||||
|
s = std::regex_replace(s,
|
||||||
|
std::wregex(LR"(\b(\d{2})00\s+hours\b)", std::regex_constants::icase),
|
||||||
|
L"$1 \\!br hundred \\!br hours");
|
||||||
|
|
||||||
|
// Three-digit non-round numbers: 105 -> “100 \!br and \!br 5” (strip leading zero in remainder)
|
||||||
|
{
|
||||||
|
std::wregex n3(LR"(\b([1-9])(\d)(\d)\b)");
|
||||||
|
std::wstring out; out.reserve(s.size()+32);
|
||||||
|
std::wsregex_iterator it(s.begin(), s.end(), n3), end;
|
||||||
|
size_t last = 0;
|
||||||
|
for(; it!=end; ++it){
|
||||||
|
auto m = *it;
|
||||||
|
std::wstring yz = m.str(2)+m.str(3);
|
||||||
|
if (yz == L"00") continue; // round, leave as-is
|
||||||
|
size_t nz = 0; while (nz < yz.size() && yz[nz]==L'0') ++nz;
|
||||||
|
std::wstring rem = yz.substr(nz);
|
||||||
|
out.append(s, last, m.position()-last);
|
||||||
|
out += m.str(1)+L"00 \\!br and \\!br " + (rem.empty()? yz : rem);
|
||||||
|
last = m.position() + m.length();
|
||||||
|
}
|
||||||
|
out.append(s, last, std::wstring::npos);
|
||||||
|
s.swap(out);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Degrees: “93 degrees” -> “93 \!br degrees \!br”
|
||||||
|
s = std::regex_replace(s,
|
||||||
|
std::wregex(LR"(\b(\d+)\s+degrees\b)", std::regex_constants::icase),
|
||||||
|
L"$1 \\!br degrees \\!br");
|
||||||
|
|
||||||
|
// Fix any lingering "M:." -> "M:" (meridiem shouldn’t carry a period)
|
||||||
|
s = std::regex_replace(s, std::wregex(LR"(M:\s*\.)"), L"M:");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Syllable heuristic
|
||||||
|
static int syllables(const std::wstring& w){
|
||||||
|
if(w.empty()) return 0;
|
||||||
|
std::wstring s; s.reserve(w.size());
|
||||||
|
for(wchar_t c: w) s.push_back((wchar_t)towlower(c));
|
||||||
|
auto isv=[&](wchar_t c){ return c==L'a'||c==L'e'||c==L'i'||c==L'o'||c==L'u'||c==L'y'; };
|
||||||
|
int count=0; bool in=false;
|
||||||
|
for(wchar_t c: s){ if(isv(c)){ if(!in){ ++count; in=true; } } else in=false; }
|
||||||
|
if(count>1 && s.size()>1 && s.back()==L'e' && !(s.size()>2 && s[s.size()-2]==L'l')) --count; // silent 'e' (not "...le")
|
||||||
|
if(s.size()>2 && s.back()==L'e' && s[s.size()-2]==L'l') ++count; // “…le”
|
||||||
|
return std::max(1,count);
|
||||||
|
}
|
||||||
|
|
||||||
|
enum Wt { LIGHT, MEDIUM, HEAVY };
|
||||||
|
|
||||||
|
static bool is_stop(const std::wstring& tl){
|
||||||
|
static const wchar_t* sw[] = {
|
||||||
|
L"the",L"thee",L"a",L"an",L"to",L"for",L"of",L"in",L"on",L"at",L"by",L"with",L"from",
|
||||||
|
L"as",L"is",L"are",L"was",L"were",L"this",L"that"
|
||||||
|
};
|
||||||
|
for(auto* w: sw) if(tl==w) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
static bool is_lightverb(const std::wstring& tl){
|
||||||
|
static const wchar_t* vw[] = {
|
||||||
|
L"welcome",L"wait",L"stand",L"provide",L"provided",L"return",L"remain",L"maintain",
|
||||||
|
L"maintained",L"verify",L"contact",L"board",L"arriving",L"inbound",L"bound",
|
||||||
|
L"commence",L"commences"
|
||||||
|
};
|
||||||
|
for(auto* w: vw) if(tl==w) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
static bool is_unit(const std::wstring& tl){
|
||||||
|
static const wchar_t* uw[] = { L"degrees", L"hours", L"percent", L"%" };
|
||||||
|
for(auto* w: uw) if(tl==w) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Wt weight(const std::wstring& tok){
|
||||||
|
if(tok.empty()) return LIGHT;
|
||||||
|
std::wstring pfree = strip_trailing_punct(tok);
|
||||||
|
std::wstring tl = to_lower(pfree);
|
||||||
|
if(is_stop(tl) || is_lightverb(tl)) return LIGHT;
|
||||||
|
if(is_all_digits(pfree)) return HEAVY;
|
||||||
|
if(pfree.find(L'-')!=std::wstring::npos) return HEAVY;
|
||||||
|
if(is_titlecase_word(pfree)) return HEAVY;
|
||||||
|
if(is_unit(tl)) return HEAVY;
|
||||||
|
int syl = syllables(pfree);
|
||||||
|
if(syl>=3 || pfree.size()>=8) return HEAVY; // long or many-syllable content words
|
||||||
|
return MEDIUM;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool is_and(const std::wstring& t){ return to_lower(strip_trailing_punct(t))==L"and"; }
|
||||||
|
static bool starts_with_punct(const std::wstring& t){
|
||||||
|
if(t.empty()) return false;
|
||||||
|
wchar_t c = t.front();
|
||||||
|
return (c==L'.'||c==L','||c==L';'||c==L':'||c==L'!'||c==L'?'||c==L')');
|
||||||
|
}
|
||||||
|
static bool is_open_punct(const std::wstring& t){
|
||||||
|
if(t.empty()) return false;
|
||||||
|
wchar_t c=t.front(); return (c==L'('||c==L'"'||c==L'\'');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tokenize on whitespace (keep punctuation with token)
|
||||||
|
static std::vector<std::wstring> tokenize_ws(const std::wstring& s){
|
||||||
|
std::wstringstream ss(s);
|
||||||
|
std::vector<std::wstring> v; std::wstring t;
|
||||||
|
while(ss >> t) v.push_back(t);
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Insert TitleCase run breaks and Area/Level/Sector blocks
|
||||||
|
static void emit_titlecase_run(const std::vector<std::wstring>& v, size_t i, size_t j, std::wstring& out){
|
||||||
|
// place a break before the run
|
||||||
|
if(!out.empty() && !ends_with_br(out)) out += L" \\!br";
|
||||||
|
for(size_t k=i;k<j;++k){
|
||||||
|
out += L" " + v[k] + L" \\!br";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Core beat builder (single pass), generic prosody.
|
||||||
|
// Keeps: TitleCase runs, Area/Level/Sector, "and" join, soft head span,
|
||||||
|
// comma/semicolon boundary, symmetric linker isolation [BR] linker [BR],
|
||||||
|
// heavy-gate, 3-beat limiter.
|
||||||
|
// NEW: Split hyphenated/en-dash/em-dash compounds into parts with breaks.
|
||||||
|
// Standalone -, –, — act as hard breaks (not spoken).
|
||||||
|
static std::wstring build_beats(const std::wstring& sentence){
|
||||||
|
auto v = tokenize_ws(sentence);
|
||||||
|
if(v.empty()) return sentence;
|
||||||
|
|
||||||
|
std::wstring out;
|
||||||
|
bool since_break_all_light = true;
|
||||||
|
Wt prev_w = LIGHT;
|
||||||
|
int content_run = 0; // consecutive MEDIUM/HEAVY since last break
|
||||||
|
|
||||||
|
auto reset_after_break = [&](){
|
||||||
|
since_break_all_light = true;
|
||||||
|
content_run = 0;
|
||||||
|
prev_w = LIGHT;
|
||||||
|
};
|
||||||
|
|
||||||
|
auto bare = [](const std::wstring& w){ return strip_trailing_punct(w); };
|
||||||
|
auto is_area_head = [&](const std::wstring& w){ return w==L"Area"||w==L"Level"||w==L"Sector"; };
|
||||||
|
auto is_tag = [&](const std::wstring& w){ return (w==L"\\!br" || w==L"\\!wH1" || w==L"\\!wH0"); };
|
||||||
|
auto lower = [&](std::wstring s){ return to_lower(std::move(s)); };
|
||||||
|
|
||||||
|
auto is_single_letter = [&](const std::wstring& w)->bool{
|
||||||
|
std::wstring b = bare(w);
|
||||||
|
if (b.size()==1 && iswalpha(b[0]) && iswupper(b[0])) return true; // C
|
||||||
|
if (b.size()==2 && iswalpha(b[0]) && iswupper(b[0]) && b[1]==L':') return true; // C:
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
// split trailing punctuation; return (core, punctTail)
|
||||||
|
auto split_tail = [](const std::wstring& x)->std::pair<std::wstring,std::wstring>{
|
||||||
|
std::wstring core=x, tail;
|
||||||
|
while (!core.empty()){
|
||||||
|
wchar_t c = core.back();
|
||||||
|
if (c==L','||c==L'.'||c==L';'||c==L':'||c==L'!'||c==L'?'||c==L'"'||c==L'\''){
|
||||||
|
tail.insert(tail.begin(), c);
|
||||||
|
core.pop_back();
|
||||||
|
} else break;
|
||||||
|
}
|
||||||
|
return {core, tail};
|
||||||
|
};
|
||||||
|
|
||||||
|
// emit hyphen/dash-split parts with breaks between them; keep tail on last part
|
||||||
|
auto emit_dash_split = [&](const std::wstring& tok)->bool{
|
||||||
|
auto [core, tail] = split_tail(tok);
|
||||||
|
// find internal separators
|
||||||
|
std::vector<size_t> cuts;
|
||||||
|
for(size_t p=0;p<core.size();++p){
|
||||||
|
wchar_t c = core[p];
|
||||||
|
if (c==L'-' || c==0x2013 /*–*/ || c==0x2014 /*—*/){
|
||||||
|
// only split if letters on both sides (avoid leading/trailing)
|
||||||
|
if (p>0 && p+1<core.size() && iswalpha(core[p-1]) && iswalpha(core[p+1]))
|
||||||
|
cuts.push_back(p);
|
||||||
|
else
|
||||||
|
return false; // treat as punctuation case elsewhere
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (cuts.empty()) return false;
|
||||||
|
|
||||||
|
size_t start = 0;
|
||||||
|
for(size_t idx=0; idx<=cuts.size(); ++idx){
|
||||||
|
size_t end = (idx<cuts.size() ? cuts[idx] : core.size());
|
||||||
|
std::wstring part = core.substr(start, end-start);
|
||||||
|
// spacing before part
|
||||||
|
if(!out.empty() && !ends_with_br(out) && !starts_with_punct(part) && !is_open_punct(part))
|
||||||
|
out.push_back(L' ');
|
||||||
|
// last part gets the tail
|
||||||
|
if (idx == cuts.size()) part += tail;
|
||||||
|
out += part;
|
||||||
|
// break after each part
|
||||||
|
if(!ends_with_br(out)) out += L" \\!br";
|
||||||
|
reset_after_break();
|
||||||
|
start = end + (idx<cuts.size() ? 1 : 0);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
|
for(size_t i=0;i<v.size();){
|
||||||
|
// ---- Proper-noun blocks ----
|
||||||
|
if (is_area_head(v[i])){
|
||||||
|
size_t j=i+1;
|
||||||
|
while(j<v.size()){
|
||||||
|
std::wstring wj = bare(v[j]);
|
||||||
|
if(is_all_digits(wj) || is_titlecase_word(wj)) ++j;
|
||||||
|
else break;
|
||||||
|
}
|
||||||
|
if(j>i+1){
|
||||||
|
emit_titlecase_run(v,i,j,out);
|
||||||
|
i=j;
|
||||||
|
reset_after_break();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (is_titlecase_word(bare(v[i]))){
|
||||||
|
size_t j=i;
|
||||||
|
while(j<v.size() && is_titlecase_word(bare(v[j]))) ++j;
|
||||||
|
if(j>=i+2){
|
||||||
|
emit_titlecase_run(v,i,j,out);
|
||||||
|
i=j;
|
||||||
|
reset_after_break();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- "and" between heavier items ----
|
||||||
|
if(is_and(v[i]) && i>0 && i+1<v.size()){
|
||||||
|
Wt lw = weight(v[i-1]);
|
||||||
|
Wt rw = weight(v[i+1]);
|
||||||
|
if(lw>=MEDIUM && rw>=MEDIUM){
|
||||||
|
if(!ends_with_br(out)) out += L" \\!br";
|
||||||
|
out += L" and \\!br";
|
||||||
|
++i;
|
||||||
|
reset_after_break();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- Standalone dash ( -, –, — ) => hard boundary ----
|
||||||
|
if (v[i]==L"-" || v[i]==L"\u2013" || v[i]==L"\u2014"){
|
||||||
|
if(!ends_with_br(out)) out += L" \\!br";
|
||||||
|
reset_after_break();
|
||||||
|
++i;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- Symmetric linker isolation: [BR] linker [BR] ----
|
||||||
|
{
|
||||||
|
std::wstring tok = v[i];
|
||||||
|
std::wstring tl = lower(bare(tok));
|
||||||
|
bool in_head_span = (i < 2);
|
||||||
|
if (!in_head_span && (tl==L"at" || tl==L"in" || tl==L"on" || tl==L"to"
|
||||||
|
|| tl==L"of" || tl==L"for"|| tl==L"from"|| tl==L"by")){
|
||||||
|
if(!ends_with_br(out)) out += L" \\!br"; // BEFORE linker
|
||||||
|
reset_after_break();
|
||||||
|
|
||||||
|
if(!out.empty() && !starts_with_punct(tok) && !is_open_punct(tok)) out.push_back(L' ');
|
||||||
|
out += tok;
|
||||||
|
|
||||||
|
if(!ends_with_br(out)) out += L" \\!br"; // AFTER linker
|
||||||
|
reset_after_break();
|
||||||
|
|
||||||
|
++i;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- Pre-copula break: put a beat BEFORE "is" when followed by determiner/contenty ----
|
||||||
|
{
|
||||||
|
std::wstring tl_is = to_lower(bare(v[i]));
|
||||||
|
bool in_head_span = (i < 2);
|
||||||
|
auto is_tag_local = [&](const std::wstring& w){ return (w==L"\\!br" || w==L"\\!wH1" || w==L"\\!wH0"); };
|
||||||
|
|
||||||
|
auto is_single_letter = [&](const std::wstring& w)->bool{
|
||||||
|
std::wstring b = strip_trailing_punct(w);
|
||||||
|
if (b.size()==1 && iswalpha(b[0]) && iswupper(b[0])) return true; // C
|
||||||
|
if (b.size()==2 && iswalpha(b[0]) && iswupper(b[0]) && b[1]==L':') return true; // C:
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
auto is_determiner = [&](const std::wstring& w)->bool{
|
||||||
|
std::wstring b = to_lower(strip_trailing_punct(w));
|
||||||
|
return (b==L"the"||b==L"thee"||b==L"a"||b==L"an"||
|
||||||
|
b==L"this"||b==L"that"||b==L"these"||b==L"those"||
|
||||||
|
b==L"some"||b==L"any"||b==L"each"||b==L"every"||b==L"no");
|
||||||
|
};
|
||||||
|
|
||||||
|
if (!in_head_span && tl_is == L"is") {
|
||||||
|
// peek next non-tag token
|
||||||
|
size_t k = i + 1;
|
||||||
|
while (k < v.size() && is_tag_local(v[k])) ++k;
|
||||||
|
|
||||||
|
bool trigger = false;
|
||||||
|
if (k < v.size()) {
|
||||||
|
const std::wstring& n1 = v[k];
|
||||||
|
if (is_determiner(n1) ||
|
||||||
|
is_titlecase_word(strip_trailing_punct(n1)) ||
|
||||||
|
is_all_digits(strip_trailing_punct(n1)) ||
|
||||||
|
is_single_letter(n1) ||
|
||||||
|
weight(n1) == HEAVY)
|
||||||
|
{
|
||||||
|
trigger = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (trigger && !ends_with_br(out)) {
|
||||||
|
out += L" \\!br";
|
||||||
|
// reset run state like a real boundary
|
||||||
|
since_break_all_light = true;
|
||||||
|
content_run = 0;
|
||||||
|
prev_w = LIGHT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- Hyphenated / en-dash / em-dash compounds inside token ----
|
||||||
|
if (emit_dash_split(v[i])) { ++i; continue; }
|
||||||
|
|
||||||
|
// ---- Generic token logic ----
|
||||||
|
std::wstring tok = v[i];
|
||||||
|
Wt w_eff = weight(tok); // effective weight; may be softened at sentence start
|
||||||
|
|
||||||
|
// Soft-start: first two tokens—avoid pre-breaks unless necessary.
|
||||||
|
bool in_head_span = (i < 2);
|
||||||
|
if (i==0 && is_titlecase_word(bare(tok))) {
|
||||||
|
bool next_is_title = (i+1 < v.size()) && is_titlecase_word(bare(v[i+1]));
|
||||||
|
if (!next_is_title && w_eff == HEAVY) w_eff = MEDIUM; // e.g., "Good evening"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- HEAVY-GATE ----
|
||||||
|
if (w_eff==HEAVY && content_run >= 1){
|
||||||
|
int k = static_cast<int>(i) - 1;
|
||||||
|
while (k >= 0 && is_tag(v[k])) --k;
|
||||||
|
bool exempt = false;
|
||||||
|
if (k >= 0){
|
||||||
|
std::wstring prev = v[k];
|
||||||
|
if (is_titlecase_word(bare(prev)) || is_all_digits(bare(prev)) || is_single_letter(prev)) {
|
||||||
|
exempt = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!exempt){
|
||||||
|
if(!ends_with_br(out)) out += L" \\!br";
|
||||||
|
reset_after_break();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3-beat limiter
|
||||||
|
if (w_eff==HEAVY && content_run >= 2){
|
||||||
|
if(!ends_with_br(out)) out += L" \\!br";
|
||||||
|
reset_after_break();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Heavy after only LIGHT (but not inside head span)
|
||||||
|
if (w_eff==HEAVY && since_break_all_light && !in_head_span){
|
||||||
|
if(!out.empty() && !ends_with_br(out)) out += L" \\!br";
|
||||||
|
reset_after_break();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Heavy-Heavy adjacency (outside TitleCase run)
|
||||||
|
if (i>0 && prev_w==HEAVY && w_eff==HEAVY && !in_head_span){
|
||||||
|
if(!ends_with_br(out)) out += L" \\!br";
|
||||||
|
reset_after_break();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Append token with spacing
|
||||||
|
if(!out.empty() && !starts_with_punct(tok) && !is_open_punct(tok)) out.push_back(L' ');
|
||||||
|
out += tok;
|
||||||
|
|
||||||
|
// Punctuation boundary: break after ',' or ';'
|
||||||
|
if (!tok.empty()){
|
||||||
|
wchar_t last = tok.back();
|
||||||
|
if ((last==L',' || last==L';') && !ends_with_br(out)){
|
||||||
|
out += L" \\!br";
|
||||||
|
reset_after_break();
|
||||||
|
++i;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update run stats
|
||||||
|
if (w_eff==LIGHT){
|
||||||
|
// remain in light span
|
||||||
|
}else{
|
||||||
|
++content_run; // MEDIUM or HEAVY
|
||||||
|
since_break_all_light = false;
|
||||||
|
}
|
||||||
|
prev_w = w_eff;
|
||||||
|
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
|
||||||
|
return trim(out);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Tidy spaces and tags
|
||||||
|
static std::wstring tidy(const std::wstring& s){
|
||||||
|
std::wstring t = std::regex_replace(s, std::wregex(LR"(\s+)"), L" "); // collapse spaces
|
||||||
|
t = std::regex_replace(t, std::wregex(LR"(\s*\\!br\s*)"), L" \\!br "); // normalize tag spacing
|
||||||
|
t = std::regex_replace(t, std::wregex(LR"((\s*\\!br\s*){2,})"), L" \\!br "); // collapse multiple breaks
|
||||||
|
t = std::regex_replace(t, std::wregex(LR"(\s+([.,!?;:]))"), L"$1"); // no space before punctuation
|
||||||
|
// trimyou
|
||||||
|
size_t a=0,b=t.size();
|
||||||
|
while(a<b && iswspace(t[a])) ++a;
|
||||||
|
while(b>a && iswspace(t[b-1])) --b;
|
||||||
|
return t.substr(a,b-a);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Convert standalone letters into stable "letter tokens" for FlexTalk.
|
||||||
|
// - "A:" / "a:" / bare "A"/"a" near a boundary -> "Ay:"
|
||||||
|
// - any single UPPERCASE letter near a boundary -> "X:" (exactly one colon)
|
||||||
|
// Boundaries are start/end or a \!br tag on either side. We preserve trailing punctuation.
|
||||||
|
static void normalize_letter_tokens(std::wstring& s){
|
||||||
|
// split by whitespace; keep tags as tokens
|
||||||
|
std::wstringstream ss(s);
|
||||||
|
std::vector<std::wstring> tok; std::wstring t;
|
||||||
|
while (ss >> t) tok.push_back(t);
|
||||||
|
if (tok.empty()) return;
|
||||||
|
|
||||||
|
auto is_tag = [](const std::wstring& w){
|
||||||
|
return (w==L"\\!br" || w==L"\\!wH1" || w==L"\\!wH0");
|
||||||
|
};
|
||||||
|
|
||||||
|
// strip trailing punctuation, but lift out a single trailing ':' as a flag
|
||||||
|
auto split_tail = [](const std::wstring& x)->std::tuple<std::wstring,bool,std::wstring>{
|
||||||
|
std::wstring core = x, punct;
|
||||||
|
bool had_colon = false;
|
||||||
|
// peel general punctuation, but remember a single trailing ':'
|
||||||
|
while(!core.empty()){
|
||||||
|
wchar_t c = core.back();
|
||||||
|
if(c==L':' && !had_colon){ had_colon = true; core.pop_back(); continue; }
|
||||||
|
if(c==L','||c==L'.'||c==L';'||c==L'!'||c==L'?'||c==L'"'||c==L'\''){
|
||||||
|
punct.insert(punct.begin(), c);
|
||||||
|
core.pop_back();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return {core, had_colon, punct};
|
||||||
|
};
|
||||||
|
|
||||||
|
auto is_boundary = [&](int idx)->bool{
|
||||||
|
return (idx < 0 || idx >= (int)tok.size() || is_tag(tok[idx]));
|
||||||
|
};
|
||||||
|
|
||||||
|
for (int i=0;i<(int)tok.size();++i){
|
||||||
|
if (is_tag(tok[i])) continue;
|
||||||
|
|
||||||
|
auto [coreOrig, had_colon, tail] = split_tail(tok[i]);
|
||||||
|
std::wstring core = coreOrig;
|
||||||
|
|
||||||
|
const bool near_left = is_boundary(i-1);
|
||||||
|
const bool near_right = is_boundary(i+1);
|
||||||
|
const bool near_bound = (near_left || near_right);
|
||||||
|
|
||||||
|
// Normalize A / a cases to "Ay:" when isolated or already written as A:
|
||||||
|
if ((core==L"A" || core==L"a") && (near_bound || had_colon)){
|
||||||
|
core = L"Ay";
|
||||||
|
had_colon = true; // ensure exactly one colon added below
|
||||||
|
}
|
||||||
|
// Any other single UPPERCASE letter becomes a letter token near a boundary
|
||||||
|
else if (core.size()==1 && iswalpha(core[0]) && iswupper(core[0]) && near_bound){
|
||||||
|
// ensure exactly one colon
|
||||||
|
// (if there was already one as trailing punct, we won't add another)
|
||||||
|
// special "A" handled above
|
||||||
|
had_colon = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reassemble: add colon iff had_colon is true, then the rest of punctuation
|
||||||
|
std::wstring rebuilt = core;
|
||||||
|
if (had_colon) rebuilt.push_back(L':');
|
||||||
|
rebuilt += tail;
|
||||||
|
|
||||||
|
tok[i] = rebuilt;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Rebuild s (tidy() will normalize spaces/tags later)
|
||||||
|
std::wstring out;
|
||||||
|
for (size_t i=0;i<tok.size();++i){
|
||||||
|
if (!out.empty()) out.push_back(L' ');
|
||||||
|
out += tok[i];
|
||||||
|
}
|
||||||
|
s.swap(out);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
std::wstring vox_process(const std::wstring& in, bool wrap_vox_tags){
|
||||||
|
auto sents = split_sentences(in);
|
||||||
|
std::wstring out;
|
||||||
|
for (auto sent : sents){
|
||||||
|
if (sent.empty()) continue;
|
||||||
|
|
||||||
|
// ORDER: make "thee" first, then lead-in, then time/nums
|
||||||
|
apply_thee_rule(sent);
|
||||||
|
apply_leadin_break(sent);
|
||||||
|
apply_time_numbers_degrees(sent);
|
||||||
|
|
||||||
|
// beats + letter normalization
|
||||||
|
std::wstring with_beats = build_beats(sent);
|
||||||
|
normalize_letter_tokens(with_beats);
|
||||||
|
with_beats = tidy(with_beats);
|
||||||
|
|
||||||
|
// sentence-end cadence: add ~300ms pause, then a boundary
|
||||||
|
if (!with_beats.empty() && with_beats.back()!=L' ') with_beats.push_back(L' ');
|
||||||
|
with_beats += L"\\!sf500 \\!br";
|
||||||
|
|
||||||
|
if (!out.empty()) out.push_back(L' ');
|
||||||
|
out += with_beats;
|
||||||
|
}
|
||||||
|
|
||||||
|
out = trim(out);
|
||||||
|
// collapse accidental double breaks from joins, normalize commas before breaks, etc.
|
||||||
|
out = std::regex_replace(out, std::wregex(LR"((\s*\\!br\s*){2,})"), L" \\!br ");
|
||||||
|
out = std::regex_replace(out, std::wregex(LR"(\\!br\s*([,;:]))"), L"$1 \\!br");
|
||||||
|
|
||||||
|
if (!out.empty()) {
|
||||||
|
if (wrap_vox_tags) {
|
||||||
|
out = L"\\!wH1 " + out + L" \\!wH0 ";
|
||||||
|
} else {
|
||||||
|
out = out + L" ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
// Transform plain text into FlexTalk VOX style with vendor tags.
|
||||||
|
// - Wraps with \!wH1 ... \!wH0 (trailing space after \!wH0 for safety)
|
||||||
|
// - Inserts \!br at sentence ends & cadence points
|
||||||
|
// - Uses a generic prosody engine (no word-specific hacks)
|
||||||
|
std::wstring vox_process(const std::wstring& in, bool wrap_vox_tags);
|
||||||
BIN
Binary file not shown.
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
+185
@@ -0,0 +1,185 @@
|
|||||||
|
[Version]
|
||||||
|
Signature="$Chicago$"
|
||||||
|
AdvancedINF=2.5,"You need a new version of advpack.dll"
|
||||||
|
|
||||||
|
[SourceDisksNames]
|
||||||
|
1=%AppName%,,1
|
||||||
|
|
||||||
|
[DefaultInstall]
|
||||||
|
CustomDestination=MyCustomDestination
|
||||||
|
Copyfiles=LexTools,TTSFiles,InfSection
|
||||||
|
AddReg=TTSReg
|
||||||
|
DelFiles=DelOldTTSFiles
|
||||||
|
|
||||||
|
[DefaultInstall.NT]
|
||||||
|
CustomDestination=MyCustomDestination
|
||||||
|
Copyfiles=LexTools,TTSFiles,InfSection
|
||||||
|
AddReg=TTSReg
|
||||||
|
DelFiles=DelOldTTSFiles
|
||||||
|
|
||||||
|
[MyCustomDestination]
|
||||||
|
49010=ProgramFilesDestination,21
|
||||||
|
49000,49001,49002,49003=PackageDestination49000,5
|
||||||
|
|
||||||
|
[UninstallDestination]
|
||||||
|
49010=ProgramFilesDestination,5
|
||||||
|
49000=PackageDestination49000,5
|
||||||
|
|
||||||
|
[ProgramFilesDestination]
|
||||||
|
HKLM,software\microsoft\windows\currentversion,CommonFilesDir,"%InstallPrompt%","c:\program files\common files"
|
||||||
|
|
||||||
|
[PackageDestination49000]
|
||||||
|
HKLM,Software\Microsoft\MSTTS,InstallDir,"%InstallPrompt%","%49010%\%DefaultDir%"
|
||||||
|
|
||||||
|
[Uninstall]
|
||||||
|
BeginPrompt=BeginPromptSection
|
||||||
|
EndPrompt=EndPromptSection
|
||||||
|
RunPreSetupCommands=UninstallUserDict
|
||||||
|
CustomDestination=UninstallDestination
|
||||||
|
DelFiles=LexTools,TTSFiles,TTSFiles2
|
||||||
|
Deldirs=RemoveFolder
|
||||||
|
DelReg=DelRegSection
|
||||||
|
SmartReboot=I
|
||||||
|
Cleanup=1
|
||||||
|
|
||||||
|
[Uninstall.Quiet]
|
||||||
|
RunPreSetupCommands=UninstallUserDict
|
||||||
|
CustomDestination=UninstallDestination
|
||||||
|
DelFiles=LexTools,TTSFiles,TTSFiles2
|
||||||
|
Deldirs=RemoveFolder
|
||||||
|
DelReg=DelRegSection
|
||||||
|
SmartReboot=I
|
||||||
|
Cleanup=1
|
||||||
|
|
||||||
|
[UninstallUserDict]
|
||||||
|
%25%\delttsul.exe
|
||||||
|
|
||||||
|
[DestinationDirs]
|
||||||
|
TTSFiles=49000
|
||||||
|
TTSFiles2=49000
|
||||||
|
InfSection=17
|
||||||
|
DelOldTTSFiles=49000
|
||||||
|
LexTools=25
|
||||||
|
|
||||||
|
[LexTools]
|
||||||
|
delttsul.exe
|
||||||
|
|
||||||
|
[TTSFiles]
|
||||||
|
msttssyn.dll
|
||||||
|
female.vce
|
||||||
|
male.vce
|
||||||
|
sam.vce
|
||||||
|
female8.vce
|
||||||
|
male8.vce
|
||||||
|
female.cfg
|
||||||
|
male.cfg
|
||||||
|
sam.cfg
|
||||||
|
female8.cfg
|
||||||
|
male8.cfg
|
||||||
|
wraptts.dll
|
||||||
|
wttsf22.dll
|
||||||
|
wttsm22.dll
|
||||||
|
wttss22.dll
|
||||||
|
wttsa22.dll
|
||||||
|
wttsmm.dll
|
||||||
|
|
||||||
|
[TTSFiles2]
|
||||||
|
freddy.vce
|
||||||
|
brutus.vce
|
||||||
|
malew.vce
|
||||||
|
femalew.vce
|
||||||
|
|
||||||
|
[DelOldTTSFiles]
|
||||||
|
mark.vce
|
||||||
|
melanie.vce
|
||||||
|
mark8.vce
|
||||||
|
melanie8.vce
|
||||||
|
|
||||||
|
[InfSection]
|
||||||
|
msTTS.inf
|
||||||
|
|
||||||
|
[RemoveFolder]
|
||||||
|
%49000%
|
||||||
|
|
||||||
|
|
||||||
|
[TTSReg]
|
||||||
|
HKLM,Software\Voice\TextToSpeech\Engine,MSTTSSyn,,{E0725551-286F-11d0-8E73-00A0C9083363}
|
||||||
|
HKCR,CLSID\{E0725551-286F-11d0-8E73-00A0C9083363},,,"Microsoft TTS Engine"
|
||||||
|
HKCR,CLSID\{E0725551-286F-11d0-8E73-00A0C9083363}\InprocServer32,,,"%49000%\MSTTSSYN.dll"
|
||||||
|
HKCR,CLSID\{E0725551-286F-11d0-8E73-00A0C9083363}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
; use the following reg edit to see which version installed for ActiveX downloads
|
||||||
|
HKCR,CLSID\{161FA782-A52C-11d0-8D7C-00A0C9034A7E},,,"Downloadable Whistler 3.0"
|
||||||
|
HKCR,CLSID\{161FA782-A52C-11d0-8D7C-00A0C9034A7E}\Control,,,
|
||||||
|
HKCR,CLSID\{161FA782-A52C-11d0-8D7C-00A0C9034A7E}\InprocServer32,,,"%49000%\wraptts.dll"
|
||||||
|
HKCR,CLSID\{161FA782-A52C-11d0-8D7C-00A0C9034A7E}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{161FA782-A52C-11d0-8D7C-00A0C9034A7E}\MiscStatus,,,"0"
|
||||||
|
HKCR,CLSID\{161FA782-A52C-11d0-8D7C-00A0C9034A7E}\MiscStatus\1,,,"0132497"
|
||||||
|
HKCR,CLSID\{FD913800-5CA2-11d2-A1E6-00A0C913D1EF},,,"Downloadable Whistler 4.0"
|
||||||
|
HKCR,CLSID\{FD913800-5CA2-11d2-A1E6-00A0C913D1EF}\Control,,,
|
||||||
|
HKCR,CLSID\{FD913800-5CA2-11d2-A1E6-00A0C913D1EF}\InprocServer32,,,"%49000%\wttsf22.dll"
|
||||||
|
HKCR,CLSID\{FD913800-5CA2-11d2-A1E6-00A0C913D1EF}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{FD913800-5CA2-11d2-A1E6-00A0C913D1EF}\MiscStatus,,,"0"
|
||||||
|
HKCR,CLSID\{FD913800-5CA2-11d2-A1E6-00A0C913D1EF}\MiscStatus\1,,,"0132497"
|
||||||
|
HKCR,CLSID\{FD913801-5CA2-11d2-A1E6-00A0C913D1EF},,,"Downloadable Whistler 4.0"
|
||||||
|
HKCR,CLSID\{FD913801-5CA2-11d2-A1E6-00A0C913D1EF}\Control,,,
|
||||||
|
HKCR,CLSID\{FD913801-5CA2-11d2-A1E6-00A0C913D1EF}\InprocServer32,,,"%49000%\wttsm22.dll"
|
||||||
|
HKCR,CLSID\{FD913801-5CA2-11d2-A1E6-00A0C913D1EF}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{FD913801-5CA2-11d2-A1E6-00A0C913D1EF}\MiscStatus,,,"0"
|
||||||
|
HKCR,CLSID\{FD913801-5CA2-11d2-A1E6-00A0C913D1EF}\MiscStatus\1,,,"0132497"
|
||||||
|
HKCR,CLSID\{FD913802-5CA2-11d2-A1E6-00A0C913D1EF},,,"Downloadable Whistler 4.0"
|
||||||
|
HKCR,CLSID\{FD913802-5CA2-11d2-A1E6-00A0C913D1EF}\Control,,,
|
||||||
|
HKCR,CLSID\{FD913802-5CA2-11d2-A1E6-00A0C913D1EF}\InprocServer32,,,"%49000%\wttss22.dll"
|
||||||
|
HKCR,CLSID\{FD913802-5CA2-11d2-A1E6-00A0C913D1EF}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{FD913802-5CA2-11d2-A1E6-00A0C913D1EF}\MiscStatus,,,"0"
|
||||||
|
HKCR,CLSID\{FD913802-5CA2-11d2-A1E6-00A0C913D1EF}\MiscStatus\1,,,"0132497"
|
||||||
|
HKCR,CLSID\{FD913803-5CA2-11d2-A1E6-00A0C913D1EF},,,"Downloadable Whistler 4.0"
|
||||||
|
HKCR,CLSID\{FD913803-5CA2-11d2-A1E6-00A0C913D1EF}\Control,,,
|
||||||
|
HKCR,CLSID\{FD913803-5CA2-11d2-A1E6-00A0C913D1EF}\InprocServer32,,,"%49000%\wttsa22.dll"
|
||||||
|
HKCR,CLSID\{FD913803-5CA2-11d2-A1E6-00A0C913D1EF}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{FD913803-5CA2-11d2-A1E6-00A0C913D1EF}\MiscStatus,,,"0"
|
||||||
|
HKCR,CLSID\{FD913803-5CA2-11d2-A1E6-00A0C913D1EF}\MiscStatus\1,,,"0132497"
|
||||||
|
HKCR,CLSID\{FD913804-5CA2-11d2-A1E6-00A0C913D1EF},,,"Downloadable Whistler 4.0"
|
||||||
|
HKCR,CLSID\{FD913804-5CA2-11d2-A1E6-00A0C913D1EF}\Control,,,
|
||||||
|
HKCR,CLSID\{FD913804-5CA2-11d2-A1E6-00A0C913D1EF}\InprocServer32,,,"%49000%\wttsmm.dll"
|
||||||
|
HKCR,CLSID\{FD913804-5CA2-11d2-A1E6-00A0C913D1EF}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{FD913804-5CA2-11d2-A1E6-00A0C913D1EF}\MiscStatus,,,"0"
|
||||||
|
HKCR,CLSID\{FD913804-5CA2-11d2-A1E6-00A0C913D1EF}\MiscStatus\1,,,"0132497"
|
||||||
|
; cache information, so enumerates faster
|
||||||
|
HKLM,Software\Voice\TextToSpeech\Engine\{E0725551-286F-11d0-8E73-00A0C9083363},Dirty,1,1
|
||||||
|
|
||||||
|
|
||||||
|
; for uninstall
|
||||||
|
HKLM,Software\Microsoft\MSTTS,InstallDir,,"%49000%"
|
||||||
|
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\MSTTS,"DisplayName",,"%AppName%
|
||||||
|
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\MSTTS,"UninstallString",,"RunDll32 advpack.dll,LaunchINFSection %17%\msTTS.inf, Uninstall"
|
||||||
|
|
||||||
|
[DelRegSection]
|
||||||
|
HKCU,Software\Microsoft\Whisper
|
||||||
|
HKLM,Software\Voice\TextToSpeech\Engine,MSTTSSyn
|
||||||
|
HKCR,CLSID\{E0725551-286F-11d0-8E73-00A0C9083363}
|
||||||
|
HKCR,CLSID\{161FA782-A52C-11d0-8D7C-00A0C9034A7E}
|
||||||
|
HKCR,CLSID\{FD913800-5CA2-11d2-A1E6-00A0C913D1EF}
|
||||||
|
HKCR,CLSID\{FD913801-5CA2-11d2-A1E6-00A0C913D1EF}
|
||||||
|
HKCR,CLSID\{FD913802-5CA2-11d2-A1E6-00A0C913D1EF}
|
||||||
|
HKCR,CLSID\{FD913803-5CA2-11d2-A1E6-00A0C913D1EF}
|
||||||
|
HKCR,CLSID\{FD913804-5CA2-11d2-A1E6-00A0C913D1EF}
|
||||||
|
HKLM,Software\Voice\TextToSpeech\Engine\{E0725551-286F-11d0-8E73-00A0C9083363}
|
||||||
|
|
||||||
|
; uninstall
|
||||||
|
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\MSTTS
|
||||||
|
HKLM,Software\Microsoft\MSTTS
|
||||||
|
|
||||||
|
[BeginPromptSection]
|
||||||
|
Prompt=%BeginPrompt%
|
||||||
|
ButtonType=YESNO
|
||||||
|
Title=%AppName%
|
||||||
|
|
||||||
|
[EndPromptSection]
|
||||||
|
Prompt=%EndPrompt%
|
||||||
|
|
||||||
|
[Strings]
|
||||||
|
AppName="Microsoft Text-to-Speech Engine 4.0 (English)"
|
||||||
|
BeginPrompt="Are you sure you want to remove the Microsoft text-to-speech engine? It may prevent text-to-speech from working."
|
||||||
|
EndPrompt="Uninstall complete."
|
||||||
|
DefaultDir="microsoft shared\SpeechEngines\TTS"
|
||||||
|
|
||||||
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
+900
@@ -0,0 +1,900 @@
|
|||||||
|
[Version]
|
||||||
|
Signature="$Chicago$"
|
||||||
|
AdvancedINF=2.5,"You need a new version of advpack.dll"
|
||||||
|
|
||||||
|
[SourceDisksNames]
|
||||||
|
1=%AppName%,,1
|
||||||
|
|
||||||
|
[DefaultInstall]
|
||||||
|
CustomDestination=MyCustomDestination
|
||||||
|
Copyfiles=APIFiles,InfSection,VCRT
|
||||||
|
AddReg=APIReg
|
||||||
|
;RegisterOCXs=RegisterOCXSection
|
||||||
|
|
||||||
|
[DefaultInstall.NT]
|
||||||
|
CustomDestination=MyCustomDestination
|
||||||
|
Copyfiles=APIFiles,InfSection,VCRT
|
||||||
|
AddReg=APIReg
|
||||||
|
;RegisterOCXs=RegisterOCXSection
|
||||||
|
|
||||||
|
[MyCustomDestination]
|
||||||
|
49000,49001,49002,49003=PackageDestination49000,5
|
||||||
|
|
||||||
|
[UninstallDestination]
|
||||||
|
49000=UninstallDestination49000,5
|
||||||
|
|
||||||
|
[PackageDestination49000]
|
||||||
|
HKLM,Software\Microsoft\SpeechAPI,InstallDir,"%InstallPrompt%","%25%\speech"
|
||||||
|
|
||||||
|
[UninstallDestination49000]
|
||||||
|
HKLM,Software\Microsoft\SpeechAPI,InstallDir,"%InstallPrompt%","%25%\speech"
|
||||||
|
|
||||||
|
[Uninstall]
|
||||||
|
;BeginPrompt=BeginPromptSection
|
||||||
|
;EndPrompt=EndPromptSection
|
||||||
|
CustomDestination=UninstallDestination
|
||||||
|
DelFiles=APIFiles,VCmdVDctFiles
|
||||||
|
Deldirs=RemoveFolder
|
||||||
|
DelReg=DelRegSection
|
||||||
|
SmartReboot=I
|
||||||
|
Cleanup=1
|
||||||
|
;UnRegisterOCXs=RegisterOCXSection
|
||||||
|
|
||||||
|
[DestinationDirs]
|
||||||
|
APIFiles=49000
|
||||||
|
VCmdVDctFiles=49000
|
||||||
|
InfSection=17
|
||||||
|
VCRT=11
|
||||||
|
|
||||||
|
[APIFiles]
|
||||||
|
speech.dll,,,96
|
||||||
|
spchtel.dll,,,96
|
||||||
|
vcmd.exe,,,96
|
||||||
|
vcauto.tlb,,,96
|
||||||
|
vtxtauto.tlb,,,96
|
||||||
|
vcmshl.dll,,,96
|
||||||
|
speech.hlp
|
||||||
|
speech.cnt
|
||||||
|
Xlisten.dll,,,96
|
||||||
|
Xvoice.dll,,,96
|
||||||
|
Xcommand.dll,,,96
|
||||||
|
Vdict.dll,,,96
|
||||||
|
VText.dll,,,96
|
||||||
|
XTel.Dll,,,96
|
||||||
|
WrapSAPI.dll,,,96
|
||||||
|
|
||||||
|
[VCRT]
|
||||||
|
msvcrt.dll,,,16
|
||||||
|
|
||||||
|
[InfSection]
|
||||||
|
spchapi.inf
|
||||||
|
|
||||||
|
[VCmdVDctFiles]
|
||||||
|
speech.gid
|
||||||
|
vcmd0001.vcd
|
||||||
|
vcmd0002.vcd
|
||||||
|
vcmd0003.vcd
|
||||||
|
vcmd0004.vcd
|
||||||
|
vcmd0005.vcd
|
||||||
|
vcmd0006.vcd
|
||||||
|
vcmd0007.vcd
|
||||||
|
vcmd0008.vcd
|
||||||
|
vcmd0009.vcd
|
||||||
|
vcmd0010.vcd
|
||||||
|
vcmd0011.vcd
|
||||||
|
vcmd0012.vcd
|
||||||
|
vcmd0013.vcd
|
||||||
|
vcmd0014.vcd
|
||||||
|
vcmd0015.vcd
|
||||||
|
vcmd0016.vcd
|
||||||
|
vcmd0017.vcd
|
||||||
|
vcmd0018.vcd
|
||||||
|
vcmd0019.vcd
|
||||||
|
vdct0001.dct
|
||||||
|
vdct0002.dct
|
||||||
|
vdct0003.dct
|
||||||
|
vdct0004.dct
|
||||||
|
vdct0005.dct
|
||||||
|
vdct0006.dct
|
||||||
|
vdct0007.dct
|
||||||
|
vdct0008.dct
|
||||||
|
vdct0009.dct
|
||||||
|
vdct0010.dct
|
||||||
|
vdct0011.dct
|
||||||
|
vdct0012.dct
|
||||||
|
vdct0013.dct
|
||||||
|
vdct0014.dct
|
||||||
|
vdct0015.dct
|
||||||
|
vdct0016.dct
|
||||||
|
vdct0017.dct
|
||||||
|
vdct0018.dct
|
||||||
|
vdct0019.dct
|
||||||
|
|
||||||
|
[RemoveFolder]
|
||||||
|
%49000%
|
||||||
|
|
||||||
|
|
||||||
|
[APIReg]
|
||||||
|
HKCR,CLSID\{C63A2B30-5543-11b9-C000-5611722E1D15},,,IVCmd_PSFactory
|
||||||
|
HKCR,CLSID\{C63A2B30-5543-11b9-C000-5611722E1D15}\InprocServer32,,,%49000%\vcmshl.dll
|
||||||
|
HKCR,CLSID\{6D40D820-0BA7-11ce-A166-00AA004CD65C},,,"Voice Command Manager"
|
||||||
|
HKCR,CLSID\{6D40D820-0BA7-11ce-A166-00AA004CD65C}\LocalServer32,,,%49000%\vcmd.exe
|
||||||
|
HKCR,CLSID\{F1DC95A0-0BA7-11ce-A166-00AA004CD65C},,,"Voice Text Manager"
|
||||||
|
HKCR,CLSID\{F1DC95A0-0BA7-11ce-A166-00AA004CD65C}\LocalServer32,,,%49000%\vcmd.exe
|
||||||
|
HKCR,CLSID\{B9BD3860-44DB-101B-90A8-00AA003E4B50},,,ISRShare_PSFactory
|
||||||
|
HKCR,CLSID\{B9BD3860-44DB-101B-90A8-00AA003E4B50}\InprocServer32,,,%49000%\vcmshl.dll
|
||||||
|
HKCR,CLSID\{89F70C30-8636-11ce-B763-00AA004CD65C},,,"Speech Recognition Enumerator/Share Object"
|
||||||
|
HKCR,CLSID\{89F70C30-8636-11ce-B763-00AA004CD65C}\LocalServer32,,,%49000%\vcmd.exe
|
||||||
|
HKCR,CLSID\{D67C0280-C743-11cd-80E5-00AA003E4B50},,,"Text to Speech Enumerator"
|
||||||
|
HKCR,CLSID\{D67C0280-C743-11cd-80E5-00AA003E4B50}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{D67C0280-C743-11cd-80E5-00AA003E4B50}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{554667BB-7213-11cf-B210-00AA00A215ED},,,"Lexicon Enumerator"
|
||||||
|
HKCR,CLSID\{554667BB-7213-11cf-B210-00AA00A215ED}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{554667BB-7213-11cf-B210-00AA00A215ED}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{CB96B400-C743-11cd-80E5-00AA003E4B50},,,"Audio Destination Object"
|
||||||
|
HKCR,CLSID\{CB96B400-C743-11cd-80E5-00AA003E4B50}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{CB96B400-C743-11cd-80E5-00AA003E4B50}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{E02D16C0-C743-11cd-80E5-00AA003E4B50},,,"Speech Recognition Enumerator"
|
||||||
|
HKCR,CLSID\{E02D16C0-C743-11cd-80E5-00AA003E4B50}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{E02D16C0-C743-11cd-80E5-00AA003E4B50}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{D24FE500-C743-11cd-80E5-00AA003E4B50},,,"Audio Source Object"
|
||||||
|
HKCR,CLSID\{D24FE500-C743-11cd-80E5-00AA003E4B50}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{D24FE500-C743-11cd-80E5-00AA003E4B50}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{D4023720-E4B9-11cf-8D56-00A0C9034A7E},,,"Instrumented Audio Source Object"
|
||||||
|
HKCR,CLSID\{D4023720-E4B9-11cf-8D56-00A0C9034A7E}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{D4023720-E4B9-11cf-8D56-00A0C9034A7E}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{D4123720-E4B9-11cf-8D56-00A0C9034A7E},,,"Suspeding Audio Source Object"
|
||||||
|
HKCR,CLSID\{D4123720-E4B9-11cf-8D56-00A0C9034A7E}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{D4123720-E4B9-11cf-8D56-00A0C9034A7E}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{D4523720-E4B9-11cf-8D56-00A0C9034A7E},,,"Audio Source from File Object"
|
||||||
|
HKCR,CLSID\{D4523720-E4B9-11cf-8D56-00A0C9034A7E}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{D4523720-E4B9-11cf-8D56-00A0C9034A7E}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{D4623720-E4B9-11cf-8D56-00A0C9034A7E},,,"Audio Destination to File Object"
|
||||||
|
HKCR,CLSID\{D4623720-E4B9-11cf-8D56-00A0C9034A7E}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{D4623720-E4B9-11cf-8D56-00A0C9034A7E}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{B9F11A90-90E3-11d0-8D77-00A0C9034A7E},,,"DirectSound Destination Object"
|
||||||
|
HKCR,CLSID\{B9F11A90-90E3-11d0-8D77-00A0C9034A7E}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{B9F11A90-90E3-11d0-8D77-00A0C9034A7E}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{32C35401-D04F-11d0-99B3-00AA004CD65C},,,"DirectSound Source Object"
|
||||||
|
HKCR,CLSID\{32C35401-D04F-11d0-99B3-00AA004CD65C}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{32C35401-D04F-11d0-99B3-00AA004CD65C}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{B9F11A95-90E3-11d0-8D77-00A0C9034A7E},,,"Microphone Setup Wizard"
|
||||||
|
HKCR,CLSID\{B9F11A95-90E3-11d0-8D77-00A0C9034A7E}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{B9F11A95-90E3-11d0-8D77-00A0C9034A7E}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{B9F11A96-90E3-11d0-8D77-00A0C9034A7E},,,"Phoneme Converter"
|
||||||
|
HKCR,CLSID\{B9F11A96-90E3-11d0-8D77-00A0C9034A7E}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{B9F11A96-90E3-11d0-8D77-00A0C9034A7E}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{70618F72-D1ED-11d0-8FAC-08002BE4E62A},,,"Speech Tools Grammar Compiler"
|
||||||
|
HKCR,CLSID\{70618F72-D1ED-11d0-8FAC-08002BE4E62A}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{70618F72-D1ED-11d0-8FAC-08002BE4E62A}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{EFD0E6BA-DB5F-11d0-8FAC-08002BE4E62A},,,"Speech Tools TTS Queue"
|
||||||
|
HKCR,CLSID\{EFD0E6BA-DB5F-11d0-8FAC-08002BE4E62A}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{EFD0E6BA-DB5F-11d0-8FAC-08002BE4E62A}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{B3613D9F-E26E-11d0-8FAC-08002BE4E62A},,,"Speech Tools Log"
|
||||||
|
HKCR,CLSID\{B3613D9F-E26E-11d0-8FAC-08002BE4E62A}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{B3613D9F-E26E-11d0-8FAC-08002BE4E62A}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{B3613DA0-E26E-11d0-8FAC-08002BE4E62A},,,"Logging Audio Source"
|
||||||
|
HKCR,CLSID\{B3613DA0-E26E-11d0-8FAC-08002BE4E62A}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{B3613DA0-E26E-11d0-8FAC-08002BE4E62A}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{2EC5A8A5-E65B-11d0-8FAC-08002BE4E62A},,,"Telephony Audio Source"
|
||||||
|
HKCR,CLSID\{2EC5A8A5-E65B-11d0-8FAC-08002BE4E62A}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{2EC5A8A5-E65B-11d0-8FAC-08002BE4E62A}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{2EC5A8A6-E65B-11d0-8FAC-08002BE4E62A},,,"Telephony Audio Destination"
|
||||||
|
HKCR,CLSID\{2EC5A8A6-E65B-11d0-8FAC-08002BE4E62A}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{2EC5A8A6-E65B-11d0-8FAC-08002BE4E62A}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{61935832-FC85-11d0-8FAE-08002BE4E62A},,,"Audio Record Object"
|
||||||
|
HKCR,CLSID\{61935832-FC85-11d0-8FAE-08002BE4E62A}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{61935832-FC85-11d0-8FAE-08002BE4E62A}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{92655FB1-ADF9-11d1-BEB9-006008317CE8},,,"Lexicon Dialog"
|
||||||
|
HKCR,CLSID\{92655FB1-ADF9-11d1-BEB9-006008317CE8}\InprocServer32,,,%49000%\Speech.dll
|
||||||
|
HKCR,CLSID\{92655FB1-ADF9-11d1-BEB9-006008317CE8}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
|
||||||
|
HKCR,CLSID\{F9D18BF8-E0ED-11d0-AB8B-08002BE4E3B7},,,"Telephony Controls Information Store"
|
||||||
|
HKCR,CLSID\{F9D18BF8-E0ED-11d0-AB8B-08002BE4E3B7}\InprocServer32,,,%49000%\SpchTel.dll
|
||||||
|
HKCR,CLSID\{F9D18BF8-E0ED-11d0-AB8B-08002BE4E3B7}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
|
||||||
|
HKCR,CLSID\{A26D7620-6FA0-11ce-A166-00AA004CD65C},,,"Voice Command Object"
|
||||||
|
HKCR,CLSID\{A26D7620-6FA0-11ce-A166-00AA004CD65C}\ProgID,,,Speech.VoiceCommand.1
|
||||||
|
HKCR,CLSID\{A26D7620-6FA0-11ce-A166-00AA004CD65C}\VersionIndependentProgID,,,Speech.VoiceCommand
|
||||||
|
HKCR,CLSID\{A26D7620-6FA0-11ce-A166-00AA004CD65C}\LocalServer32,,,%49000%\vcmd.exe
|
||||||
|
HKCR,CLSID\{FF2C7A52-78F9-11ce-B762-00AA004CD65C},,,"Voice Text Object"
|
||||||
|
HKCR,CLSID\{FF2C7A52-78F9-11ce-B762-00AA004CD65C}\ProgID,,,Speech.VoiceText.1
|
||||||
|
HKCR,CLSID\{FF2C7A52-78F9-11ce-B762-00AA004CD65C}\VersionIndependentProgID,,,Speech.VoiceText
|
||||||
|
HKCR,CLSID\{FF2C7A52-78F9-11ce-B762-00AA004CD65C}\LocalServer32,,,%49000%\vcmd.exe
|
||||||
|
HKCR,CLSID\{35522CA0-67CE-11cf-9B8B-08005AFC3A41},,,"Voice Dictation Manager"
|
||||||
|
HKCR,CLSID\{35522CA0-67CE-11cf-9B8B-08005AFC3A41}\LocalServer32,,,%49000%\vcmd.exe
|
||||||
|
|
||||||
|
HKCR,Speech.VoiceCommand,,,"VoiceCommand Application"
|
||||||
|
HKCR,Speech.VoiceCommand\Clsid,,,{A26D7620-6FA0-11ce-A166-00AA004CD65C}
|
||||||
|
HKCR,Speech.VoiceCommand.1,,,"VCmd Application"
|
||||||
|
HKCR,Speech.VoiceCommand.1\Clsid,,,{A26D7620-6FA0-11ce-A166-00AA004CD65C}
|
||||||
|
HKCR,TypeLib\{A26D7621-6FA0-11ce-A166-00AA004CD65C}
|
||||||
|
HKCR,TypeLib\{A26D7621-6FA0-11ce-A166-00AA004CD65C}\1.0,,,"Voice Command Object Library"
|
||||||
|
HKCR,TypeLib\{A26D7621-6FA0-11ce-A166-00AA004CD65C}\1.0\HELPDIR
|
||||||
|
HKCR,TypeLib\{A26D7621-6FA0-11ce-A166-00AA004CD65C}\1.0\409\win32,,,%49000%\vcauto.tlb
|
||||||
|
HKCR,Interface\{A26D7622-6FA0-11ce-A166-00AA004CD65C},,,IVCmdAuto
|
||||||
|
HKCR,Interface\{A26D7622-6FA0-11ce-A166-00AA004CD65C}\TypeLib,,,{A26D7621-6FA0-11ce-A166-00AA004CD65C}
|
||||||
|
HKCR,Interface\{A26D7622-6FA0-11ce-A166-00AA004CD65C}\ProxyStubClsid,,,{00020424-0000-0000-C000-000000000046}
|
||||||
|
HKCR,Interface\{A26D7622-6FA0-11ce-A166-00AA004CD65C}\ProxyStubClsid32,,,{00020424-0000-0000-C000-000000000046}
|
||||||
|
HKCR,Interface\{A26D7623-6FA0-11ce-A166-00AA004CD65C},,,IVCmdMenu
|
||||||
|
HKCR,Interface\{A26D7623-6FA0-11ce-A166-00AA004CD65C}\TypeLib,,,{A26D7621-6FA0-11ce-A166-00AA004CD65C}
|
||||||
|
HKCR,Interface\{A26D7623-6FA0-11ce-A166-00AA004CD65C}\ProxyStubClsid,,,{00020424-0000-0000-C000-000000000046}
|
||||||
|
HKCR,Interface\{A26D7623-6FA0-11ce-A166-00AA004CD65C}\ProxyStubClsid32,,,{00020424-0000-0000-C000-000000000046}
|
||||||
|
HKCR,Speech.VoiceText,,,"VoiceText Application"
|
||||||
|
HKCR,Speech.VoiceText\Clsid,,,{FF2C7A52-78F9-11ce-B762-00AA004CD65C}
|
||||||
|
HKCR,Speech.VoiceText.1,,,"VCmd Application"
|
||||||
|
HKCR,Speech.VoiceText.1\Clsid,,,{FF2C7A52-78F9-11ce-B762-00AA004CD65C}
|
||||||
|
HKCR,TypeLib\{FF2C7A51-78F9-11ce-B762-00AA004CD65C}
|
||||||
|
HKCR,TypeLib\{FF2C7A51-78F9-11ce-B762-00AA004CD65C}\1.0,,,"Voice Text Object Library"
|
||||||
|
HKCR,TypeLib\{FF2C7A51-78F9-11ce-B762-00AA004CD65C}\1.0\HELPDIR
|
||||||
|
HKCR,TypeLib\{FF2C7A51-78F9-11ce-B762-00AA004CD65C}\1.0\409\win32,,,%49000%\vtxtauto.tlb
|
||||||
|
HKCR,Interface\{FF2C7A50-78F9-11ce-B762-00AA004CD65C},,,IVTxtAuto
|
||||||
|
HKCR,Interface\{FF2C7A50-78F9-11ce-B762-00AA004CD65C}\TypeLib,,,{FF2C7A51-78F9-11ce-B762-00AA004CD65C}
|
||||||
|
HKCR,Interface\{FF2C7A50-78F9-11ce-B762-00AA004CD65C}\ProxyStubClsid,,,{00020424-0000-0000-C000-000000000046}
|
||||||
|
HKCR,Interface\{FF2C7A50-78F9-11ce-B762-00AA004CD65C}\ProxyStubClsid32,,,{00020424-0000-0000-C000-000000000046}
|
||||||
|
|
||||||
|
HKCR,Interface\{CCFD7A60-604D-101B-9926-00AA003CFC2C},,,IVCmdNotifySinkW
|
||||||
|
HKCR,Interface\{CCFD7A60-604D-101B-9926-00AA003CFC2C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{80B25CC0-5540-11b9-C000-5611722E1D15},,,IVCmdNotifySinkA
|
||||||
|
HKCR,Interface\{80B25CC0-5540-11b9-C000-5611722E1D15}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{D3CC0820-604D-101B-9926-00AA003CFC2C},,,IVCmdEnumW
|
||||||
|
HKCR,Interface\{D3CC0820-604D-101B-9926-00AA003CFC2C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{E86F9540-DCA2-11CD-A166-00AA004CD65C},,,IVCmdEnumA
|
||||||
|
HKCR,Interface\{E86F9540-DCA2-11CD-A166-00AA004CD65C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{DAC54F60-604D-101B-9926-00AA003CFC2C},,,IVCmdMenuW
|
||||||
|
HKCR,Interface\{DAC54F60-604D-101B-9926-00AA003CFC2C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{746141E0-5543-11b9-C000-5611722E1D15},,,IVCmdMenuA
|
||||||
|
HKCR,Interface\{746141E0-5543-11b9-C000-5611722E1D15}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{E0DCC220-604D-101B-9926-00AA003CFC2C},,,IVoiceCommandW
|
||||||
|
HKCR,Interface\{E0DCC220-604D-101B-9926-00AA003CFC2C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{C63A2B30-5543-11b9-C000-5611722E1D15},,,IVoiceCommandA
|
||||||
|
HKCR,Interface\{C63A2B30-5543-11b9-C000-5611722E1D15}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{D981C420-6053-101B-9926-00AA003CFC2C},,,IVCmdMenuSetW
|
||||||
|
HKCR,Interface\{D981C420-6053-101B-9926-00AA003CFC2C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{AEB2A680-5544-11b9-C000-5611722E1D15},,,IVCmdMenuSetA
|
||||||
|
HKCR,Interface\{AEB2A680-5544-11b9-C000-5611722E1D15}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{E5F24680-6053-101B-9926-00AA003CFC2C},,,IVCmdAttributesW
|
||||||
|
HKCR,Interface\{E5F24680-6053-101B-9926-00AA003CFC2C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{FFF5DF80-5544-11b9-C000-5611722E1D15},,,IVCmdAttributesA
|
||||||
|
HKCR,Interface\{FFF5DF80-5544-11b9-C000-5611722E1D15}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{EE39B8A0-6053-101B-9926-00AA003CFC2C},,,IVCmdDialogsW
|
||||||
|
HKCR,Interface\{EE39B8A0-6053-101B-9926-00AA003CFC2C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{AA8FE260-5545-11b9-C000-5611722E1D15},,,IVCmdDialogsA
|
||||||
|
HKCR,Interface\{AA8FE260-5545-11b9-C000-5611722E1D15}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{FD3A2430-E090-11cd-A166-00AA004CD65C},,,IVMsgNotifySinkW
|
||||||
|
HKCR,Interface\{FD3A2430-E090-11cd-A166-00AA004CD65C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{D2C840E0-E092-11cd-A166-00AA004CD65C},,,IVMsgNotifySinkA
|
||||||
|
HKCR,Interface\{D2C840E0-E092-11cd-A166-00AA004CD65C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{C4FE8740-E093-11cd-A166-00AA004CD65C},,,IVoiceMessageW
|
||||||
|
HKCR,Interface\{C4FE8740-E093-11cd-A166-00AA004CD65C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{E1B7A180-E093-11cd-A166-00AA004CD65C},,,IVoiceMessageA
|
||||||
|
HKCR,Interface\{E1B7A180-E093-11cd-A166-00AA004CD65C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{6A8D6140-E095-11cd-A166-00AA004CD65C},,,IVMsgAttributesW
|
||||||
|
HKCR,Interface\{6A8D6140-E095-11cd-A166-00AA004CD65C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{8BE9CC30-E095-11cd-A166-00AA004CD65C},,,IVMsgAttributesA
|
||||||
|
HKCR,Interface\{8BE9CC30-E095-11cd-A166-00AA004CD65C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{D6469210-E095-11cd-A166-00AA004CD65C},,,IVMsgDialogsW
|
||||||
|
HKCR,Interface\{D6469210-E095-11cd-A166-00AA004CD65C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{E8F6FA20-E095-11cd-A166-00AA004CD65C},,,IVMsgDialogsA
|
||||||
|
HKCR,Interface\{E8F6FA20-E095-11cd-A166-00AA004CD65C}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{2F440FB4-CE01-11cf-B234-00AA00A215ED},,,IVCmdNotifySinkExW
|
||||||
|
HKCR,Interface\{2F440FB4-CE01-11cf-B234-00AA00A215ED}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{2F440FB8-CE01-11cf-B234-00AA00A215ED},,,IVCmdNotifySinkExA
|
||||||
|
HKCR,Interface\{2F440FB8-CE01-11cf-B234-00AA00A215ED}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
|
||||||
|
HKCR,Interface\{68A33AA0-44CD-101B-90A8-00AA003E4B50},,,ISRAttributesW
|
||||||
|
HKCR,Interface\{68A33AA0-44CD-101B-90A8-00AA003E4B50}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{2F26B9C1-DB31-11CD-B3CA-00AA0047BA4F},,,ISRAttributesA
|
||||||
|
HKCR,Interface\{2F26B9C1-DB31-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{F106BFA0-C743-11CD-80E5-00AA003E4B50},,,ISRGramNotifySinkW
|
||||||
|
HKCR,Interface\{F106BFA0-C743-11CD-80E5-00AA003E4B50}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{EFEEA350-CE5E-11CD-9D96-00AA002FC7C9},,,ISRGramNotifySinkA
|
||||||
|
HKCR,Interface\{EFEEA350-CE5E-11CD-9D96-00AA002FC7C9}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{090CD9B0-DA1A-11CD-B3CA-00AA0047BA4F},,,ISRNotifySink
|
||||||
|
HKCR,Interface\{090CD9B0-DA1A-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{9B445332-E39F-11d1-BED7-006008317CE8},,,ISRNotifySink2
|
||||||
|
HKCR,Interface\{9B445332-E39F-11d1-BED7-006008317CE8}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{B9BD3860-44DB-101B-90A8-00AA003E4B50},,,ISRCentralW
|
||||||
|
HKCR,Interface\{B9BD3860-44DB-101B-90A8-00AA003E4B50}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{2F26B9C2-DB31-11CD-B3CA-00AA0047BA4F},,,ISRCentralA
|
||||||
|
HKCR,Interface\{2F26B9C2-DB31-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{BCFB4C60-44DB-101B-90A8-00AA003E4B50},,,ISRDialogsW
|
||||||
|
HKCR,Interface\{BCFB4C60-44DB-101B-90A8-00AA003E4B50}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C60-DBAB-11CD-B3CA-00AA0047BA4F},,,ISRDialogsA
|
||||||
|
HKCR,Interface\{05EB6C60-DBAB-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{9B445330-E39F-11d1-BED7-006008317CE8},,,ISRDialogs2W
|
||||||
|
HKCR,Interface\{9B445330-E39F-11d1-BED7-006008317CE8}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{9B445331-E39F-11d1-BED7-006008317CE8},,,ISRDialogs2A
|
||||||
|
HKCR,Interface\{9B445331-E39F-11d1-BED7-006008317CE8}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{BFA9F1A0-44DB-101B-90A8-00AA003E4B50},,,ISREnumW
|
||||||
|
HKCR,Interface\{BFA9F1A0-44DB-101B-90A8-00AA003E4B50}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C61-DBAB-11CD-B3CA-00AA0047BA4F},,,ISREnumA
|
||||||
|
HKCR,Interface\{05EB6C61-DBAB-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{C2835060-44DB-101B-90A8-00AA003E4B50},,,ISRFindW
|
||||||
|
HKCR,Interface\{C2835060-44DB-101B-90A8-00AA003E4B50}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C62-DBAB-11CD-B3CA-00AA0047BA4F},,,ISRFindA
|
||||||
|
HKCR,Interface\{05EB6C62-DBAB-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{E8C3E160-C743-11CD-80E5-00AA003E4B50},,,ISRGramCommonW
|
||||||
|
HKCR,Interface\{E8C3E160-C743-11CD-80E5-00AA003E4B50}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C63-DBAB-11CD-B3CA-00AA0047BA4F},,,ISRGramCommonA
|
||||||
|
HKCR,Interface\{05EB6C63-DBAB-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{ECC0B180-C743-11CD-80E5-00AA003E4B50},,,ISRGramCFGW
|
||||||
|
HKCR,Interface\{ECC0B180-C743-11CD-80E5-00AA003E4B50}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C64-DBAB-11CD-B3CA-00AA0047BA4F},,,ISRGramCFGA
|
||||||
|
HKCR,Interface\{05EB6C64-DBAB-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{090CD9A3-DA1A-11CD-B3CA-00AA0047BA4F},,,ISRGramDictationW
|
||||||
|
HKCR,Interface\{090CD9A3-DA1A-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C65-DBAB-11CD-B3CA-00AA0047BA4F},,,ISRGramDictationA
|
||||||
|
HKCR,Interface\{05EB6C65-DBAB-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{090CD9A4-DA1A-11CD-B3CA-00AA0047BA4F},,,ISRGramInsertionGUI
|
||||||
|
HKCR,Interface\{090CD9A4-DA1A-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{090CD9A5-DA1A-11CD-B3CA-00AA0047BA4F},,,ISRResBasicW
|
||||||
|
HKCR,Interface\{090CD9A5-DA1A-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C66-DBAB-11CD-B3CA-00AA0047BA4F},,,ISRResBasicA
|
||||||
|
HKCR,Interface\{05EB6C66-DBAB-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{090CD9A6-DA1A-11CD-B3CA-00AA0047BA4F},,,ISRResMerge
|
||||||
|
HKCR,Interface\{090CD9A6-DA1A-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{090CD9A7-DA1A-11CD-B3CA-00AA0047BA4F},,,ISRResAudio
|
||||||
|
HKCR,Interface\{090CD9A7-DA1A-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{aad74c30-4b02-11d1-b792-0060979841b4},,,ISRResAudioEx
|
||||||
|
HKCR,Interface\{aad74c30-4b02-11d1-b792-0060979841b4}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{090CD9A8-DA1A-11CD-B3CA-00AA0047BA4F},,,ISRResCorrectionW
|
||||||
|
HKCR,Interface\{090CD9A8-DA1A-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C67-DBAB-11CD-B3CA-00AA0047BA4F},,,ISRResCorrectionA
|
||||||
|
HKCR,Interface\{05EB6C67-DBAB-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{090CD9A9-DA1A-11CD-B3CA-00AA0047BA4F},,,ISRResEval
|
||||||
|
HKCR,Interface\{090CD9A9-DA1A-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{090CD9AA-DA1A-11CD-B3CA-00AA0047BA4F},,,ISRResGraphW
|
||||||
|
HKCR,Interface\{090CD9AA-DA1A-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C68-DBAB-11CD-B3CA-00AA0047BA4F},,,ISRResGraphA
|
||||||
|
HKCR,Interface\{05EB6C68-DBAB-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{be8f63a0-b915-11d1-b7bc-0060979841b4},,,ISRResGraphEx
|
||||||
|
HKCR,Interface\{be8f63a0-b915-11d1-b7bc-0060979841b4}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{090CD9AB-DA1A-11CD-B3CA-00AA0047BA4F},,,ISRResMemory
|
||||||
|
HKCR,Interface\{090CD9AB-DA1A-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{090CD9AC-DA1A-11CD-B3CA-00AA0047BA4F},,,ISRResModifyGUI
|
||||||
|
HKCR,Interface\{090CD9AC-DA1A-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{090CD9AD-DA1A-11CD-B3CA-00AA0047BA4F},,,ISRResSpeakerW
|
||||||
|
HKCR,Interface\{090CD9AD-DA1A-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C69-DBAB-11CD-B3CA-00AA0047BA4F},,,ISRResSpeakerA
|
||||||
|
HKCR,Interface\{05EB6C69-DBAB-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{9B445333-E39F-11d1-BED7-006008317CE8},,,ISRSpeakerW
|
||||||
|
HKCR,Interface\{9B445333-E39F-11d1-BED7-006008317CE8}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{9B445334-E39F-11d1-BED7-006008317CE8},,,ISRSpeakerA
|
||||||
|
HKCR,Interface\{9B445334-E39F-11d1-BED7-006008317CE8}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{090CD9AE-DA1A-11CD-B3CA-00AA0047BA4F},,,ISRSpeaker2W
|
||||||
|
HKCR,Interface\{090CD9AE-DA1A-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{090CD9AF-DA1A-11CD-B3CA-00AA0047BA4F},,,ISRSpeaker2A
|
||||||
|
HKCR,Interface\{090CD9AF-DA1A-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{E97F05C0-81B3-11ce-B763-00AA004CD65C},,,IEnumSRShareW
|
||||||
|
HKCR,Interface\{E97F05C0-81B3-11ce-B763-00AA004CD65C}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{E97F05C1-81B3-11ce-B763-00AA004CD65C},,,IEnumSRShareA
|
||||||
|
HKCR,Interface\{E97F05C1-81B3-11ce-B763-00AA004CD65C}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{0B37F1E0-B8DE-11cf-B22E-00AA00A215ED},,,ISRResScores
|
||||||
|
HKCR,Interface\{0B37F1E0-B8DE-11cf-B22E-00AA00A215ED}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{1D59DED1-E367-11d1-BED7-006008317CE8},,,IAttributesW
|
||||||
|
HKCR,Interface\{1D59DED1-E367-11d1-BED7-006008317CE8}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{1D59DED2-E367-11d1-BED7-006008317CE8},,,IAttributesA
|
||||||
|
HKCR,Interface\{1D59DED2-E367-11d1-BED7-006008317CE8}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{090CD9A2-DA1A-11CD-B3CA-00AA0047BA4F},,,ILexPronounceW
|
||||||
|
HKCR,Interface\{090CD9A2-DA1A-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{2F26B9C0-DB31-11CD-B3CA-00AA0047BA4F},,,ILexPronounceA
|
||||||
|
HKCR,Interface\{2F26B9C0-DB31-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{D6E56341-B3EA-11d1-AFA5-0000F81E880D},,,ILexPronounce2W
|
||||||
|
HKCR,Interface\{D6E56341-B3EA-11d1-AFA5-0000F81E880D}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{D6E56342-B3EA-11d1-AFA5-0000F81E880D},,,ILexPronounce2A
|
||||||
|
HKCR,Interface\{D6E56342-B3EA-11d1-AFA5-0000F81E880D}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{9B445335-E39F-11d1-BED7-006008317CE8},,,ISpchErrorW
|
||||||
|
HKCR,Interface\{9B445335-E39F-11d1-BED7-006008317CE8}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{9B445336-E39F-11d1-BED7-006008317CE8},,,ISpchErrorA
|
||||||
|
HKCR,Interface\{9B445336-E39F-11d1-BED7-006008317CE8}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
|
||||||
|
HKCR,Interface\{05EB6C6A-DBAB-11CD-B3CA-00AA0047BA4F},,,ITTSCentralA
|
||||||
|
HKCR,Interface\{05EB6C6A-DBAB-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{28016060-4A47-101B-931A-00AA0047BA4F},,,ITTSCentralW
|
||||||
|
HKCR,Interface\{28016060-4A47-101B-931A-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{0FD6E2A1-E77D-11CD-B3CA-00AA0047BA4F},,,ITTSAttributesA
|
||||||
|
HKCR,Interface\{0FD6E2A1-E77D-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{1287A280-4A47-101B-931A-00AA0047BA4F},,,ITTSAttributesW
|
||||||
|
HKCR,Interface\{1287A280-4A47-101B-931A-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{e4963d40-c743-11cd-80e5-00aa003e4b50},,,ITTSBufNotifySink
|
||||||
|
HKCR,Interface\{e4963d40-c743-11cd-80e5-00aa003e4b50}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C6B-DBAB-11CD-B3CA-00AA0047BA4F},,,ITTSDialogsA
|
||||||
|
HKCR,Interface\{05EB6C6B-DBAB-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{47F59D00-4A47-101B-931A-00AA0047BA4F},,,ITTSDialogsW
|
||||||
|
HKCR,Interface\{47F59D00-4A47-101B-931A-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C6D-DBAB-11CD-B3CA-00AA0047BA4F},,,ITTSEnumA
|
||||||
|
HKCR,Interface\{05EB6C6D-DBAB-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{6B837B20-4A47-101B-931A-00AA0047BA4F},,,ITTSEnumW
|
||||||
|
HKCR,Interface\{6B837B20-4A47-101B-931A-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C6E-DBAB-11CD-B3CA-00AA0047BA4F},,,ITTSFindA
|
||||||
|
HKCR,Interface\{05EB6C6E-DBAB-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{7AA42960-4A47-101B-931A-00AA0047BA4F},,,ITTSFindW
|
||||||
|
HKCR,Interface\{7AA42960-4A47-101B-931A-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C6F-DBAB-11CD-B3CA-00AA0047BA4F},,,ITTSNotifySinkA
|
||||||
|
HKCR,Interface\{05EB6C6F-DBAB-11CD-B3CA-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{C0FA8F40-4A46-101B-931A-00AA0047BA4F},,,ITTSNotifySinkW
|
||||||
|
HKCR,Interface\{C0FA8F40-4A46-101B-931A-00AA0047BA4F}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{599F77E2-E42E-11d1-BED8-006008317CE8},,,ITTSNotifySink2A
|
||||||
|
HKCR,Interface\{599F77E2-E42E-11d1-BED8-006008317CE8}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{599F77E1-E42E-11d1-BED8-006008317CE8},,,ITTSNotifySink2W
|
||||||
|
HKCR,Interface\{599F77E1-E42E-11d1-BED8-006008317CE8}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{F546B340-C743-11cd-80E5-00AA003E4B50},,,IAudio
|
||||||
|
HKCR,Interface\{F546B340-C743-11cd-80E5-00AA003E4B50}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{BC06A220-C743-11cd-80E5-00AA003E4B50},,,IAudioSource
|
||||||
|
HKCR,Interface\{BC06A220-C743-11cd-80E5-00AA003E4B50}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{2EC34DA0-C743-11cd-80E5-00AA003E4B50},,,IAudioDest
|
||||||
|
HKCR,Interface\{2EC34DA0-C743-11cd-80E5-00AA003E4B50}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{C0BD9A80-C743-11cd-80E5-00AA003E4B50},,,IAudioSourceNotifySink
|
||||||
|
HKCR,Interface\{C0BD9A80-C743-11cd-80E5-00AA003E4B50}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{ACB08C00-C743-11cd-80E5-00AA003E4B50},,,IAudioDestNotifySink
|
||||||
|
HKCR,Interface\{ACB08C00-C743-11cd-80E5-00AA003E4B50}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{492FE490-51E7-11b9-C000-FED6CBA3B1A9},,,IAudioFileNotifySink
|
||||||
|
HKCR,Interface\{492FE490-51E7-11b9-C000-FED6CBA3B1A9}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{FD7C2320-3D6D-11b9-C000-FED6CBA3B1A9},,,IAudioFile
|
||||||
|
HKCR,Interface\{FD7C2320-3D6D-11b9-C000-FED6CBA3B1A9}\ProxyStubClsid32,,,{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
|
||||||
|
HKCR,Interface\{88AD7DC3-67D5-11cf-9B8B-08005AFC3A41},,,IVoiceDictationW
|
||||||
|
HKCR,Interface\{88AD7DC3-67D5-11cf-9B8B-08005AFC3A41}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{88AD7DC4-67D5-11cf-9B8B-08005AFC3A41},,,IVoiceDictationA
|
||||||
|
HKCR,Interface\{88AD7DC4-67D5-11cf-9B8B-08005AFC3A41}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{6D62B3A0-6893-11cf-9B8B-08005AFC3A41},,,IVDctTextW
|
||||||
|
HKCR,Interface\{6D62B3A0-6893-11cf-9B8B-08005AFC3A41}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{6D62B3A1-6893-11cf-9B8B-08005AFC3A41},,,IVDctTextA
|
||||||
|
HKCR,Interface\{6D62B3A1-6893-11cf-9B8B-08005AFC3A41}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{238004E1-F0C4-11d1-BED9-006008317CE8},,,IVDctText2W
|
||||||
|
HKCR,Interface\{238004E1-F0C4-11d1-BED9-006008317CE8}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{238004E2-F0C4-11d1-BED9-006008317CE8},,,IVDctText2A
|
||||||
|
HKCR,Interface\{238004E2-F0C4-11d1-BED9-006008317CE8}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{238004E3-F0C4-11d1-BED9-006008317CE8},,,IVDctTextCache
|
||||||
|
HKCR,Interface\{238004E3-F0C4-11d1-BED9-006008317CE8}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{88AD7DC5-67D5-11cf-9B8B-08005AFC3A41},,,IVDctAttributesW
|
||||||
|
HKCR,Interface\{88AD7DC5-67D5-11cf-9B8B-08005AFC3A41}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{88AD7DC6-67D5-11cf-9B8B-08005AFC3A41},,,IVDctAttributesA
|
||||||
|
HKCR,Interface\{88AD7DC6-67D5-11cf-9B8B-08005AFC3A41}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{88AD7DC7-67D5-11cf-9B8B-08005AFC3A41},,,IVDctDialogsW
|
||||||
|
HKCR,Interface\{88AD7DC7-67D5-11cf-9B8B-08005AFC3A41}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{88AD7DC8-67D5-11cf-9B8B-08005AFC3A41},,,IVDctDialogsA
|
||||||
|
HKCR,Interface\{88AD7DC8-67D5-11cf-9B8B-08005AFC3A41}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{5FEB8800-67D5-11cf-9B8B-08005AFC3A41},,,IVDctNotifySinkW
|
||||||
|
HKCR,Interface\{5FEB8800-67D5-11cf-9B8B-08005AFC3A41}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{88AD7DC0-67D5-11cf-9B8B-08005AFC3A41},,,IVDctNotifySinkA
|
||||||
|
HKCR,Interface\{88AD7DC0-67D5-11cf-9B8B-08005AFC3A41}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{599F77E3-E42E-11d1-BED8-006008317CE8},,,IVDctNotifySink2W
|
||||||
|
HKCR,Interface\{599F77E3-E42E-11d1-BED8-006008317CE8}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{599F77E4-E42E-11d1-BED8-006008317CE8},,,IVDctNotifySink2A
|
||||||
|
HKCR,Interface\{599F77E4-E42E-11d1-BED8-006008317CE8}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{8953F1A0-7E80-11cf-8D15-00A0C9034A7E},,,IVDctGUI
|
||||||
|
HKCR,Interface\{8953F1A0-7E80-11cf-8D15-00A0C9034A7E}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{A02C2CA0-AE50-11cf-833A-00AA00A21A29},,,IVDctCommandsW
|
||||||
|
HKCR,Interface\{A02C2CA0-AE50-11cf-833A-00AA00A21A29}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{A02C2CA1-AE50-11cf-833A-00AA00A21A29},,,IVDctCommandsA
|
||||||
|
HKCR,Interface\{A02C2CA1-AE50-11cf-833A-00AA00A21A29}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{A02C2CA2-AE50-11cf-833A-00AA00A21A29},,,IVDctGlossaryW
|
||||||
|
HKCR,Interface\{A02C2CA2-AE50-11cf-833A-00AA00A21A29}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{A02C2CA3-AE50-11cf-833A-00AA00A21A29},,,IVDctGlossaryA
|
||||||
|
HKCR,Interface\{A02C2CA3-AE50-11cf-833A-00AA00A21A29}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{90A84EA0-6E51-11D0-9BC2-08005AFC3A41},,,IVDctInvTextNormW
|
||||||
|
HKCR,Interface\{90A84EA0-6E51-11D0-9BC2-08005AFC3A41}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{90A84EA1-6E51-11D0-9BC2-08005AFC3A41},,,IVDctInvTextNormA
|
||||||
|
HKCR,Interface\{90A84EA1-6E51-11D0-9BC2-08005AFC3A41}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{D4E3F8E0-6521-11d1-8C35-006097DF5D01},,,IVDctCommandsBuiltInW
|
||||||
|
HKCR,Interface\{D4E3F8E0-6521-11d1-8C35-006097DF5D01}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{D4E3F8E1-6521-11d1-8C35-006097DF5D01},,,IVDctCommandsAppW
|
||||||
|
HKCR,Interface\{D4E3F8E1-6521-11d1-8C35-006097DF5D01}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{8763AFD1-7ADE-11d1-BEA7-006008317CE8},,,IVDctCommandsBuiltInA
|
||||||
|
HKCR,Interface\{8763AFD1-7ADE-11d1-BEA7-006008317CE8}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{8763AFD2-7ADE-11d1-BEA7-006008317CE8},,,IVDctCommandsAppA
|
||||||
|
HKCR,Interface\{8763AFD2-7ADE-11d1-BEA7-006008317CE8}\ProxyStubClsid32,,,{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
|
||||||
|
; for uninstall
|
||||||
|
HKLM,Software\Microsoft\SpeechAPI,InstallDir,,%49000%
|
||||||
|
|
||||||
|
; controls
|
||||||
|
HKCR,CLSID\{53961A01-459B-11d1-BE77-006008317CE8},,,"Yes/No Control"
|
||||||
|
HKCR,CLSID\{53961A01-459B-11d1-BE77-006008317CE8}\InprocServer32,,,%49000%\spchtel.dll
|
||||||
|
HKCR,CLSID\{53961A01-459B-11d1-BE77-006008317CE8}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Yes/No Control",,"{53961A01-459B-11d1-BE77-006008317CE8}"
|
||||||
|
HKCR,CLSID\{53961A02-459B-11d1-BE77-006008317CE8},,,"Extension Control"
|
||||||
|
HKCR,CLSID\{53961A02-459B-11d1-BE77-006008317CE8}\InprocServer32,,,%49000%\spchtel.dll
|
||||||
|
HKCR,CLSID\{53961A02-459B-11d1-BE77-006008317CE8}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Extension Control",,"{53961A02-459B-11d1-BE77-006008317CE8}"
|
||||||
|
HKCR,CLSID\{53961A03-459B-11d1-BE77-006008317CE8},,,"Phone Number Control"
|
||||||
|
HKCR,CLSID\{53961A03-459B-11d1-BE77-006008317CE8}\InprocServer32,,,%49000%\spchtel.dll
|
||||||
|
HKCR,CLSID\{53961A03-459B-11d1-BE77-006008317CE8}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Phone Number Control",,"{53961A03-459B-11d1-BE77-006008317CE8}"
|
||||||
|
HKCR,CLSID\{53961A04-459B-11d1-BE77-006008317CE8},,,"Grammar Control"
|
||||||
|
HKCR,CLSID\{53961A04-459B-11d1-BE77-006008317CE8}\InprocServer32,,,%49000%\spchtel.dll
|
||||||
|
HKCR,CLSID\{53961A04-459B-11d1-BE77-006008317CE8}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Grammar Control",,"{53961A04-459B-11d1-BE77-006008317CE8}"
|
||||||
|
HKCR,CLSID\{53961A05-459B-11d1-BE77-006008317CE8},,,"Date Control"
|
||||||
|
HKCR,CLSID\{53961A05-459B-11d1-BE77-006008317CE8}\InprocServer32,,,%49000%\spchtel.dll
|
||||||
|
HKCR,CLSID\{53961A05-459B-11d1-BE77-006008317CE8}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Date Control",,"{53961A05-459B-11d1-BE77-006008317CE8}"
|
||||||
|
HKCR,CLSID\{53961A06-459B-11d1-BE77-006008317CE8},,,"Time Control"
|
||||||
|
HKCR,CLSID\{53961A06-459B-11d1-BE77-006008317CE8}\InprocServer32,,,%49000%\spchtel.dll
|
||||||
|
HKCR,CLSID\{53961A06-459B-11d1-BE77-006008317CE8}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Time Control",,"{53961A06-459B-11d1-BE77-006008317CE8}"
|
||||||
|
HKCR,CLSID\{53961A07-459B-11d1-BE77-006008317CE8},,,"Record Control"
|
||||||
|
HKCR,CLSID\{53961A07-459B-11d1-BE77-006008317CE8}\InprocServer32,,,%49000%\spchtel.dll
|
||||||
|
HKCR,CLSID\{53961A07-459B-11d1-BE77-006008317CE8}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Record Control",,"{53961A07-459B-11d1-BE77-006008317CE8}"
|
||||||
|
HKCR,CLSID\{53961A08-459B-11d1-BE77-006008317CE8},,,"Spelling Control"
|
||||||
|
HKCR,CLSID\{53961A08-459B-11d1-BE77-006008317CE8}\InprocServer32,,,%49000%\spchtel.dll
|
||||||
|
HKCR,CLSID\{53961A08-459B-11d1-BE77-006008317CE8}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Spelling Control",,"{53961A08-459B-11d1-BE77-006008317CE8}"
|
||||||
|
HKCR,CLSID\{53961A09-459B-11d1-BE77-006008317CE8},,,"Name Control"
|
||||||
|
HKCR,CLSID\{53961A09-459B-11d1-BE77-006008317CE8}\InprocServer32,,,%49000%\spchtel.dll
|
||||||
|
HKCR,CLSID\{53961A09-459B-11d1-BE77-006008317CE8}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Name Control",,"{53961A09-459B-11d1-BE77-006008317CE8}"
|
||||||
|
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI,"PronMailCompany",,"Microsoft"
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI,"PronMailAddRess",,"SpchData@Microsoft.com"
|
||||||
|
|
||||||
|
; ActiveX controls
|
||||||
|
;DirectSR
|
||||||
|
HKCR,CLSID\{4E3D9D1F-0C63-11D1-8BFB-0060081841DE},,,"DirectSR Class"
|
||||||
|
HKCR,CLSID\{4E3D9D1F-0C63-11D1-8BFB-0060081841DE}\InprocServer32,,,%49000%\Xlisten.dll
|
||||||
|
HKCR,CLSID\{4E3D9D1F-0C63-11D1-8BFB-0060081841DE}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{4E3D9D1F-0C63-11D1-8BFB-0060081841DE}\ProgId,,,"DirectSR.DirectSR.1"
|
||||||
|
HKCR,CLSID\{4E3D9D1F-0C63-11D1-8BFB-0060081841DE}\ToolboxBitmap32,,,"%49000%\Xlisten.dll,1"
|
||||||
|
HKCR,CLSID\{4E3D9D1F-0C63-11D1-8BFB-0060081841DE}\TypeLib,,,"{4E3D9D11-0C63-11D1-8BFB-0060081841DE}"
|
||||||
|
HKCR,CLSID\{4E3D9D1F-0C63-11D1-8BFB-0060081841DE}\Version,,,"1.0"
|
||||||
|
HKCR,CLSID\{4E3D9D1F-0C63-11D1-8BFB-0060081841DE}\VersionIndependendProgId,,,"DirectSR.DirectSR"
|
||||||
|
HKCR,CLSID\{4E3D9D1F-0C63-11D1-8BFB-0060081841DE}\Control
|
||||||
|
HKCR,CLSID\{4E3D9D1F-0C63-11D1-8BFB-0060081841DE}\Insertable
|
||||||
|
HKCR,CLSID\{4E3D9D1F-0C63-11D1-8BFB-0060081841DE}\Programmable
|
||||||
|
HKCR,CLSID\{4E3D9D1F-0C63-11D1-8BFB-0060081841DE}\MiscStatus
|
||||||
|
HKCR,CLSID\{4E3D9D1F-0C63-11D1-8BFB-0060081841DE}\MiscStatus\1,,,"131473"
|
||||||
|
HKCR,TypeLib\{4E3D9D11-0C63-11D1-8BFB-0060081841DE}
|
||||||
|
HKCR,TypeLib\{4E3D9D11-0C63-11D1-8BFB-0060081841DE}\1.0,,,"Microsoft Direct Speech Recognition"
|
||||||
|
HKCR,TypeLib\{4E3D9D11-0C63-11D1-8BFB-0060081841DE}\1.0\0\win32,,,"%49000%\Xlisten.dll"
|
||||||
|
|
||||||
|
;DirectSS
|
||||||
|
HKCR,CLSID\{EEE78591-FE22-11D0-8BEF-0060081841DE},,,"DirectSS Class"
|
||||||
|
HKCR,CLSID\{EEE78591-FE22-11D0-8BEF-0060081841DE}\InprocServer32,,,%49000%\XVoice.dll
|
||||||
|
HKCR,CLSID\{EEE78591-FE22-11D0-8BEF-0060081841DE}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{EEE78591-FE22-11D0-8BEF-0060081841DE}\ProgId,,,"DirectSS.DirectSS.1"
|
||||||
|
HKCR,CLSID\{EEE78591-FE22-11D0-8BEF-0060081841DE}\ToolboxBitmap32,,,"%49000%\XVoice.dll,1"
|
||||||
|
HKCR,CLSID\{EEE78591-FE22-11D0-8BEF-0060081841DE}\TypeLib,,,"{EEE78583-FE22-11D0-8BEF-0060081841DE}"
|
||||||
|
HKCR,CLSID\{EEE78591-FE22-11D0-8BEF-0060081841DE}\Version,,,"1.0"
|
||||||
|
HKCR,CLSID\{EEE78591-FE22-11D0-8BEF-0060081841DE}\VersionIndependendProgId,,,"DirectSS.DirectSS"
|
||||||
|
HKCR,CLSID\{EEE78591-FE22-11D0-8BEF-0060081841DE}\Control
|
||||||
|
HKCR,CLSID\{EEE78591-FE22-11D0-8BEF-0060081841DE}\Insertable
|
||||||
|
HKCR,CLSID\{EEE78591-FE22-11D0-8BEF-0060081841DE}\Programmable
|
||||||
|
HKCR,CLSID\{EEE78591-FE22-11D0-8BEF-0060081841DE}\MiscStatus
|
||||||
|
HKCR,CLSID\{EEE78591-FE22-11D0-8BEF-0060081841DE}\MiscStatus\1,,,"131473"
|
||||||
|
HKCR,TypeLib\{EEE78583-FE22-11D0-8BEF-0060081841DE}
|
||||||
|
HKCR,TypeLib\{EEE78583-FE22-11D0-8BEF-0060081841DE}\1.0,,,"Microsoft Direct Text-to-Speech"
|
||||||
|
HKCR,TypeLib\{EEE78583-FE22-11D0-8BEF-0060081841DE}\1.0\0\win32,,,"%49000%\XVoice.dll"
|
||||||
|
|
||||||
|
;Vcommand
|
||||||
|
HKCR,CLSID\{66523042-35FE-11D1-8C4D-0060081841DE},,,"VCommand Class"
|
||||||
|
HKCR,CLSID\{66523042-35FE-11D1-8C4D-0060081841DE}\InprocServer32,,,%49000%\Xcommand.dll
|
||||||
|
HKCR,CLSID\{66523042-35FE-11D1-8C4D-0060081841DE}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{66523042-35FE-11D1-8C4D-0060081841DE}\ProgId,,,"Vcommand.Vcommand.1"
|
||||||
|
HKCR,CLSID\{66523042-35FE-11D1-8C4D-0060081841DE}\ToolboxBitmap32,,,"%49000%\Xcommand.dll,1"
|
||||||
|
HKCR,CLSID\{66523042-35FE-11D1-8C4D-0060081841DE}\TypeLib,,,"{60462311-3373-11D1-8C43-0060081841DE}"
|
||||||
|
HKCR,CLSID\{66523042-35FE-11D1-8C4D-0060081841DE}\Version,,,"1.0"
|
||||||
|
HKCR,CLSID\{66523042-35FE-11D1-8C4D-0060081841DE}\VersionIndependendProgId,,,"Vcommand.Vcommand"
|
||||||
|
HKCR,CLSID\{66523042-35FE-11D1-8C4D-0060081841DE}\Control
|
||||||
|
HKCR,CLSID\{66523042-35FE-11D1-8C4D-0060081841DE}\Insertable
|
||||||
|
HKCR,CLSID\{66523042-35FE-11D1-8C4D-0060081841DE}\Programmable
|
||||||
|
HKCR,CLSID\{66523042-35FE-11D1-8C4D-0060081841DE}\MiscStatus
|
||||||
|
HKCR,CLSID\{66523042-35FE-11D1-8C4D-0060081841DE}\MiscStatus\1,,,"131473"
|
||||||
|
HKCR,TypeLib\{60462311-3373-11D1-8C43-0060081841DE}
|
||||||
|
HKCR,TypeLib\{60462311-3373-11D1-8C43-0060081841DE}\1.0,,,"Microsoft Voice Commands"
|
||||||
|
HKCR,TypeLib\{60462311-3373-11D1-8C43-0060081841DE}\1.0\0\win32,,,"%49000%\Xcommand.dll"
|
||||||
|
|
||||||
|
;Vdict
|
||||||
|
HKCR,CLSID\{582C2191-4016-11D1-8C55-0060081841DE},,,"VDict Class"
|
||||||
|
HKCR,CLSID\{582C2191-4016-11D1-8C55-0060081841DE}\InprocServer32,,,%49000%\Vdict.dll
|
||||||
|
HKCR,CLSID\{582C2191-4016-11D1-8C55-0060081841DE}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{582C2191-4016-11D1-8C55-0060081841DE}\ProgId,,,"Vdict.Vdict.1"
|
||||||
|
HKCR,CLSID\{582C2191-4016-11D1-8C55-0060081841DE}\ToolboxBitmap32,,,"%49000%\Vdict.dll,1"
|
||||||
|
HKCR,CLSID\{582C2191-4016-11D1-8C55-0060081841DE}\TypeLib,,,"{582C2183-4016-11D1-8C55-0060081841DE}"
|
||||||
|
HKCR,CLSID\{582C2191-4016-11D1-8C55-0060081841DE}\Version,,,"1.0"
|
||||||
|
HKCR,CLSID\{582C2191-4016-11D1-8C55-0060081841DE}\VersionIndependendProgId,,,"Vdict.Vdict"
|
||||||
|
HKCR,CLSID\{582C2191-4016-11D1-8C55-0060081841DE}\Control
|
||||||
|
HKCR,CLSID\{582C2191-4016-11D1-8C55-0060081841DE}\Insertable
|
||||||
|
HKCR,CLSID\{582C2191-4016-11D1-8C55-0060081841DE}\Programmable
|
||||||
|
HKCR,CLSID\{582C2191-4016-11D1-8C55-0060081841DE}\MiscStatus
|
||||||
|
HKCR,CLSID\{582C2191-4016-11D1-8C55-0060081841DE}\MiscStatus\1,,,"131473"
|
||||||
|
HKCR,TypeLib\{582C2183-4016-11D1-8C55-0060081841DE}
|
||||||
|
HKCR,TypeLib\{582C2183-4016-11D1-8C55-0060081841DE}\1.0,,,"Microsoft Voice Dictation"
|
||||||
|
HKCR,TypeLib\{582C2183-4016-11D1-8C55-0060081841DE}\1.0\0\win32,,,"%49000%\Vdict.dll"
|
||||||
|
|
||||||
|
;VText
|
||||||
|
HKCR,CLSID\{2398E32F-5C6E-11D1-8C65-0060081841DE},,,"TextToSpeech Class"
|
||||||
|
HKCR,CLSID\{2398E32F-5C6E-11D1-8C65-0060081841DE}\InprocServer32,,,%49000%\Vtext.dll
|
||||||
|
HKCR,CLSID\{2398E32F-5C6E-11D1-8C65-0060081841DE}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{2398E32F-5C6E-11D1-8C65-0060081841DE}\ProgId,,,"Vtext.Vtext.1"
|
||||||
|
HKCR,CLSID\{2398E32F-5C6E-11D1-8C65-0060081841DE}\ToolboxBitmap32,,,"%49000%\Vtext.dll,1"
|
||||||
|
HKCR,CLSID\{2398E32F-5C6E-11D1-8C65-0060081841DE}\TypeLib,,,"{2398E321-5C6E-11D1-8C65-0060081841DE}"
|
||||||
|
HKCR,CLSID\{2398E32F-5C6E-11D1-8C65-0060081841DE}\Version,,,"1.0"
|
||||||
|
HKCR,CLSID\{2398E32F-5C6E-11D1-8C65-0060081841DE}\VersionIndependendProgId,,,"Vtext.Vtext
|
||||||
|
HKCR,CLSID\{2398E32F-5C6E-11D1-8C65-0060081841DE}\Control
|
||||||
|
HKCR,CLSID\{2398E32F-5C6E-11D1-8C65-0060081841DE}\Insertable
|
||||||
|
HKCR,CLSID\{2398E32F-5C6E-11D1-8C65-0060081841DE}\Programmable
|
||||||
|
HKCR,CLSID\{2398E32F-5C6E-11D1-8C65-0060081841DE}\MiscStatus
|
||||||
|
HKCR,CLSID\{2398E32F-5C6E-11D1-8C65-0060081841DE}\MiscStatus\1,,,"131473"
|
||||||
|
HKCR,TypeLib\{2398E321-5C6E-11D1-8C65-0060081841DE}
|
||||||
|
HKCR,TypeLib\{2398E321-5C6E-11D1-8C65-0060081841DE}\1.0,,,"Microsoft Voice Text"
|
||||||
|
HKCR,TypeLib\{2398E321-5C6E-11D1-8C65-0060081841DE}\1.0\0\win32,,,"%49000%\Vtext.dll"
|
||||||
|
|
||||||
|
|
||||||
|
;Xtel
|
||||||
|
HKCR,CLSID\{FC9E740F-6058-11D1-8C66-0060081841DE},,,"Telephony Class"
|
||||||
|
HKCR,CLSID\{FC9E740F-6058-11D1-8C66-0060081841DE}\InprocServer32,,,%49000%\Xtel.dll
|
||||||
|
HKCR,CLSID\{FC9E740F-6058-11D1-8C66-0060081841DE}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{FC9E740F-6058-11D1-8C66-0060081841DE}\ProgId,,,"Xtel.XTel.1"
|
||||||
|
HKCR,CLSID\{FC9E740F-6058-11D1-8C66-0060081841DE}\ToolboxBitmap32,,,"%49000%\XTel.dll,1"
|
||||||
|
HKCR,CLSID\{FC9E740F-6058-11D1-8C66-0060081841DE}\TypeLib,,,"{FC9E7401-6058-11D1-8C66-0060081841DE}"
|
||||||
|
HKCR,CLSID\{FC9E740F-6058-11D1-8C66-0060081841DE}\Version,,,"1.0"
|
||||||
|
HKCR,CLSID\{FC9E740F-6058-11D1-8C66-0060081841DE}f\VersionIndependendProgId,,,"Xtel.Xtel"
|
||||||
|
HKCR,CLSID\{FC9E740F-6058-11D1-8C66-0060081841DE}\Control
|
||||||
|
HKCR,CLSID\{FC9E740F-6058-11D1-8C66-0060081841DE}\Insertable
|
||||||
|
HKCR,CLSID\{FC9E740F-6058-11D1-8C66-0060081841DE}\Programmable
|
||||||
|
HKCR,CLSID\{FC9E740F-6058-11D1-8C66-0060081841DE}\MiscStatus
|
||||||
|
HKCR,CLSID\{FC9E740F-6058-11D1-8C66-0060081841DE}\MiscStatus\1,,,"131473"
|
||||||
|
HKCR,TypeLib\{FC9E7401-6058-11D1-8C66-0060081841DE}
|
||||||
|
HKCR,TypeLib\{FC9E7401-6058-11D1-8C66-0060081841DE}\1.0,,,"Microsoft Telephony"
|
||||||
|
HKCR,TypeLib\{FC9E7401-6058-11D1-8C66-0060081841DE}\1.0\0\win32,,,"%49000%\Xtel.dll"
|
||||||
|
|
||||||
|
; Wrapper DLL
|
||||||
|
HKCR,CLSID\{0C7F3F20-8BAB-11d2-9432-00C04F8EF48F},,,"Downloadable Speech API"
|
||||||
|
HKCR,CLSID\{0C7F3F20-8BAB-11d2-9432-00C04F8EF48F}\Control,,,
|
||||||
|
HKCR,CLSID\{0C7F3F20-8BAB-11d2-9432-00C04F8EF48F}\InprocServer32,,,"%49000%\WrapSAPI.dll"
|
||||||
|
HKCR,CLSID\{0C7F3F20-8BAB-11d2-9432-00C04F8EF48F}\InprocServer32,ThreadingModel,,Apartment
|
||||||
|
HKCR,CLSID\{0C7F3F20-8BAB-11d2-9432-00C04F8EF48F}\MiscStatus,,,"0"
|
||||||
|
HKCR,CLSID\{0C7F3F20-8BAB-11d2-9432-00C04F8EF48F}\MiscStatus\1,,,"132497"
|
||||||
|
|
||||||
|
; Work around issues with Dragon NS
|
||||||
|
HKCR,CLSID\{05EB6C68-DBAB-11CD-B3CA-00AA0047BA4F}\InprocServer32
|
||||||
|
HKCR,CLSID\{090CD9AA-DA1A-11CD-B3CA-00AA0047BA4F}\InprocServer32
|
||||||
|
HKCR,CLSID\{090CD9A2-DA1A-11CD-B3CA-00AA0047BA4F}\InprocServer32
|
||||||
|
HKCR,CLSID\{2F26B9C0-DB31-11CD-B3CA-00AA0047BA4F}\InprocServer32
|
||||||
|
HKCR,CLSID\{090CD9AE-DA1A-11CD-B3CA-00AA0047BA4F}\InprocServer32
|
||||||
|
HKCR,CLSID\{090CD9AF-DA1A-11CD-B3CA-00AA0047BA4F}\InprocServer32
|
||||||
|
|
||||||
|
; cache information, to work around bugs encountered in older engines
|
||||||
|
HKLM,Software\Voice\TextToSpeech\Engine\{F063EDA0-8C65-11CF-8FC8-0020AF14F271},Dirty,1,1
|
||||||
|
HKLM,Software\Voice\TextToSpeech\Engine\{1B6BF820-9299-101B-8A19-265D428C60FF},Dirty,1,1
|
||||||
|
|
||||||
|
[DelRegSection]
|
||||||
|
HKCR,CLSID\{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,CLSID\{6D40D820-0BA7-11ce-A166-00AA004CD65C}
|
||||||
|
HKCR,CLSID\{F1DC95A0-0BA7-11ce-A166-00AA004CD65C}
|
||||||
|
HKCR,CLSID\{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,CLSID\{89F70C30-8636-11ce-B763-00AA004CD65C}
|
||||||
|
HKCR,CLSID\{D67C0280-C743-11cd-80E5-00AA003E4B50}
|
||||||
|
HKCR,CLSID\{CB96B400-C743-11cd-80E5-00AA003E4B50}
|
||||||
|
HKCR,CLSID\{E02D16C0-C743-11cd-80E5-00AA003E4B50}
|
||||||
|
HKCR,CLSID\{D24FE500-C743-11cd-80E5-00AA003E4B50}
|
||||||
|
HKCR,CLSID\{D4023720-E4B9-11cf-8D56-00A0C9034A7E}
|
||||||
|
HKCR,CLSID\{D4123720-E4B9-11cf-8D56-00A0C9034A7E}
|
||||||
|
HKCR,CLSID\{A26D7620-6FA0-11ce-A166-00AA004CD65C}
|
||||||
|
HKCR,CLSID\{FF2C7A52-78F9-11ce-B762-00AA004CD65C}
|
||||||
|
HKCR,CLSID\{35522CA0-67CE-11cf-9B8B-08005AFC3A41}
|
||||||
|
HKCR,CLSID\{554667BB-7213-11cf-B210-00AA00A215ED}
|
||||||
|
HKCR,CLSID\{B9F11A90-90E3-11d0-8D77-00A0C9034A7E}
|
||||||
|
HKCR,CLSID\{92655FB1-ADF9-11d1-BEB9-006008317CE8}
|
||||||
|
HKCR,CLSID\{32C35401-D04F-11d0-99B3-00AA004CD65C}
|
||||||
|
HKCR,CLSID\{B9F11A95-90E3-11d0-8D77-00A0C9034A7E}
|
||||||
|
HKCR,CLSID\{B9F11A96-90E3-11d0-8D77-00A0C9034A7E}
|
||||||
|
HKCR,CLSID\{D4523720-E4B9-11cf-8D56-00A0C9034A7E}
|
||||||
|
HKCR,CLSID\{D4623720-E4B9-11cf-8D56-00A0C9034A7E}
|
||||||
|
HKCR,CLSID\{B9F11A95-90E3-11d0-8D77-00A0C9034A7E}
|
||||||
|
HKCR,CLSID\{B9F11A96-90E3-11d0-8D77-00A0C9034A7E}
|
||||||
|
HKCR,CLSID\{70618F72-D1ED-11d0-8FAC-08002BE4E62A}
|
||||||
|
HKCR,CLSID\{EFD0E6BA-DB5F-11d0-8FAC-08002BE4E62A}
|
||||||
|
HKCR,CLSID\{B3613D9F-E26E-11d0-8FAC-08002BE4E62A}
|
||||||
|
HKCR,CLSID\{B3613DA0-E26E-11d0-8FAC-08002BE4E62A}
|
||||||
|
HKCR,CLSID\{2EC5A8A5-E65B-11d0-8FAC-08002BE4E62A}
|
||||||
|
HKCR,CLSID\{2EC5A8A6-E65B-11d0-8FAC-08002BE4E62A}
|
||||||
|
HKCR,CLSID\{F9D18BF8-E0ED-11d0-AB8B-08002BE4E3B7}
|
||||||
|
HKCR,CLSID\{D1352B68-E2B5-11d0-AB8B-08002BE4E3B7}
|
||||||
|
HKCR,CLSID\{61935832-FC85-11d0-8FAE-08002BE4E62A}
|
||||||
|
|
||||||
|
|
||||||
|
HKCR,Speech.VoiceCommand
|
||||||
|
HKCR,Speech.VoiceCommand.1
|
||||||
|
HKCR,TypeLib\{A26D7621-6FA0-11ce-A166-00AA004CD65C}
|
||||||
|
HKCR,Interface\{A26D7622-6FA0-11ce-A166-00AA004CD65C}
|
||||||
|
HKCR,Speech.VoiceText
|
||||||
|
HKCR,Speech.VoiceText.1
|
||||||
|
HKCR,TypeLib\{FF2C7A51-78F9-11ce-B762-00AA004CD65C}
|
||||||
|
HKCR,Interface\{FF2C7A50-78F9-11ce-B762-00AA004CD65C}
|
||||||
|
|
||||||
|
HKCR,Interface\{CCFD7A60-604D-101B-9926-00AA003CFC2C}
|
||||||
|
HKCR,Interface\{80B25CC0-5540-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{D3CC0820-604D-101B-9926-00AA003CFC2C}
|
||||||
|
HKCR,Interface\{E86F9540-DCA2-11CD-A166-00AA004CD65C}
|
||||||
|
HKCR,Interface\{DAC54F60-604D-101B-9926-00AA003CFC2C}
|
||||||
|
HKCR,Interface\{746141E0-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{E0DCC220-604D-101B-9926-00AA003CFC2C}
|
||||||
|
HKCR,Interface\{C63A2B30-5543-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{D981C420-6053-101B-9926-00AA003CFC2C}
|
||||||
|
HKCR,Interface\{AEB2A680-5544-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{E5F24680-6053-101B-9926-00AA003CFC2C}
|
||||||
|
HKCR,Interface\{FFF5DF80-5544-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{EE39B8A0-6053-101B-9926-00AA003CFC2C}
|
||||||
|
HKCR,Interface\{AA8FE260-5545-11b9-C000-5611722E1D15}
|
||||||
|
HKCR,Interface\{FD3A2430-E090-11cd-A166-00AA004CD65C}
|
||||||
|
HKCR,Interface\{D2C840E0-E092-11cd-A166-00AA004CD65C}
|
||||||
|
HKCR,Interface\{C4FE8740-E093-11cd-A166-00AA004CD65C}
|
||||||
|
HKCR,Interface\{E1B7A180-E093-11cd-A166-00AA004CD65C}
|
||||||
|
HKCR,Interface\{6A8D6140-E095-11cd-A166-00AA004CD65C}
|
||||||
|
HKCR,Interface\{8BE9CC30-E095-11cd-A166-00AA004CD65C}
|
||||||
|
HKCR,Interface\{D6469210-E095-11cd-A166-00AA004CD65C}
|
||||||
|
HKCR,Interface\{E8F6FA20-E095-11cd-A166-00AA004CD65C}
|
||||||
|
HKCR,Interface\{2F440FB4-CE01-11cf-B234-00AA00A215ED}
|
||||||
|
HKCR,Interface\{2F440FB8-CE01-11cf-B234-00AA00A215ED}
|
||||||
|
HKCR,Interface\{9B445332-E39F-11d1-BED7-006008317CE8}
|
||||||
|
HKCR,Interface\{be8f63a0-b915-11d1-b7bc-0060979841b4}
|
||||||
|
HKCR,Interface\{9B445333-E39F-11d1-BED7-006008317CE8}
|
||||||
|
HKCR,Interface\{9B445334-E39F-11d1-BED7-006008317CE8}
|
||||||
|
HKCR,Interface\{9B445335-E39F-11d1-BED7-006008317CE8}
|
||||||
|
HKCR,Interface\{9B445336-E39F-11d1-BED7-006008317CE8}
|
||||||
|
HKCR,Interface\{599F77E3-E42E-11d1-BED8-006008317CE8}
|
||||||
|
HKCR,Interface\{599F77E4-E42E-11d1-BED8-006008317CE8}
|
||||||
|
HKCR,Interface\{238004E1-F0C4-11d1-BED9-006008317CE8}
|
||||||
|
HKCR,Interface\{238004E2-F0C4-11d1-BED9-006008317CE8}
|
||||||
|
HKCR,Interface\{238004E3-F0C4-11d1-BED9-006008317CE8}
|
||||||
|
|
||||||
|
HKCR,Interface\{68A33AA0-44CD-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{2F26B9C1-DB31-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{F106BFA0-C743-11CD-80E5-00AA003E4B50}
|
||||||
|
HKCR,Interface\{EFEEA350-CE5E-11CD-9D96-00AA002FC7C9}
|
||||||
|
HKCR,Interface\{090CD9B0-DA1A-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{B9BD3860-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{2F26B9C2-DB31-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{BCFB4C60-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C60-DBAB-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{BFA9F1A0-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C61-DBAB-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{C2835060-44DB-101B-90A8-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C62-DBAB-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{E8C3E160-C743-11CD-80E5-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C63-DBAB-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{ECC0B180-C743-11CD-80E5-00AA003E4B50}
|
||||||
|
HKCR,Interface\{05EB6C64-DBAB-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{090CD9A3-DA1A-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{05EB6C65-DBAB-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{090CD9A4-DA1A-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{090CD9A5-DA1A-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{05EB6C66-DBAB-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{090CD9A6-DA1A-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{aad74c30-4b02-11d1-b792-0060979841b4}
|
||||||
|
HKCR,Interface\{090CD9A7-DA1A-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{090CD9A8-DA1A-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{05EB6C67-DBAB-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{090CD9A9-DA1A-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{090CD9AA-DA1A-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{05EB6C68-DBAB-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{090CD9AB-DA1A-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{090CD9AC-DA1A-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{090CD9AD-DA1A-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{05EB6C69-DBAB-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{090CD9AE-DA1A-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{090CD9AF-DA1A-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{E97F05C0-81B3-11ce-B763-00AA004CD65C}
|
||||||
|
HKCR,Interface\{E97F05C1-81B3-11ce-B763-00AA004CD65C}
|
||||||
|
HKCR,Interface\{0B37F1E0-B8DE-11cf-B22E-00AA00A215ED}
|
||||||
|
HKCR,Interface\{090CD9A2-DA1A-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{2F26B9C0-DB31-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{D6E56341-B3EA-11d1-AFA5-0000F81E880D}
|
||||||
|
HKCR,Interface\{D6E56342-B3EA-11d1-AFA5-0000F81E880D}
|
||||||
|
HKCR,Interface\{1D59DED1-E367-11d1-BED7-006008317CE8}
|
||||||
|
HKCR,Interface\{1D59DED2-E367-11d1-BED7-006008317CE8}
|
||||||
|
HKCR,Interface\{9B445330-E39F-11d1-BED7-006008317CE8}
|
||||||
|
HKCR,Interface\{9B445331-E39F-11d1-BED7-006008317CE8}
|
||||||
|
|
||||||
|
HKCR,Interface\{05EB6C6A-DBAB-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{28016060-4A47-101B-931A-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{0FD6E2A1-E77D-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{1287A280-4A47-101B-931A-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{e4963d40-c743-11cd-80e5-00aa003e4b50}
|
||||||
|
HKCR,Interface\{05EB6C6B-DBAB-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{47F59D00-4A47-101B-931A-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{05EB6C6D-DBAB-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{6B837B20-4A47-101B-931A-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{05EB6C6E-DBAB-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{7AA42960-4A47-101B-931A-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{05EB6C6F-DBAB-11CD-B3CA-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{C0FA8F40-4A46-101B-931A-00AA0047BA4F}
|
||||||
|
HKCR,Interface\{599F77E2-E42E-11d1-BED8-006008317CE8}
|
||||||
|
HKCR,Interface\{599F77E1-E42E-11d1-BED8-006008317CE8}
|
||||||
|
HKCR,Interface\{F546B340-C743-11cd-80E5-00AA003E4B50}
|
||||||
|
HKCR,Interface\{BC06A220-C743-11cd-80E5-00AA003E4B50}
|
||||||
|
HKCR,Interface\{2EC34DA0-C743-11cd-80E5-00AA003E4B50}
|
||||||
|
HKCR,Interface\{C0BD9A80-C743-11cd-80E5-00AA003E4B50}
|
||||||
|
HKCR,Interface\{ACB08C00-C743-11cd-80E5-00AA003E4B50}
|
||||||
|
HKCR,Interface\{492FE490-51E7-11b9-C000-FED6CBA3B1A9}
|
||||||
|
HKCR,Interface\{FD7C2320-3D6D-11b9-C000-FED6CBA3B1A9}
|
||||||
|
|
||||||
|
|
||||||
|
HKCR,Interface\{88AD7DC3-67D5-11cf-9B8B-08005AFC3A41}
|
||||||
|
HKCR,Interface\{88AD7DC4-67D5-11cf-9B8B-08005AFC3A41}
|
||||||
|
HKCR,Interface\{6D62B3A0-6893-11cf-9B8B-08005AFC3A41}
|
||||||
|
HKCR,Interface\{6D62B3A1-6893-11cf-9B8B-08005AFC3A41}
|
||||||
|
HKCR,Interface\{88AD7DC5-67D5-11cf-9B8B-08005AFC3A41}
|
||||||
|
HKCR,Interface\{88AD7DC6-67D5-11cf-9B8B-08005AFC3A41}
|
||||||
|
HKCR,Interface\{88AD7DC7-67D5-11cf-9B8B-08005AFC3A41}
|
||||||
|
HKCR,Interface\{88AD7DC8-67D5-11cf-9B8B-08005AFC3A41}
|
||||||
|
HKCR,Interface\{5FEB8800-67D5-11cf-9B8B-08005AFC3A41}
|
||||||
|
HKCR,Interface\{88AD7DC0-67D5-11cf-9B8B-08005AFC3A41}
|
||||||
|
HKCR,Interface\{8953F1A0-7E80-11cf-8D15-00A0C9034A7E}
|
||||||
|
HKCR,Interface\{A02C2CA0-AE50-11cf-833A-00AA00A21A29}
|
||||||
|
HKCR,Interface\{A02C2CA1-AE50-11cf-833A-00AA00A21A29}
|
||||||
|
HKCR,Interface\{A02C2CA2-AE50-11cf-833A-00AA00A21A29}
|
||||||
|
HKCR,Interface\{A02C2CA3-AE50-11cf-833A-00AA00A21A29}
|
||||||
|
HKCR,Interface\{90A84EA0-6E51-11D0-9BC2-08005AFC3A41}
|
||||||
|
HKCR,Interface\{90A84EA1-6E51-11D0-9BC2-08005AFC3A41}
|
||||||
|
HKCR,Interface\{D4E3F8E0-6521-11d1-8C35-006097DF5D01}
|
||||||
|
HKCR,Interface\{D4E3F8E1-6521-11d1-8C35-006097DF5D01}
|
||||||
|
HKCR,Interface\{8763AFD1-7ADE-11d1-BEA7-006008317CE8}
|
||||||
|
HKCR,Interface\{8763AFD2-7ADE-11d1-BEA7-006008317CE8}
|
||||||
|
|
||||||
|
; wrapper dll
|
||||||
|
HKCR,CLSID\{0C7F3F20-8BAB-11d2-9432-00C04F8EF48F}
|
||||||
|
|
||||||
|
; registry entries created by components
|
||||||
|
HKCU,Software\Voice
|
||||||
|
HKLM,Software\Voice\VoiceCommands
|
||||||
|
HKLM,Software\Voice\VoiceDictation
|
||||||
|
HKCU,Software\Microsoft\SpeechAPI
|
||||||
|
HKLM,Software\Microsoft\SpeechAPI
|
||||||
|
|
||||||
|
|
||||||
|
; uninstall
|
||||||
|
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\SpeechAPI
|
||||||
|
HKLM,Software\Microsoft\SpchAPI
|
||||||
|
|
||||||
|
HKCR,CLSID\{53961A01-459B-11d1-BE77-006008317CE8}
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Yes/No Control"
|
||||||
|
HKCR,CLSID\{53961A02-459B-11d1-BE77-006008317CE8}
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Extension Control"
|
||||||
|
HKCR,CLSID\{53961A03-459B-11d1-BE77-006008317CE8}
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Phone Number Control"
|
||||||
|
HKCR,CLSID\{53961A04-459B-11d1-BE77-006008317CE8}
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Grammar Control"
|
||||||
|
HKCR,CLSID\{53961A05-459B-11d1-BE77-006008317CE8}
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Date Control"
|
||||||
|
HKCR,CLSID\{53961A06-459B-11d1-BE77-006008317CE8}
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Time Control"
|
||||||
|
HKCR,CLSID\{53961A07-459B-11d1-BE77-006008317CE8}
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Record Control"
|
||||||
|
HKCR,CLSID\{53961A08-459B-11d1-BE77-006008317CE8}
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Spelling Control"
|
||||||
|
HKCR,CLSID\{53961A09-459B-11d1-BE77-006008317CE8}
|
||||||
|
HKLM,SOFTWARE\Microsoft\SpeechAPI\TelephonyControls,"Name Control"
|
||||||
|
|
||||||
|
|
||||||
|
; uninstall ActiveX controls
|
||||||
|
HKCR,CLSID\{4E3D9D1F-0C63-11D1-8BFB-0060081841DE},,,"DirectSR Class"
|
||||||
|
HKCR,CLSID\{EEE78591-FE22-11D0-8BEF-0060081841DE},,,"DirectSS Class"
|
||||||
|
HKCR,CLSID\{66523042-35FE-11D1-8C4D-0060081841DE},,,"VCommand Class"
|
||||||
|
HKCR,CLSID\{582C2191-4016-11D1-8C55-0060081841DE},,,"VDict Class"
|
||||||
|
HKCR,CLSID\{2398E32F-5C6E-11D1-8C65-0060081841DE},,,"TextToSpeech Class"
|
||||||
|
HKCR,CLSID\{FC9E740F-6058-11D1-8C66-0060081841DE},,,"Telephony Class"
|
||||||
|
|
||||||
|
|
||||||
|
[BeginPromptSection]
|
||||||
|
Prompt=%BeginPrompt%
|
||||||
|
ButtonType=YESNO
|
||||||
|
Title=%AppName%
|
||||||
|
|
||||||
|
[EndPromptSection]
|
||||||
|
Prompt=%EndPrompt%
|
||||||
|
|
||||||
|
[Strings]
|
||||||
|
AppName="Microsoft Speech API 4.0"
|
||||||
|
BeginPrompt="Are you sure you want to remove the Speech API? It will prevent speech recognition and text-to-speech from working."
|
||||||
|
EndPrompt="Uninstall complete. You may wish to uninstall any text-to-speech and speech recognition engines since they will no longer work."
|
||||||
|
|
||||||
|
;we dont register the OCX by default because oleaut32.dll and olepro32.dll are not
|
||||||
|
;up to date on clean win 95 gold machines; they are if you have an activex server
|
||||||
|
;like office or IE however.
|
||||||
|
;[RegisterOCXSection]
|
||||||
|
;%49000%\xvoice.dll
|
||||||
Vendored
BIN
Binary file not shown.
Reference in New Issue
Block a user