From 17635c7fa4924a5be06a1ac162c41931993b36e2 Mon Sep 17 00:00:00 2001 From: MeltyPlayer Date: Wed, 4 Oct 2023 20:13:09 -0500 Subject: [PATCH 01/14] Made some minor optimizations around array allocations. Switched one array allocation to a stackalloc, and pulled out another array allocated each time a method was called into a class field. --- SamSharp/Renderer/OutputBuffer.cs | 24 ++++++++++----------- SamSharp/Renderer/Renderer.ProcessFrames.cs | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/SamSharp/Renderer/OutputBuffer.cs b/SamSharp/Renderer/OutputBuffer.cs index b8cca0e0..bdfb551b 100644 --- a/SamSharp/Renderer/OutputBuffer.cs +++ b/SamSharp/Renderer/OutputBuffer.cs @@ -21,19 +21,19 @@ public void Write(int index, int a) Ary(index, new[] { scaled, scaled, scaled, scaled, scaled }); } - public void Ary(int index, int[] array) + // Timetable for more accurate C64 simulation + private readonly byte[] timetable = { - // Timetable for more accurate C64 simulation - var timetable = new[] - { - new[] { 162, 167, 167, 127, 128 }, // Formants synth - new[] { 226, 60, 60, 0, 0 }, // Unvoiced sample 0 - new[] { 225, 60, 59, 0, 0 }, // Unvoiced sample 1 - new[] { 200, 0, 0, 54, 55 }, // Voiced sample 0 - new[] { 199, 0, 0, 54, 54 }, // Voiced sample 1 - }; - - bufferPos += timetable[oldTimeTableIndex][index]; + 162, 167, 167, 127, 128, // Formants synth + 226, 60, 60, 0, 0, // Unvoiced sample 0 + 225, 60, 59, 0, 0, // Unvoiced sample 1 + 200, 0, 0, 54, 55, // Voiced sample 0 + 199, 0, 0, 54, 54, // Voiced sample 1 + }; + + public void Ary(int index, Span array) + { + bufferPos += timetable[5 * oldTimeTableIndex + index]; if (bufferPos / 50 > buffer.Length) throw new Exception($"Buffer overflow, want {bufferPos / 50} but buffer size is {buffer.Length}"); diff --git a/SamSharp/Renderer/Renderer.ProcessFrames.cs b/SamSharp/Renderer/Renderer.ProcessFrames.cs index be4d5984..9ee79ee9 100644 --- a/SamSharp/Renderer/Renderer.ProcessFrames.cs +++ b/SamSharp/Renderer/Renderer.ProcessFrames.cs @@ -97,6 +97,7 @@ private void ProcessFrames(OutputBuffer output, int frameCount, int speed, Frame int glottalPulse = framesData.Pitches[0]; int mem38 = (int)(glottalPulse * .75f); + Span ary = stackalloc int[5]; while (frameCount > 0) { var flags = framesData.SampledConsonantFlags[pos]; @@ -117,7 +118,6 @@ private void ProcessFrames(OutputBuffer output, int frameCount, int speed, Frame // 128-255 = 0x70 // Simulate the glottal pulse and formants - int[] ary = new int[5]; int p1 = phase1 * 256; int p2 = phase2 * 256; int p3 = phase3 * 256; From ea5c4b05ed9010db1b82020ce136e9154d58b711 Mon Sep 17 00:00:00 2001 From: MeltyPlayer Date: Wed, 4 Oct 2023 20:26:36 -0500 Subject: [PATCH 02/14] Removed unneeded string allocations from FullMatch and WildMatch. --- SamSharp/Parser/Parser.Parser1.cs | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/SamSharp/Parser/Parser.Parser1.cs b/SamSharp/Parser/Parser.Parser1.cs index 79a850a8..7711646d 100644 --- a/SamSharp/Parser/Parser.Parser1.cs +++ b/SamSharp/Parser/Parser.Parser1.cs @@ -13,14 +13,30 @@ public partial class Parser /// Whether the characters form a valid phoneme but not with wildcards. private int? FullMatch(char char1, char char2) { - int index = Array.FindIndex(phonemeNameTable, value => value == $"{char1}{char2}" && value[1] != '*'); - return index != -1 ? index : (int?)null; + for (int i = 0; i < phonemeNameTable.Length; ++i) + { + var phonemeName = phonemeNameTable[i]; + // Checks these chars individually to avoid allocating strings. + if (phonemeName[0] == char1 && phonemeName[1] == char2) + { + return i; + } + } + return null; } private int? WildMatch(char char1) { - int index = Array.FindIndex(phonemeNameTable, value => value == char1 + "*"); - return index != -1 ? index : (int?)null; + for (int i = 0; i < phonemeNameTable.Length; ++i) + { + var phonemeName = phonemeNameTable[i]; + // Checks these chars individually to avoid allocating strings. + if (phonemeName[0] == char1 && phonemeName[1] == '*') + { + return i; + } + } + return null; } /** From cd2cccc13b91e4762901c5742538fa43633288c7 Mon Sep 17 00:00:00 2001 From: MeltyPlayer Date: Wed, 4 Oct 2023 23:22:38 -0500 Subject: [PATCH 03/14] Deleted unused imports. --- SamSharp/Parser/Parser.Parser2.cs | 3 +-- .../Parser/Parser.ProlongPlosiveStopConsonantsCode41240.cs | 4 +--- SamSharp/Parser/Parser.cs | 1 - SamSharp/Reciter/Reciter.cs | 1 - SamSharp/Renderer/Renderer.PrepareFrames.cs | 4 +--- SamSharp/Renderer/Renderer.ProcessFrames.cs | 2 -- SamSharp/Renderer/Renderer.SetMouthThroat.cs | 4 +--- SamSharp/Sam.cs | 1 - SamSharp/Utils.cs | 4 +--- SamSharpTest/Program.cs | 4 +--- 10 files changed, 6 insertions(+), 22 deletions(-) diff --git a/SamSharp/Parser/Parser.Parser2.cs b/SamSharp/Parser/Parser.Parser2.cs index 7a7542fd..46c3d9ee 100644 --- a/SamSharp/Parser/Parser.Parser2.cs +++ b/SamSharp/Parser/Parser.Parser2.cs @@ -1,5 +1,4 @@ -using System; -using System.Diagnostics; +using System.Diagnostics; namespace SamSharp.Parser { diff --git a/SamSharp/Parser/Parser.ProlongPlosiveStopConsonantsCode41240.cs b/SamSharp/Parser/Parser.ProlongPlosiveStopConsonantsCode41240.cs index b97a8ab1..06436d07 100644 --- a/SamSharp/Parser/Parser.ProlongPlosiveStopConsonantsCode41240.cs +++ b/SamSharp/Parser/Parser.ProlongPlosiveStopConsonantsCode41240.cs @@ -1,6 +1,4 @@ -using System; - -namespace SamSharp.Parser +namespace SamSharp.Parser { public partial class Parser { diff --git a/SamSharp/Parser/Parser.cs b/SamSharp/Parser/Parser.cs index 9c6a4e2b..846eb026 100644 --- a/SamSharp/Parser/Parser.cs +++ b/SamSharp/Parser/Parser.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Diagnostics; -using System.Linq; namespace SamSharp.Parser { diff --git a/SamSharp/Reciter/Reciter.cs b/SamSharp/Reciter/Reciter.cs index 596ca12b..ba8b8efe 100644 --- a/SamSharp/Reciter/Reciter.cs +++ b/SamSharp/Reciter/Reciter.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Collections.Specialized; using System.Diagnostics; using System.Linq; diff --git a/SamSharp/Renderer/Renderer.PrepareFrames.cs b/SamSharp/Renderer/Renderer.PrepareFrames.cs index dcf2a2e5..e079bf93 100644 --- a/SamSharp/Renderer/Renderer.PrepareFrames.cs +++ b/SamSharp/Renderer/Renderer.PrepareFrames.cs @@ -1,6 +1,4 @@ -using System.IO.IsolatedStorage; - -namespace SamSharp.Renderer +namespace SamSharp.Renderer { public partial class Renderer { diff --git a/SamSharp/Renderer/Renderer.ProcessFrames.cs b/SamSharp/Renderer/Renderer.ProcessFrames.cs index 9ee79ee9..25400af0 100644 --- a/SamSharp/Renderer/Renderer.ProcessFrames.cs +++ b/SamSharp/Renderer/Renderer.ProcessFrames.cs @@ -1,7 +1,5 @@ using System; -using System.Collections.Generic; using System.Diagnostics; -using System.Threading; namespace SamSharp.Renderer { diff --git a/SamSharp/Renderer/Renderer.SetMouthThroat.cs b/SamSharp/Renderer/Renderer.SetMouthThroat.cs index c7ac67f6..35d84f08 100644 --- a/SamSharp/Renderer/Renderer.SetMouthThroat.cs +++ b/SamSharp/Renderer/Renderer.SetMouthThroat.cs @@ -1,6 +1,4 @@ -using System.Runtime.CompilerServices; - -namespace SamSharp.Renderer +namespace SamSharp.Renderer { public partial class Renderer { diff --git a/SamSharp/Sam.cs b/SamSharp/Sam.cs index 2d250fd3..d9a2d4be 100644 --- a/SamSharp/Sam.cs +++ b/SamSharp/Sam.cs @@ -1,5 +1,4 @@ using System.Threading.Tasks; -using SamSharp.Renderer; namespace SamSharp { diff --git a/SamSharp/Utils.cs b/SamSharp/Utils.cs index d07d2223..563ceffe 100644 --- a/SamSharp/Utils.cs +++ b/SamSharp/Utils.cs @@ -1,6 +1,4 @@ -using System; - -namespace SamSharp +namespace SamSharp { internal class Utils { diff --git a/SamSharpTest/Program.cs b/SamSharpTest/Program.cs index cbca7e88..0cbff543 100644 --- a/SamSharpTest/Program.cs +++ b/SamSharpTest/Program.cs @@ -1,8 +1,6 @@ -using System.Text; -using SamSharp; +using SamSharp; using CommandLine; using NAudio.Wave; -using SamSharp.Renderer; namespace SamSharpTest; From 0682d65be7de2cf23fcdbf45b1e5894fe689fb42 Mon Sep 17 00:00:00 2001 From: MeltyPlayer Date: Sun, 8 Oct 2023 14:57:20 -0500 Subject: [PATCH 04/14] Renamed "SamSharpTest" to "SamSharpCli", so that we can set up a new project that actually defines automated tests. --- README.md | 4 +- SamSharp.sln | 13 +++- .../CommandLineOptions.cs | 60 +++++++++---------- {SamSharpTest => SamSharpCli}/Program.cs | 2 +- .../SamSharpCli.csproj | 3 +- 5 files changed, 46 insertions(+), 36 deletions(-) rename {SamSharpTest => SamSharpCli}/CommandLineOptions.cs (95%) rename {SamSharpTest => SamSharpCli}/Program.cs (98%) rename SamSharpTest/SamSharpTest.csproj => SamSharpCli/SamSharpCli.csproj (92%) diff --git a/README.md b/README.md index 344a7612..abd40139 100644 --- a/README.md +++ b/README.md @@ -59,10 +59,10 @@ sam.SpeakAsync("I am speaking asynchronously").ContinueWith(audio => DoSomething ### Command line usage -The `SamSharpTest` project contains a simple testing program, which can be run from the command line to try out SAM. Run it with: +The `SamSharpCli` project contains a simple testing program, which can be run from the command line to try out SAM. Run it with: ``` -./SamSharpTest [-p --pitch pitch] [-s --speed speed] [-m --mouth mouth] [-t --throat throat] [--phonetic] [--sing] [-o --output path/to/file.wav] +./SamSharpCli [-p --pitch pitch] [-s --speed speed] [-m --mouth mouth] [-t --throat throat] [--phonetic] [--sing] [-o --output path/to/file.wav] ``` If the `-o` option is omitted, the program will play the synthesized speech on your default audio device. The `pitch`, `speed`, `mouth` and `throat` parameters should be numbers from 0 to 255. diff --git a/SamSharp.sln b/SamSharp.sln index b8449d19..633b63ef 100644 --- a/SamSharp.sln +++ b/SamSharp.sln @@ -1,8 +1,11 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SamSharp", "SamSharp\SamSharp.csproj", "{26A545A7-D52C-4EA4-A754-1494035CB760}" +# Visual Studio Version 17 +VisualStudioVersion = 17.8.34112.27 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SamSharp", "SamSharp\SamSharp.csproj", "{26A545A7-D52C-4EA4-A754-1494035CB760}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SamSharpTest", "SamSharpTest\SamSharpTest.csproj", "{47982F03-B33A-4492-B607-1E3C199C9AA6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SamSharpCli", "SamSharpCli\SamSharpCli.csproj", "{47982F03-B33A-4492-B607-1E3C199C9AA6}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -19,4 +22,10 @@ Global {47982F03-B33A-4492-B607-1E3C199C9AA6}.Release|Any CPU.ActiveCfg = Release|Any CPU {47982F03-B33A-4492-B607-1E3C199C9AA6}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {00931D7B-43DB-46DD-A7B2-407C60C0FED8} + EndGlobalSection EndGlobal diff --git a/SamSharpTest/CommandLineOptions.cs b/SamSharpCli/CommandLineOptions.cs similarity index 95% rename from SamSharpTest/CommandLineOptions.cs rename to SamSharpCli/CommandLineOptions.cs index d1d75778..0f278ba7 100644 --- a/SamSharpTest/CommandLineOptions.cs +++ b/SamSharpCli/CommandLineOptions.cs @@ -1,31 +1,31 @@ -using CommandLine; - -namespace SamSharpTest; - -public class CommandLineOptions -{ - [Value(0, Required = true, HelpText = "The text to speak")] - public string Text { get; set; } = ""; - - [Option('p', "pitch", Required = false, Default = 64, HelpText = "Pitch parameter (0 - 255)")] - public int Pitch { get; set; } - - [Option('s', "speed", Required = false, Default = 72, HelpText = "Speed parameter (0 - 255)")] - public int Speed { get; set; } - - [Option('m', "mouth", Required = false, Default = 128, HelpText = "Mouth parameter (0 - 255)")] - public int Mouth { get; set; } - - [Option('t', "throat", Required = false, Default = 128, HelpText = "Throat parameter (0 - 255)")] - public int Throat { get; set; } - - [Option("phonetic", Required = false, Default = false, HelpText = "Use phonetic mode")] - public bool Phonetic { get; set; } - - [Option("sing", Required = false, Default = false, HelpText = "Use sing mode")] - public bool SingMode { get; set; } - - [Option('o', "output", Required = false, Default = null, - HelpText = "Path to output .wav file. If not present, will play the audio directly.")] - public string? OutputFile { get; set; } +using CommandLine; + +namespace SamSharpCli; + +public class CommandLineOptions +{ + [Value(0, Required = true, HelpText = "The text to speak")] + public string Text { get; set; } = ""; + + [Option('p', "pitch", Required = false, Default = 64, HelpText = "Pitch parameter (0 - 255)")] + public int Pitch { get; set; } + + [Option('s', "speed", Required = false, Default = 72, HelpText = "Speed parameter (0 - 255)")] + public int Speed { get; set; } + + [Option('m', "mouth", Required = false, Default = 128, HelpText = "Mouth parameter (0 - 255)")] + public int Mouth { get; set; } + + [Option('t', "throat", Required = false, Default = 128, HelpText = "Throat parameter (0 - 255)")] + public int Throat { get; set; } + + [Option("phonetic", Required = false, Default = false, HelpText = "Use phonetic mode")] + public bool Phonetic { get; set; } + + [Option("sing", Required = false, Default = false, HelpText = "Use sing mode")] + public bool SingMode { get; set; } + + [Option('o', "output", Required = false, Default = null, + HelpText = "Path to output .wav file. If not present, will play the audio directly.")] + public string? OutputFile { get; set; } } \ No newline at end of file diff --git a/SamSharpTest/Program.cs b/SamSharpCli/Program.cs similarity index 98% rename from SamSharpTest/Program.cs rename to SamSharpCli/Program.cs index 0cbff543..9f2b5af5 100644 --- a/SamSharpTest/Program.cs +++ b/SamSharpCli/Program.cs @@ -2,7 +2,7 @@ using CommandLine; using NAudio.Wave; -namespace SamSharpTest; +namespace SamSharpCli; public static class Program { diff --git a/SamSharpTest/SamSharpTest.csproj b/SamSharpCli/SamSharpCli.csproj similarity index 92% rename from SamSharpTest/SamSharpTest.csproj rename to SamSharpCli/SamSharpCli.csproj index f8872778..1438f310 100644 --- a/SamSharpTest/SamSharpTest.csproj +++ b/SamSharpCli/SamSharpCli.csproj @@ -1,4 +1,5 @@ - + Exe From b78a0b110689ecc4dae17dd88f712cddf8786a69 Mon Sep 17 00:00:00 2001 From: MeltyPlayer Date: Sun, 8 Oct 2023 14:58:51 -0500 Subject: [PATCH 05/14] Fixed a stupid typo I accidentally introduced to the SamSharpCli project file. --- SamSharpCli/SamSharpCli.csproj | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/SamSharpCli/SamSharpCli.csproj b/SamSharpCli/SamSharpCli.csproj index 1438f310..2e19e64d 100644 --- a/SamSharpCli/SamSharpCli.csproj +++ b/SamSharpCli/SamSharpCli.csproj @@ -1,5 +1,4 @@ - + Exe From 951888ef49583dd111ee6c77930914c47c02450f Mon Sep 17 00:00:00 2001 From: MeltyPlayer Date: Sun, 8 Oct 2023 15:32:42 -0500 Subject: [PATCH 06/14] Set up a simple editor config to keep formatting consistent between setups. --- .editorconfig | 273 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 273 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..14d4c153 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,273 @@ +# Remove the line below if you want to inherit .editorconfig settings from higher directories +root = true + +# C# files +[*.cs] + +#### Core EditorConfig Options #### + +# Indentation and spacing +indent_size = 4 +indent_style = space +tab_width = 4 + +# New line preferences +end_of_line = crlf +insert_final_newline = false + +#### .NET Coding Conventions #### + +# Organize usings +dotnet_separate_import_directive_groups = true +dotnet_sort_system_directives_first = false +file_header_template = unset + +# this. and Me. preferences +dotnet_style_qualification_for_event = false +dotnet_style_qualification_for_field = false +dotnet_style_qualification_for_method = false +dotnet_style_qualification_for_property = false + +# Language keywords vs BCL types preferences +dotnet_style_predefined_type_for_locals_parameters_members = true:error +dotnet_style_predefined_type_for_member_access = true:error + +# Parentheses preferences +dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity +dotnet_style_parentheses_in_other_binary_operators = always_for_clarity +dotnet_style_parentheses_in_other_operators = never_if_unnecessary +dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity + +# Modifier preferences +dotnet_style_require_accessibility_modifiers = for_non_interface_members + +# Expression-level preferences +dotnet_style_coalesce_expression = true +dotnet_style_collection_initializer = true:error +dotnet_style_explicit_tuple_names = true +dotnet_style_namespace_match_folder = true +dotnet_style_null_propagation = true +dotnet_style_object_initializer = true:error +dotnet_style_operator_placement_when_wrapping = beginning_of_line +dotnet_style_prefer_auto_properties = true:error +dotnet_style_prefer_collection_expression = true +dotnet_style_prefer_compound_assignment = true:error +dotnet_style_prefer_conditional_expression_over_assignment = true +dotnet_style_prefer_conditional_expression_over_return = true +dotnet_style_prefer_foreach_explicit_cast_in_source = when_strongly_typed +dotnet_style_prefer_inferred_anonymous_type_member_names = true +dotnet_style_prefer_inferred_tuple_names = true +dotnet_style_prefer_is_null_check_over_reference_equality_method = true +dotnet_style_prefer_simplified_boolean_expressions = true:error +dotnet_style_prefer_simplified_interpolation = true + +# Field preferences +dotnet_style_readonly_field = true:error + +# Parameter preferences +dotnet_code_quality_unused_parameters = all:error + +# Suppression preferences +dotnet_remove_unnecessary_suppression_exclusions = none + +# New line preferences +dotnet_style_allow_multiple_blank_lines_experimental = true +dotnet_style_allow_statement_immediately_after_block_experimental = true + +#### C# Coding Conventions #### + +# var preferences +csharp_style_var_elsewhere = true:warning +csharp_style_var_for_built_in_types = true:warning +csharp_style_var_when_type_is_apparent = true:warning + +# Expression-bodied members +csharp_style_expression_bodied_accessors = true:error +csharp_style_expression_bodied_constructors = false +csharp_style_expression_bodied_indexers = true:error +csharp_style_expression_bodied_lambdas = true:error +csharp_style_expression_bodied_local_functions = true:error +csharp_style_expression_bodied_methods = true:error +csharp_style_expression_bodied_operators = true:error +csharp_style_expression_bodied_properties = true:error + +# Pattern matching preferences +csharp_style_pattern_matching_over_as_with_null_check = true +csharp_style_pattern_matching_over_is_with_cast_check = true +csharp_style_prefer_extended_property_pattern = true +csharp_style_prefer_not_pattern = true +csharp_style_prefer_pattern_matching = true:suggestion +csharp_style_prefer_switch_expression = true + +# Null-checking preferences +csharp_style_conditional_delegate_call = true + +# Modifier preferences +csharp_prefer_static_local_function = true +csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async +csharp_style_prefer_readonly_struct = true:error +csharp_style_prefer_readonly_struct_member = true + +# Code-block preferences +csharp_prefer_braces = true:error +csharp_prefer_simple_using_statement = true:error +csharp_style_namespace_declarations = block_scoped +csharp_style_prefer_method_group_conversion = true:error +csharp_style_prefer_primary_constructors = true +csharp_style_prefer_top_level_statements = true + +# Expression-level preferences +csharp_prefer_simple_default_expression = true +csharp_style_deconstructed_variable_declaration = true +csharp_style_implicit_object_creation_when_type_is_apparent = true:error +csharp_style_inlined_variable_declaration = true +csharp_style_prefer_index_operator = true:error +csharp_style_prefer_local_over_anonymous_function = true +csharp_style_prefer_null_check_over_type_check = true +csharp_style_prefer_range_operator = true:error +csharp_style_prefer_tuple_swap = true:error +csharp_style_prefer_utf8_string_literals = true +csharp_style_throw_expression = true +csharp_style_unused_value_assignment_preference = discard_variable:error +csharp_style_unused_value_expression_statement_preference = discard_variable + +# 'using' directive preferences +csharp_using_directive_placement = outside_namespace:error + +# New line preferences +csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true +csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true +csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true +csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true +csharp_style_allow_embedded_statements_on_same_line_experimental = true + +#### C# Formatting Rules #### + +# New line preferences +csharp_new_line_before_catch = true +csharp_new_line_before_else = true +csharp_new_line_before_finally = true +csharp_new_line_before_members_in_anonymous_types = true +csharp_new_line_before_members_in_object_initializers = true +csharp_new_line_before_open_brace = true +csharp_new_line_between_query_expression_clauses = true + +# Indentation preferences +csharp_indent_block_contents = true +csharp_indent_braces = false +csharp_indent_case_contents = true +csharp_indent_case_contents_when_block = true +csharp_indent_labels = one_less_than_current +csharp_indent_switch_labels = true + +# Space preferences +csharp_space_after_cast = false +csharp_space_after_colon_in_inheritance_clause = true +csharp_space_after_comma = true +csharp_space_after_dot = false +csharp_space_after_keywords_in_control_flow_statements = true +csharp_space_after_semicolon_in_for_statement = true +csharp_space_around_binary_operators = before_and_after +csharp_space_around_declaration_statements = false +csharp_space_before_colon_in_inheritance_clause = true +csharp_space_before_comma = false +csharp_space_before_dot = false +csharp_space_before_open_square_brackets = false +csharp_space_before_semicolon_in_for_statement = false +csharp_space_between_empty_square_brackets = false +csharp_space_between_method_call_empty_parameter_list_parentheses = false +csharp_space_between_method_call_name_and_opening_parenthesis = false +csharp_space_between_method_call_parameter_list_parentheses = false +csharp_space_between_method_declaration_empty_parameter_list_parentheses = false +csharp_space_between_method_declaration_name_and_open_parenthesis = false +csharp_space_between_method_declaration_parameter_list_parentheses = false +csharp_space_between_parentheses = false +csharp_space_between_square_brackets = false + +# Wrapping preferences +csharp_preserve_single_line_blocks = true +csharp_preserve_single_line_statements = true + +#### Naming styles #### + +# Naming rules + +dotnet_naming_rule.interface_should_be_ipascalcase.severity = error +dotnet_naming_rule.interface_should_be_ipascalcase.symbols = interface +dotnet_naming_rule.interface_should_be_ipascalcase.style = ipascalcase + +dotnet_naming_rule.types_should_be_pascalcase.severity = error +dotnet_naming_rule.types_should_be_pascalcase.symbols = types +dotnet_naming_rule.types_should_be_pascalcase.style = pascalcase + +dotnet_naming_rule.private_property_or_method_should_be_pascalcase_.severity = error +dotnet_naming_rule.private_property_or_method_should_be_pascalcase_.symbols = private_property_or_method +dotnet_naming_rule.private_property_or_method_should_be_pascalcase_.style = pascalcase_ + +dotnet_naming_rule.non_field_members_should_be_pascalcase.severity = error +dotnet_naming_rule.non_field_members_should_be_pascalcase.symbols = non_field_members +dotnet_naming_rule.non_field_members_should_be_pascalcase.style = pascalcase + +dotnet_naming_rule.public_or_protected_field_should_be_camelcase.severity = error +dotnet_naming_rule.public_or_protected_field_should_be_camelcase.symbols = public_or_protected_field +dotnet_naming_rule.public_or_protected_field_should_be_camelcase.style = camelcase + +# Symbol specifications + +dotnet_naming_symbols.interface.applicable_kinds = interface +dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.interface.required_modifiers = + +dotnet_naming_symbols.public_or_protected_field.applicable_kinds = field +dotnet_naming_symbols.public_or_protected_field.applicable_accessibilities = public, protected +dotnet_naming_symbols.public_or_protected_field.required_modifiers = + +dotnet_naming_symbols.private_or_internal_field.applicable_kinds = field +dotnet_naming_symbols.private_or_internal_field.applicable_accessibilities = internal, private, private_protected +dotnet_naming_symbols.private_or_internal_field.required_modifiers = + +dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum +dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.types.required_modifiers = + +dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method +dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.non_field_members.required_modifiers = + +dotnet_naming_symbols.abstract_class.applicable_kinds = class +dotnet_naming_symbols.abstract_class.applicable_accessibilities = +dotnet_naming_symbols.abstract_class.required_modifiers = abstract + +dotnet_naming_symbols.private_property_or_method.applicable_kinds = property, method +dotnet_naming_symbols.private_property_or_method.applicable_accessibilities = private, private_protected +dotnet_naming_symbols.private_property_or_method.required_modifiers = + +dotnet_naming_symbols.static_const.applicable_kinds = property, field, local, method +dotnet_naming_symbols.static_const.applicable_accessibilities = * +dotnet_naming_symbols.static_const.required_modifiers = const, static + +dotnet_naming_symbols.private_static_const.applicable_kinds = property, field, local, method, local_function +dotnet_naming_symbols.private_static_const.applicable_accessibilities = private, private_protected +dotnet_naming_symbols.private_static_const.required_modifiers = const, static + +# Naming styles + +dotnet_naming_style.pascalcase.required_prefix = +dotnet_naming_style.pascalcase.required_suffix = +dotnet_naming_style.pascalcase.word_separator = +dotnet_naming_style.pascalcase.capitalization = pascal_case + +dotnet_naming_style.ipascalcase.required_prefix = I +dotnet_naming_style.ipascalcase.required_suffix = +dotnet_naming_style.ipascalcase.word_separator = +dotnet_naming_style.ipascalcase.capitalization = pascal_case + +dotnet_naming_style.pascalcase_.required_prefix = +dotnet_naming_style.pascalcase_.required_suffix = _ +dotnet_naming_style.pascalcase_.word_separator = +dotnet_naming_style.pascalcase_.capitalization = pascal_case + +dotnet_naming_style.camelcase.required_prefix = +dotnet_naming_style.camelcase.required_suffix = +dotnet_naming_style.camelcase.word_separator = +dotnet_naming_style.camelcase.capitalization = camel_case \ No newline at end of file From 8a312225ca0bb32a1ecdd8c16c77eab5f574d3b4 Mon Sep 17 00:00:00 2001 From: MeltyPlayer Date: Sun, 8 Oct 2023 15:44:15 -0500 Subject: [PATCH 07/14] Fixed some issues with the editor config. --- .editorconfig | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.editorconfig b/.editorconfig index 14d4c153..7716accd 100644 --- a/.editorconfig +++ b/.editorconfig @@ -144,12 +144,12 @@ csharp_style_allow_embedded_statements_on_same_line_experimental = true #### C# Formatting Rules #### # New line preferences +csharp_new_line_before_open_brace = all csharp_new_line_before_catch = true csharp_new_line_before_else = true csharp_new_line_before_finally = true csharp_new_line_before_members_in_anonymous_types = true csharp_new_line_before_members_in_object_initializers = true -csharp_new_line_before_open_brace = true csharp_new_line_between_query_expression_clauses = true # Indentation preferences @@ -200,10 +200,6 @@ dotnet_naming_rule.types_should_be_pascalcase.severity = error dotnet_naming_rule.types_should_be_pascalcase.symbols = types dotnet_naming_rule.types_should_be_pascalcase.style = pascalcase -dotnet_naming_rule.private_property_or_method_should_be_pascalcase_.severity = error -dotnet_naming_rule.private_property_or_method_should_be_pascalcase_.symbols = private_property_or_method -dotnet_naming_rule.private_property_or_method_should_be_pascalcase_.style = pascalcase_ - dotnet_naming_rule.non_field_members_should_be_pascalcase.severity = error dotnet_naming_rule.non_field_members_should_be_pascalcase.symbols = non_field_members dotnet_naming_rule.non_field_members_should_be_pascalcase.style = pascalcase @@ -262,11 +258,6 @@ dotnet_naming_style.ipascalcase.required_suffix = dotnet_naming_style.ipascalcase.word_separator = dotnet_naming_style.ipascalcase.capitalization = pascal_case -dotnet_naming_style.pascalcase_.required_prefix = -dotnet_naming_style.pascalcase_.required_suffix = _ -dotnet_naming_style.pascalcase_.word_separator = -dotnet_naming_style.pascalcase_.capitalization = pascal_case - dotnet_naming_style.camelcase.required_prefix = dotnet_naming_style.camelcase.required_suffix = dotnet_naming_style.camelcase.word_separator = From 5fedcb5eb106c88cb3ffd4df3cac239a21de9f2b Mon Sep 17 00:00:00 2001 From: MeltyPlayer Date: Sun, 8 Oct 2023 16:39:14 -0500 Subject: [PATCH 08/14] Set up basic tests for a bunch of individual words. --- SamSharp Tests/GlobalUsings.cs | 1 + SamSharp Tests/GoldenWordsTests.cs | 90 ++++++++ SamSharp Tests/SamSharp Tests.csproj | 31 +++ .../goldens/delete_golden_audio.bat | 8 + SamSharp Tests/goldens/words/#.ogg | Bin 0 -> 11010 bytes SamSharp Tests/goldens/words/$.ogg | Bin 0 -> 10310 bytes SamSharp Tests/goldens/words/%.ogg | Bin 0 -> 14040 bytes SamSharp Tests/goldens/words/&.ogg | Bin 0 -> 5644 bytes SamSharp Tests/goldens/words/+.ogg | Bin 0 -> 9130 bytes SamSharp Tests/goldens/words/1.ogg | Bin 0 -> 6811 bytes SamSharp Tests/goldens/words/10th.ogg | Bin 0 -> 8826 bytes SamSharp Tests/goldens/words/1st.ogg | Bin 0 -> 9259 bytes SamSharp Tests/goldens/words/2.ogg | Bin 0 -> 6820 bytes SamSharp Tests/goldens/words/2nd.ogg | Bin 0 -> 11922 bytes SamSharp Tests/goldens/words/3.ogg | Bin 0 -> 6718 bytes SamSharp Tests/goldens/words/3rd.ogg | Bin 0 -> 7651 bytes SamSharp Tests/goldens/words/4.ogg | Bin 0 -> 7647 bytes SamSharp Tests/goldens/words/4th.ogg | Bin 0 -> 9186 bytes SamSharp Tests/goldens/words/5.ogg | Bin 0 -> 10153 bytes SamSharp Tests/goldens/words/5th.ogg | Bin 0 -> 7920 bytes SamSharp Tests/goldens/words/6.ogg | Bin 0 -> 9100 bytes SamSharp Tests/goldens/words/64.ogg | Bin 0 -> 19270 bytes SamSharp Tests/goldens/words/6th.ogg | Bin 0 -> 10870 bytes SamSharp Tests/goldens/words/7.ogg | Bin 0 -> 10965 bytes SamSharp Tests/goldens/words/7th.ogg | Bin 0 -> 12737 bytes SamSharp Tests/goldens/words/8.ogg | Bin 0 -> 6587 bytes SamSharp Tests/goldens/words/8th.ogg | Bin 0 -> 6950 bytes SamSharp Tests/goldens/words/9.ogg | Bin 0 -> 9610 bytes SamSharp Tests/goldens/words/9th.ogg | Bin 0 -> 11382 bytes SamSharp Tests/goldens/words/=.ogg | Bin 0 -> 11845 bytes SamSharp Tests/goldens/words/@.ogg | Bin 0 -> 4721 bytes SamSharp Tests/goldens/words/^.ogg | Bin 0 -> 11252 bytes SamSharp Tests/goldens/words/a.ogg | Bin 0 -> 1445 bytes SamSharp Tests/goldens/words/able.ogg | Bin 0 -> 11243 bytes SamSharp Tests/goldens/words/again.ogg | Bin 0 -> 8910 bytes SamSharp Tests/goldens/words/air.ogg | Bin 0 -> 4944 bytes SamSharp Tests/goldens/words/answer.ogg | Bin 0 -> 9122 bytes SamSharp Tests/goldens/words/any.ogg | Bin 0 -> 6811 bytes SamSharp Tests/goldens/words/are.ogg | Bin 0 -> 4944 bytes SamSharp Tests/goldens/words/as.ogg | Bin 0 -> 4344 bytes SamSharp Tests/goldens/words/at.ogg | Bin 0 -> 3321 bytes SamSharp Tests/goldens/words/atari.ogg | Bin 0 -> 11252 bytes SamSharp Tests/goldens/words/b.ogg | Bin 0 -> 5178 bytes SamSharp Tests/goldens/words/be.ogg | Bin 0 -> 4011 bytes SamSharp Tests/goldens/words/being.ogg | Bin 0 -> 9377 bytes SamSharp Tests/goldens/words/boot.ogg | Bin 0 -> 9153 bytes SamSharp Tests/goldens/words/both.ogg | Bin 0 -> 9516 bytes SamSharp Tests/goldens/words/break.ogg | Bin 0 -> 11476 bytes SamSharp Tests/goldens/words/bus.ogg | Bin 0 -> 5855 bytes SamSharp Tests/goldens/words/bye.ogg | Bin 0 -> 7044 bytes SamSharp Tests/goldens/words/c.ogg | Bin 0 -> 4923 bytes SamSharp Tests/goldens/words/castle.ogg | Bin 0 -> 10056 bytes SamSharp Tests/goldens/words/city.ogg | Bin 0 -> 6556 bytes SamSharp Tests/goldens/words/com.ogg | Bin 0 -> 6111 bytes SamSharp Tests/goldens/words/commodore.ogg | Bin 0 -> 15442 bytes SamSharp Tests/goldens/words/could.ogg | Bin 0 -> 8210 bytes SamSharp Tests/goldens/words/d.ogg | Bin 0 -> 4711 bytes SamSharp Tests/goldens/words/do.ogg | Bin 0 -> 5878 bytes SamSharp Tests/goldens/words/does.ogg | Bin 0 -> 5314 bytes SamSharp Tests/goldens/words/doing.ogg | Bin 0 -> 11010 bytes SamSharp Tests/goldens/words/done.ogg | Bin 0 -> 7044 bytes SamSharp Tests/goldens/words/dr..ogg | Bin 0 -> 10319 bytes SamSharp Tests/goldens/words/e.ogg | Bin 0 -> 4478 bytes SamSharp Tests/goldens/words/equal.ogg | Bin 0 -> 9610 bytes SamSharp Tests/goldens/words/erase.ogg | Bin 0 -> 11687 bytes SamSharp Tests/goldens/words/error.ogg | Bin 0 -> 9610 bytes SamSharp Tests/goldens/words/even.ogg | Bin 0 -> 8849 bytes SamSharp Tests/goldens/words/ever.ogg | Bin 0 -> 7990 bytes SamSharp Tests/goldens/words/evil.ogg | Bin 0 -> 9353 bytes SamSharp Tests/goldens/words/f.ogg | Bin 0 -> 4614 bytes SamSharp Tests/goldens/words/father.ogg | Bin 0 -> 10853 bytes SamSharp Tests/goldens/words/foot.ogg | Bin 0 -> 6257 bytes SamSharp Tests/goldens/words/friend.ogg | Bin 0 -> 10680 bytes SamSharp Tests/goldens/words/g.ogg | Bin 0 -> 5669 bytes SamSharp Tests/goldens/words/gone.ogg | Bin 0 -> 8910 bytes SamSharp Tests/goldens/words/great.ogg | Bin 0 -> 10553 bytes SamSharp Tests/goldens/words/h.ogg | Bin 0 -> 7659 bytes SamSharp Tests/goldens/words/have.ogg | Bin 0 -> 7479 bytes SamSharp Tests/goldens/words/here.ogg | Bin 0 -> 5403 bytes SamSharp Tests/goldens/words/hour.ogg | Bin 0 -> 7977 bytes SamSharp Tests/goldens/words/house.ogg | Bin 0 -> 9038 bytes SamSharp Tests/goldens/words/how.ogg | Bin 0 -> 5870 bytes SamSharp Tests/goldens/words/i'm.ogg | Bin 0 -> 7744 bytes SamSharp Tests/goldens/words/i.ogg | Bin 0 -> 5411 bytes SamSharp Tests/goldens/words/in.ogg | Bin 0 -> 4245 bytes SamSharp Tests/goldens/words/inside.ogg | Bin 0 -> 13322 bytes SamSharp Tests/goldens/words/j.ogg | Bin 0 -> 8235 bytes SamSharp Tests/goldens/words/k.ogg | Bin 0 -> 7977 bytes SamSharp Tests/goldens/words/l.ogg | Bin 0 -> 4711 bytes SamSharp Tests/goldens/words/laugh.ogg | Bin 0 -> 7413 bytes SamSharp Tests/goldens/words/lead.ogg | Bin 0 -> 5644 bytes SamSharp Tests/goldens/words/list.txt | 195 ++++++++++++++++++ SamSharp Tests/goldens/words/m.ogg | Bin 0 -> 4944 bytes SamSharp Tests/goldens/words/mood.ogg | Bin 0 -> 9377 bytes SamSharp Tests/goldens/words/mr..ogg | Bin 0 -> 10522 bytes SamSharp Tests/goldens/words/mrs..ogg | Bin 0 -> 9725 bytes SamSharp Tests/goldens/words/ms..ogg | Bin 0 -> 6480 bytes SamSharp Tests/goldens/words/n.ogg | Bin 0 -> 4944 bytes SamSharp Tests/goldens/words/none.ogg | Bin 0 -> 6811 bytes SamSharp Tests/goldens/words/now.ogg | Bin 0 -> 7277 bytes SamSharp Tests/goldens/words/o.ogg | Bin 0 -> 6111 bytes SamSharp Tests/goldens/words/of.ogg | Bin 0 -> 3914 bytes SamSharp Tests/goldens/words/old.ogg | Bin 0 -> 9377 bytes SamSharp Tests/goldens/words/on.ogg | Bin 0 -> 4944 bytes SamSharp Tests/goldens/words/once.ogg | Bin 0 -> 9121 bytes SamSharp Tests/goldens/words/one.ogg | Bin 0 -> 5411 bytes SamSharp Tests/goldens/words/only.ogg | Bin 0 -> 10776 bytes SamSharp Tests/goldens/words/other.ogg | Bin 0 -> 7683 bytes SamSharp Tests/goldens/words/over.ogg | Bin 0 -> 10519 bytes SamSharp Tests/goldens/words/p.ogg | Bin 0 -> 5187 bytes SamSharp Tests/goldens/words/people.ogg | Bin 0 -> 10795 bytes SamSharp Tests/goldens/words/power.ogg | Bin 0 -> 10552 bytes SamSharp Tests/goldens/words/prof..ogg | Bin 0 -> 15567 bytes SamSharp Tests/goldens/words/put.ogg | Bin 0 -> 6363 bytes SamSharp Tests/goldens/words/q.ogg | Bin 0 -> 9143 bytes SamSharp Tests/goldens/words/quarter.ogg | Bin 0 -> 12409 bytes SamSharp Tests/goldens/words/quiz.ogg | Bin 0 -> 8309 bytes SamSharp Tests/goldens/words/r.ogg | Bin 0 -> 5878 bytes SamSharp Tests/goldens/words/reward.ogg | Bin 0 -> 13342 bytes SamSharp Tests/goldens/words/s.ogg | Bin 0 -> 4922 bytes SamSharp Tests/goldens/words/said.ogg | Bin 0 -> 6556 bytes SamSharp Tests/goldens/words/school.ogg | Bin 0 -> 11922 bytes SamSharp Tests/goldens/words/some.ogg | Bin 0 -> 5857 bytes SamSharp Tests/goldens/words/t.ogg | Bin 0 -> 4721 bytes SamSharp Tests/goldens/words/than.ogg | Bin 0 -> 5976 bytes SamSharp Tests/goldens/words/that.ogg | Bin 0 -> 5053 bytes SamSharp Tests/goldens/words/the.ogg | Bin 0 -> 2944 bytes SamSharp Tests/goldens/words/their.ogg | Bin 0 -> 5976 bytes SamSharp Tests/goldens/words/them.ogg | Bin 0 -> 5976 bytes SamSharp Tests/goldens/words/there.ogg | Bin 0 -> 5976 bytes SamSharp Tests/goldens/words/these.ogg | Bin 0 -> 6076 bytes SamSharp Tests/goldens/words/they.ogg | Bin 0 -> 6443 bytes SamSharp Tests/goldens/words/this.ogg | Bin 0 -> 5954 bytes SamSharp Tests/goldens/words/through.ogg | Bin 0 -> 9284 bytes SamSharp Tests/goldens/words/thus.ogg | Bin 0 -> 6728 bytes SamSharp Tests/goldens/words/to.ogg | Bin 0 -> 4021 bytes SamSharp Tests/goldens/words/today.ogg | Bin 0 -> 9153 bytes SamSharp Tests/goldens/words/tomorrow.ogg | Bin 0 -> 16151 bytes SamSharp Tests/goldens/words/total.ogg | Bin 0 -> 11019 bytes SamSharp Tests/goldens/words/two.ogg | Bin 0 -> 5887 bytes SamSharp Tests/goldens/words/u.ogg | Bin 0 -> 7044 bytes SamSharp Tests/goldens/words/university.ogg | Bin 0 -> 21462 bytes SamSharp Tests/goldens/words/upon.ogg | Bin 0 -> 9153 bytes SamSharp Tests/goldens/words/v.ogg | Bin 0 -> 4994 bytes SamSharp Tests/goldens/words/valve.ogg | Bin 0 -> 8592 bytes SamSharp Tests/goldens/words/view.ogg | Bin 0 -> 9083 bytes SamSharp Tests/goldens/words/w.ogg | Bin 0 -> 16608 bytes SamSharp Tests/goldens/words/want.ogg | Bin 0 -> 9619 bytes SamSharp Tests/goldens/words/war.ogg | Bin 0 -> 7044 bytes SamSharp Tests/goldens/words/was.ogg | Bin 0 -> 5547 bytes SamSharp Tests/goldens/words/wear.ogg | Bin 0 -> 6111 bytes SamSharp Tests/goldens/words/were.ogg | Bin 0 -> 4478 bytes SamSharp Tests/goldens/words/what.ogg | Bin 0 -> 5187 bytes SamSharp Tests/goldens/words/where.ogg | Bin 0 -> 6344 bytes SamSharp Tests/goldens/words/woman.ogg | Bin 0 -> 10776 bytes SamSharp Tests/goldens/words/women.ogg | Bin 0 -> 10310 bytes SamSharp Tests/goldens/words/x.ogg | Bin 0 -> 6111 bytes SamSharp Tests/goldens/words/xylophone.ogg | Bin 0 -> 20344 bytes SamSharp Tests/goldens/words/y.ogg | Bin 0 -> 7277 bytes SamSharp Tests/goldens/words/yes.ogg | Bin 0 -> 5622 bytes SamSharp Tests/goldens/words/you.ogg | Bin 0 -> 5411 bytes SamSharp Tests/goldens/words/young.ogg | Bin 0 -> 4944 bytes SamSharp Tests/goldens/words/your.ogg | Bin 0 -> 6111 bytes SamSharp Tests/goldens/words/z.ogg | Bin 0 -> 4417 bytes SamSharp.sln | 6 + 165 files changed, 331 insertions(+) create mode 100644 SamSharp Tests/GlobalUsings.cs create mode 100644 SamSharp Tests/GoldenWordsTests.cs create mode 100644 SamSharp Tests/SamSharp Tests.csproj create mode 100644 SamSharp Tests/goldens/delete_golden_audio.bat create mode 100644 SamSharp Tests/goldens/words/#.ogg create mode 100644 SamSharp Tests/goldens/words/$.ogg create mode 100644 SamSharp Tests/goldens/words/%.ogg create mode 100644 SamSharp Tests/goldens/words/&.ogg create mode 100644 SamSharp Tests/goldens/words/+.ogg create mode 100644 SamSharp Tests/goldens/words/1.ogg create mode 100644 SamSharp Tests/goldens/words/10th.ogg create mode 100644 SamSharp Tests/goldens/words/1st.ogg create mode 100644 SamSharp Tests/goldens/words/2.ogg create mode 100644 SamSharp Tests/goldens/words/2nd.ogg create mode 100644 SamSharp Tests/goldens/words/3.ogg create mode 100644 SamSharp Tests/goldens/words/3rd.ogg create mode 100644 SamSharp Tests/goldens/words/4.ogg create mode 100644 SamSharp Tests/goldens/words/4th.ogg create mode 100644 SamSharp Tests/goldens/words/5.ogg create mode 100644 SamSharp Tests/goldens/words/5th.ogg create mode 100644 SamSharp Tests/goldens/words/6.ogg create mode 100644 SamSharp Tests/goldens/words/64.ogg create mode 100644 SamSharp Tests/goldens/words/6th.ogg create mode 100644 SamSharp Tests/goldens/words/7.ogg create mode 100644 SamSharp Tests/goldens/words/7th.ogg create mode 100644 SamSharp Tests/goldens/words/8.ogg create mode 100644 SamSharp Tests/goldens/words/8th.ogg create mode 100644 SamSharp Tests/goldens/words/9.ogg create mode 100644 SamSharp Tests/goldens/words/9th.ogg create mode 100644 SamSharp Tests/goldens/words/=.ogg create mode 100644 SamSharp Tests/goldens/words/@.ogg create mode 100644 SamSharp Tests/goldens/words/^.ogg create mode 100644 SamSharp Tests/goldens/words/a.ogg create mode 100644 SamSharp Tests/goldens/words/able.ogg create mode 100644 SamSharp Tests/goldens/words/again.ogg create mode 100644 SamSharp Tests/goldens/words/air.ogg create mode 100644 SamSharp Tests/goldens/words/answer.ogg create mode 100644 SamSharp Tests/goldens/words/any.ogg create mode 100644 SamSharp Tests/goldens/words/are.ogg create mode 100644 SamSharp Tests/goldens/words/as.ogg create mode 100644 SamSharp Tests/goldens/words/at.ogg create mode 100644 SamSharp Tests/goldens/words/atari.ogg create mode 100644 SamSharp Tests/goldens/words/b.ogg create mode 100644 SamSharp Tests/goldens/words/be.ogg create mode 100644 SamSharp Tests/goldens/words/being.ogg create mode 100644 SamSharp Tests/goldens/words/boot.ogg create mode 100644 SamSharp Tests/goldens/words/both.ogg create mode 100644 SamSharp Tests/goldens/words/break.ogg create mode 100644 SamSharp Tests/goldens/words/bus.ogg create mode 100644 SamSharp Tests/goldens/words/bye.ogg create mode 100644 SamSharp Tests/goldens/words/c.ogg create mode 100644 SamSharp Tests/goldens/words/castle.ogg create mode 100644 SamSharp Tests/goldens/words/city.ogg create mode 100644 SamSharp Tests/goldens/words/com.ogg create mode 100644 SamSharp Tests/goldens/words/commodore.ogg create mode 100644 SamSharp Tests/goldens/words/could.ogg create mode 100644 SamSharp Tests/goldens/words/d.ogg create mode 100644 SamSharp Tests/goldens/words/do.ogg create mode 100644 SamSharp Tests/goldens/words/does.ogg create mode 100644 SamSharp Tests/goldens/words/doing.ogg create mode 100644 SamSharp Tests/goldens/words/done.ogg create mode 100644 SamSharp Tests/goldens/words/dr..ogg create mode 100644 SamSharp Tests/goldens/words/e.ogg create mode 100644 SamSharp Tests/goldens/words/equal.ogg create mode 100644 SamSharp Tests/goldens/words/erase.ogg create mode 100644 SamSharp Tests/goldens/words/error.ogg create mode 100644 SamSharp Tests/goldens/words/even.ogg create mode 100644 SamSharp Tests/goldens/words/ever.ogg create mode 100644 SamSharp Tests/goldens/words/evil.ogg create mode 100644 SamSharp Tests/goldens/words/f.ogg create mode 100644 SamSharp Tests/goldens/words/father.ogg create mode 100644 SamSharp Tests/goldens/words/foot.ogg create mode 100644 SamSharp Tests/goldens/words/friend.ogg create mode 100644 SamSharp Tests/goldens/words/g.ogg create mode 100644 SamSharp Tests/goldens/words/gone.ogg create mode 100644 SamSharp Tests/goldens/words/great.ogg create mode 100644 SamSharp Tests/goldens/words/h.ogg create mode 100644 SamSharp Tests/goldens/words/have.ogg create mode 100644 SamSharp Tests/goldens/words/here.ogg create mode 100644 SamSharp Tests/goldens/words/hour.ogg create mode 100644 SamSharp Tests/goldens/words/house.ogg create mode 100644 SamSharp Tests/goldens/words/how.ogg create mode 100644 SamSharp Tests/goldens/words/i'm.ogg create mode 100644 SamSharp Tests/goldens/words/i.ogg create mode 100644 SamSharp Tests/goldens/words/in.ogg create mode 100644 SamSharp Tests/goldens/words/inside.ogg create mode 100644 SamSharp Tests/goldens/words/j.ogg create mode 100644 SamSharp Tests/goldens/words/k.ogg create mode 100644 SamSharp Tests/goldens/words/l.ogg create mode 100644 SamSharp Tests/goldens/words/laugh.ogg create mode 100644 SamSharp Tests/goldens/words/lead.ogg create mode 100644 SamSharp Tests/goldens/words/list.txt create mode 100644 SamSharp Tests/goldens/words/m.ogg create mode 100644 SamSharp Tests/goldens/words/mood.ogg create mode 100644 SamSharp Tests/goldens/words/mr..ogg create mode 100644 SamSharp Tests/goldens/words/mrs..ogg create mode 100644 SamSharp Tests/goldens/words/ms..ogg create mode 100644 SamSharp Tests/goldens/words/n.ogg create mode 100644 SamSharp Tests/goldens/words/none.ogg create mode 100644 SamSharp Tests/goldens/words/now.ogg create mode 100644 SamSharp Tests/goldens/words/o.ogg create mode 100644 SamSharp Tests/goldens/words/of.ogg create mode 100644 SamSharp Tests/goldens/words/old.ogg create mode 100644 SamSharp Tests/goldens/words/on.ogg create mode 100644 SamSharp Tests/goldens/words/once.ogg create mode 100644 SamSharp Tests/goldens/words/one.ogg create mode 100644 SamSharp Tests/goldens/words/only.ogg create mode 100644 SamSharp Tests/goldens/words/other.ogg create mode 100644 SamSharp Tests/goldens/words/over.ogg create mode 100644 SamSharp Tests/goldens/words/p.ogg create mode 100644 SamSharp Tests/goldens/words/people.ogg create mode 100644 SamSharp Tests/goldens/words/power.ogg create mode 100644 SamSharp Tests/goldens/words/prof..ogg create mode 100644 SamSharp Tests/goldens/words/put.ogg create mode 100644 SamSharp Tests/goldens/words/q.ogg create mode 100644 SamSharp Tests/goldens/words/quarter.ogg create mode 100644 SamSharp Tests/goldens/words/quiz.ogg create mode 100644 SamSharp Tests/goldens/words/r.ogg create mode 100644 SamSharp Tests/goldens/words/reward.ogg create mode 100644 SamSharp Tests/goldens/words/s.ogg create mode 100644 SamSharp Tests/goldens/words/said.ogg create mode 100644 SamSharp Tests/goldens/words/school.ogg create mode 100644 SamSharp Tests/goldens/words/some.ogg create mode 100644 SamSharp Tests/goldens/words/t.ogg create mode 100644 SamSharp Tests/goldens/words/than.ogg create mode 100644 SamSharp Tests/goldens/words/that.ogg create mode 100644 SamSharp Tests/goldens/words/the.ogg create mode 100644 SamSharp Tests/goldens/words/their.ogg create mode 100644 SamSharp Tests/goldens/words/them.ogg create mode 100644 SamSharp Tests/goldens/words/there.ogg create mode 100644 SamSharp Tests/goldens/words/these.ogg create mode 100644 SamSharp Tests/goldens/words/they.ogg create mode 100644 SamSharp Tests/goldens/words/this.ogg create mode 100644 SamSharp Tests/goldens/words/through.ogg create mode 100644 SamSharp Tests/goldens/words/thus.ogg create mode 100644 SamSharp Tests/goldens/words/to.ogg create mode 100644 SamSharp Tests/goldens/words/today.ogg create mode 100644 SamSharp Tests/goldens/words/tomorrow.ogg create mode 100644 SamSharp Tests/goldens/words/total.ogg create mode 100644 SamSharp Tests/goldens/words/two.ogg create mode 100644 SamSharp Tests/goldens/words/u.ogg create mode 100644 SamSharp Tests/goldens/words/university.ogg create mode 100644 SamSharp Tests/goldens/words/upon.ogg create mode 100644 SamSharp Tests/goldens/words/v.ogg create mode 100644 SamSharp Tests/goldens/words/valve.ogg create mode 100644 SamSharp Tests/goldens/words/view.ogg create mode 100644 SamSharp Tests/goldens/words/w.ogg create mode 100644 SamSharp Tests/goldens/words/want.ogg create mode 100644 SamSharp Tests/goldens/words/war.ogg create mode 100644 SamSharp Tests/goldens/words/was.ogg create mode 100644 SamSharp Tests/goldens/words/wear.ogg create mode 100644 SamSharp Tests/goldens/words/were.ogg create mode 100644 SamSharp Tests/goldens/words/what.ogg create mode 100644 SamSharp Tests/goldens/words/where.ogg create mode 100644 SamSharp Tests/goldens/words/woman.ogg create mode 100644 SamSharp Tests/goldens/words/women.ogg create mode 100644 SamSharp Tests/goldens/words/x.ogg create mode 100644 SamSharp Tests/goldens/words/xylophone.ogg create mode 100644 SamSharp Tests/goldens/words/y.ogg create mode 100644 SamSharp Tests/goldens/words/yes.ogg create mode 100644 SamSharp Tests/goldens/words/you.ogg create mode 100644 SamSharp Tests/goldens/words/young.ogg create mode 100644 SamSharp Tests/goldens/words/your.ogg create mode 100644 SamSharp Tests/goldens/words/z.ogg diff --git a/SamSharp Tests/GlobalUsings.cs b/SamSharp Tests/GlobalUsings.cs new file mode 100644 index 00000000..cefced49 --- /dev/null +++ b/SamSharp Tests/GlobalUsings.cs @@ -0,0 +1 @@ +global using NUnit.Framework; \ No newline at end of file diff --git a/SamSharp Tests/GoldenWordsTests.cs b/SamSharp Tests/GoldenWordsTests.cs new file mode 100644 index 00000000..2665c54a --- /dev/null +++ b/SamSharp Tests/GoldenWordsTests.cs @@ -0,0 +1,90 @@ +using SamSharp; + +using NAudio.Wave; + +using System.Reflection; +using System.Security.Cryptography; + +namespace SamSharp_Tests; + +public class GoldenWordsTests +{ + private readonly Sam sam = new(); + + private readonly static DirectoryInfo goldensDirectory; + private readonly static DirectoryInfo goldenWordsDirectory; + + static GoldenWordsTests() + { + var executingAssembly = Assembly.GetExecutingAssembly(); + var assemblyName = + executingAssembly.ManifestModule.Name.SubstringUpTo(".dll"); + + var executingAssemblyDll = new FileInfo(executingAssembly.Location); + var executingAssemblyDir = executingAssemblyDll.Directory; + + var currentDir = executingAssemblyDir; + while (currentDir?.Name != assemblyName) + { + currentDir = currentDir?.Parent; + } + + Assert.IsNotNull(currentDir); + + var gloTestsDir = currentDir; + goldensDirectory = gloTestsDir.GetDirectories("goldens").Single(); + goldenWordsDirectory = + goldensDirectory.GetDirectories("words").Single(); + } + + private static IEnumerable GetGoldenWords() => + File.ReadAllLines( + goldensDirectory.GetFiles("words/list.txt").Single().FullName) + .Select(line => line.Trim()) + .Where(line => line.Length > 0); + + [Test] + [TestCaseSource(nameof(GetGoldenWords))] + public async Task TestGoldens(string word) + { + var audio = await sam.SpeakAsync(word); + + var provider = new RawSourceWaveStream(new MemoryStream(audio), + new WaveFormat(22050, 8, 1)); + + var outputPath = + Path.Join(goldenWordsDirectory.FullName, $"{word}.ogg"); + if (!File.Exists(outputPath)) + { + WaveFileWriter.CreateWaveFile(outputPath, provider); + } + else + { + var expectedStream = new WaveFileReader(outputPath); + var actualStream = provider; + AssertStreamsEqual(expectedStream, actualStream); + } + } + + private static void AssertStreamsEqual(Stream expected, Stream actual) => + Assert.AreEqual(ComputeHash(expected), ComputeHash(actual)); + + private static byte[] ComputeHash(Stream data) + { + using HashAlgorithm algorithm = MD5.Create(); + byte[] bytes = algorithm.ComputeHash(data); + data.Seek(0, + SeekOrigin + .Begin); //I'll use this trick so the caller won't end up with the stream in unexpected position + return bytes; + } +} + +static class StringExtensions +{ + public static string SubstringUpTo(this string str, string substr) + { + var indexTo = str.IndexOf(substr); + return indexTo >= 0 ? str[..indexTo] : str; + } +} \ No newline at end of file diff --git a/SamSharp Tests/SamSharp Tests.csproj b/SamSharp Tests/SamSharp Tests.csproj new file mode 100644 index 00000000..65499869 --- /dev/null +++ b/SamSharp Tests/SamSharp Tests.csproj @@ -0,0 +1,31 @@ + + + + net7.0 + SamSharp_Tests + enable + enable + + false + true + + + + + + + + + + + + + + + + + + + + + diff --git a/SamSharp Tests/goldens/delete_golden_audio.bat b/SamSharp Tests/goldens/delete_golden_audio.bat new file mode 100644 index 00000000..d4a99e9f --- /dev/null +++ b/SamSharp Tests/goldens/delete_golden_audio.bat @@ -0,0 +1,8 @@ +@echo off +echo This will delete all goldens audio files. Are you sure you wish to proceed? +pause + +del /S *.ogg + +echo Done. +pause \ No newline at end of file diff --git a/SamSharp Tests/goldens/words/#.ogg b/SamSharp Tests/goldens/words/#.ogg new file mode 100644 index 0000000000000000000000000000000000000000..85e6111ebd9ef258a1b34b987fa98673dd17aa16 GIT binary patch literal 11010 zcmeI2S#uj#cE>eudCn(DMcQ0Y6KHdVi(g!H;|d-6KM-gu$hBJnXUC z?VbR}r_(~5aapz6MU$OkB0L`n2dsugjb_nc^#sVz3}w{h#n z3a1O0t&|hukwAdqg+dD?{Z4(jvQVhDR@T;5&J`E5()r?c>WZPx54TiMt$QB0FfMay z-E+W&7Shj%;q`H$g;Oz{2QEB9w5(|NTyPCmm#W?Kzy)1g4Yl*YMWlsKL+u=J5!jNN z8O{S2bf=l&JaCa1NG?(m*?Hh1F+|ivb{@FMW0>YRGn@x55(82v$-7G0eQjJMhRAW= z9j4va#zkUKj|p;0yf!XQiMVo1D5u10<3fglni*aXS8vej3|5+rWwQCaBqSKx9}Gp) zxe5-hLAOy5Q;9@MlpEc_+S;H6rN+5%h>K;51zwQLjYgxA&&44TL6obl!RF?Aw^1fz zz*ntzR(hRcHW~7Jy@>62G9!v9hO*-%)oAq=UogalfESZY_@wR$v#`Gb(hyS*9XgG8Haj;q@HG{-7L#IOF>UgUy#LcaxPo+3!0fZqs<-S zI4LdF_w!Z3*{!p z+&?

eNtyaf~+*7(>|AW=E|iHM@Bx@8iO%j?rh(^d;4go-!4m%kSP@!-SxF@ zx6D$;TQ@F`T>S9Tie(a-oW^Fm&3b-}OE+`Kk@ z^ExN@9(?xu@Bj48{@QXrAI~KCcqq(8=z!OunSTH6U%vCsC7mf)>K%Ue^y&A1c=~9q zosUEOLOj89A@tHrjK25wTW`KUI^|1LchKv*@Bj4p-gYG)Peu7iln=)uwAZn8?b6%7 zeCy43#->bSv-jZX({KOq^zpsjwiFLzDgjePXxEZvLZSKdG0u=Cs^BOzZ>cz-!5qgp z3Jrkt60D;d2Rk~(`BBFC8aq>s zlYn)A^AgLzFfeXF_0yQ*CM4)85y~< zNj7wlFy{I{Gi;*Cys~&6`XH zhs$cS=u9>*RVeokckVuT@cE~Y?j5dF%h|Lfmy3m>kPZi3#--`;>mOYF;DcY!Ea<%y z6%MjIvbGo%^2P4sNeFr=x69)X1^iAEC(3oOs3@yoQBi2Hs3=Pc zi-Lk0Xvm_XfJH^|fJH@dyR251&*f+Q5kDJAiRJCx!$(Jt?%vto-rL#eb{mZr0J{BV zT?~1h#`!reovrozdprBP+r3t|+uhnbIC_9D^zJkyhIYBku&mc>w(7Nu^D~oUS4Vzz z<;o{Z1`8F4&@9i2NimZVrAn=Jc=z+){+2AYzS8g3>ynhql&ghoJmhic7RIKoUAuAh z;~O`pX7zfD$uPGttI=949yTHrD*e5^!#n$f-fF+Qwy}f74|Y(u?kH>uT0>z|(6$I0 zABAP{D8Vs)+T*s^bc?eySFe8j@%6a{ta8Wsz1}Dq7jfT1D z>B%L%$zU{_7v^Vg-kO@8o*ti>owriqNFu?pk#Hm?B=I~}X!e&6ZXX=o*<4%cw3nNB zwYajnGFV+5tn_P@QZ}2-$x^OZDin)SIu(tu0l(kl_51um#_y+mPOI6tFh9@7#f+3K z=H)_G5;3M+sWn=|S@2f0-D)DhV+cZ5=q=lAgiWR0w3k*0N$hcC@WwCV2)mri;+I)D z4|J@47Q37qj!%<@{v^rd&{vW~F^v~MRIueO;EXT3T4>mY z+|T``{2m?9j{pN1_{06jVzGEUo@*OW#!TG;{drl9VCY+)!HvV#*3oH_tXdZ8%} z2pxNX>_GK^vV#*3kY$cN@S-uF0Z~Yv-377k*+U_;VIw_A&sXxpS-T+nd|pOB*$*H& z*~BXt;00Hl?m}_Jv6@cAbXG7t?~4B-7>KdXaK$s`RP1@O3lc{^5F%zFSqQH?hYe8; zH4P&H;G{vrN)VFZz|YtTiRB;~O_M|vLXiWT4|Ri32@%&Q9|eQh58jKBSXM$Ip1@>~ zCz%M1#CCF+L&W3thj|4ANF>LRkC)SAqe|zKO``+J^g~W%OE236W>D54%b$Gr^S}RZ zECBaIugN5GG*0PQ3{r}blTIv_N+ldnLL!zDlJPk78fGDrbb6@dcm|)uxd_h1WKu@U zC5f_$<`M}UJv<6&)D;MdjF``5QAMB%V1ndO;!z49ISwN)!m&&cr418wxm<3y2W#L8 zjmRA;g?z1F=QVZtnjS%;I7Lteo7NuE0pGC)p?ab(AI8i#N$0S=t@_=qJZI!zA` z?%u~aS@R+B7zGQ5glZt915;sC6KC=izv+y@&TH_ ziV_QRL?j8OOvXGehuuydbvTcg!gU8$NT*O{Q9dsT{dgdV@-Z4KRZv?KQ*&4Zs4v0C ztwpht7Ex)mTJ=IcgIg$4sUgWkcwc}D1Ss-MMeB_QlgVo5arIIx4^u|Dlt+Op!5;Bc zy@dzVjwA}va4^E6a0&)&c9+*rvN*2XoK}m`fM>l>l&2Y7V5J*)q$-z4V&k}6pqu4sigG)cASt;_X55~pQ0}$b&3dI28xEEW#Zsdop*l(y zaw2L^>#)iU!6g_RfIVDrB;}`3clwx^*j`>kve`^#Bc7ZSQa&q}>h)^B->w&Pxe&|pF#(UA?OKHoQf}Rn!-~gCFJ<*o zNY6rQ&qZ zEo9{W=HX!HV1Ik1+bkx0F6+eHqAn26ckmyBhIdr?Ji{c#V&l&3)qXw0`6n*F|Ne(p zOt4TkTcq7~i)P-(CUe!n&Vz%aqn$ykRm%uG%R9Y(o=@gP-mRORy7=z9m#@tx#oFrX z>arA%BJAXPd-v{VPrlgS?^M#hsLyINI2^M&m(S~rhTZ1H#W~H@TLwoef9KJoPahoZ zlwusiakatv{@(39S>Qa=6PG6@#urR3t<^`X#GANQQ;GM0tP;Bj@(FPe$Y&A4BI79hT; z$^yhB8!NJS3GuNk6dQ*WSt!J(vH-DOl?8}TWud6zIpWb%As1;%6*7p|RUw1eb*7MC pBwjxi@~qCJ3K_)LRUv~obEc4gK&%S+=g@2a9C~U-{$CHh{{;8A+EoAm literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/$.ogg b/SamSharp Tests/goldens/words/$.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7da3ed14f334ea99fea5a181502f7e9fb3e028ce GIT binary patch literal 10310 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/%.ogg b/SamSharp Tests/goldens/words/%.ogg new file mode 100644 index 0000000000000000000000000000000000000000..088dacd9fe4269ac96f5cb5648f5d1696eb01167 GIT binary patch literal 14040 zcmeHN*>fAod6(bvoWCHIDnG=2iK|lku$$PctmTa?txX+EiIRAL7YGs{&KY1Z7|e~i zFt`Q;2%h4hgQAX=rLDbU@5U~<%BfU&^AP7@|C#){doUz7;zrqhaZ(yejqb0%SjmJHMn(_0(7;8j8CpGR3_HVK(hWYslwqW( zNyz93$!MXC=Ft!9p)^7!eXJi1QX4sHkv6$V59vRIL-Ravg$BHb0SQjsJH6jjxY zTFtU?L9JD*)l9?CaT$hbm^I6?Z2Sk^)OA&nt3*~5%lJbLx`;-Q$}m_Y28)WK=@5iY zsw~t7b%qIb)C|RM)eM8+r--13;v+)=N+1-9d?BC1mFJ5kQIa)iHFQJQARqxgu&bJG z+OFp}8opomT-(w$mB4`#jEX?OSYSe8%JR7a2VG^6j+%@`s!-S^p)6GuV1{$+b-%8t zhGoOeo(r9(p;Nai@RMmdV5q~E3wJ=i3?~;$kgp7N%2lyk;<-XTpQpwuRpwv#0@z^` zQvl#lWxI8sKyUhvWvDV{OemKnOe7hnu1aMgpIJ^VEiI)oS-vc(dd`JMj8_Rikz ztzM&6DP)t1?XRwFZmkcRzE`X1xTE}bu)5aocIt+fODzER>}-PIRuoAT3Yq2QG+eD3 zb>RN}Zx04-M-jM;Vb_D+8fK`Jj^CWRcIB5>u3ej4N>>zPtJiB!-Qf#ldJU=n|iwn1|UymiKuGCrE-rnv%+8Oj34au}ys~hXjpB(PF z8h`Ph-g)Pp3qMa6WnOEn@9pj1etNLA)@cZWVYh<*2TyjldJ=c_-JksAAAcTC7e(D` z6*I}i_(Z-`G3q-9A3l2e^k8SOGgxtyin5&J6vgP)Z6z~v^T%(#`R*@o&KUN}?(VLu z$%O*P`MtFVzxwpo4~hlfuNO(}c*>buvkUcE9IPcP<+K->Z3QxU%d$PwZgAV-KF0dj;`0^|ts zj{*5q#4>?AL`)z@h|7Q+AtsO`#It~WDq;mrj(mK9Ihi3YFefv_`^?D~x9$`*qh#ltSmm?-lKJqbJ77VcyEenD;S{6Xujh4kr5MN`@r#RdbF=fjf(LdjpN&u6 zn4O(n=0&}%;iX^mZ9FbrS@(jq?ML_bw%QJlS4E~+^ZaJLm|L74zkVe)v%r<*id>OO zd_fciRj<;g)#2TpjlPR_TUF~12J5RqE59@|Ha5DH$`vcB&KJ@P^XXKEE9s)@_6m!`sAh9#Z+mkf$fo1@UeNX|Q;>D1y|cHoxxOM6@s2jVW;@FP7v@BgJ3S2gwo=c>%oM7pqkdMV? zAZfOPl>oh5UWbXnHd;-y=~$+2%Btx(eb16bZf<5Sv80=z%1iN?*kqcMO%GeIuOs#W zIYMj!vLaXVsYR|>78OnqN}O2Ya`Oq|0@t>+Oe&emXqMON+E^bV_8JY-!Ar0nw5SU- z)9Lqn4ZDPwy=K~;?^jB>6kZ@D5${DoP^)FGFrUnDLdEx8%gCfNyydsL{XRAsqG`H* z+p9O~Uaw_ah9Fi=ys!nlDQl+hng);cWjY%hYk^V~1i@{zy938oDkbd9R1JQVtA;8T z=HrQEIu9SJ)nt5rUaV@C>&cZ;9@|pQs_He{>9+k5yy2A*QqltD@jC5{IKXqV&X|Yd zOpumGY(uR>$_UdjlmR)Ugp7obb`F7j4Gu*>d5)n0kRGeh*uq9sE-N_Wr;NHVY;dM&<3#;>8Ev~j%XuvQbZsbomn6X z2{&b$k!;e zIaE!d63S2q6ATHA9F{}<6df}aTA@7*02>08AehKMVrr<5c8B_CU&z7ggqiRk{iEUp z8xf@4v}9E(#K=P`5k2ZeHPXdU47nK}QOH<^@{|x_7}lwdA#etb2*Ns(r}dD+=to)! z5A6!=P!tRxD@iY9LP6D$*03H*QXX1oER>IlhlC?aI6#7fh*90-hlxk3hXlq#m??L} zP9=^^Kr1*y-KY|P$4er7)Jug?uz!@1*du?0MCqhW{}EL6WK`wix9^NmPY6zGj$$ zfGiOt=4m&nGYV}JD(k0YG$@6YAt@9%#z=%BW3)EZO@1lkuq4Wd17Mv@E2X1K6|v$t zARk3eWf!iPbnh`Q!^Hoo&kspi5CHhhQ#IwbJrG@P1& zI9aU;^De>=0%8Ro0uoXgkrEkEBvV()*=&~B`POhP7vaQGzQ`32W+@4lB9`W7=M!Xi z=nA>iB6hrntYO3KB6@?ci@CNoX!{lHLR;OznrEApl3}_HI0K&?h9stWvEt+FCA}Dr zFN&IJ@wrq20iSY}L)22MilxO=hHPHVwry%$NtEru+Muh6*tz=c9%6l3#nKE5mQ20j zsZuJP=Mi-D_*`;+o|9Aq+wV-0D{!S$Nvzn0DkYQ2e8~%fpepit&am5EOh(N^7_}ms z^~OfGTHnkL+TPiw^W6G)cTwFH&zUNq~gwF=YY6b#6 z9XxNv!{?1C`-mFtY&w!qbo^l5NAO70g`$w=MA@@ck((KxoWVDcRm>)4V%a?Q-MXp! zjw-7~eAevj?DX5RAV^Jo*0h_B$YBO`5dkFMRP*Uce9=JGl9%QtC)1*CNvbMyswm1F zLP(pN{kA6p^~(0%9#o1&RkggfW9ctLC|88$>gN4k$1{awc5!ihdMTe*#9U(L+_?)A z6|-6A7v`s8WyRUJaw?HdCNlB4 zOIKs@g0y;jb5+P>OP%fePd~nUyWi;g7>Gb4!)%=(!*K;El6h@80A4ww`m=9zOcr!G3o| zkexgK{->}0__>&wxO_2R^m=kWK00#l%{Sk^@MbJuT4~jCmoAUZa`*rBk6(TEV9gL# zwjVsd|LEbvMj%aHy?XZYt+;Ke$=Kh0|NB2mlv}%xJAqNisPRT?~({HH% zarwR+$LTlrH{M34<2e1s4sWCXEshfpm=nwOyFFkSjuW@dt3T*Y;5hxZd6fsMq-scB{AXSo{ zzxeV$zI?ppV`Eb)2>kW0bZ*=y4&$Q*qB`SXJT_^8ZtB4Zzy zc_Wg!c5!^1$-MX+W)OCyGM_wu43R36+20BZqd$H7t+z&atF^WJcxSbYSaJEz<9~ks z{DZ;Hs*6n+FW2upxKmC|o`3)Sv5EL(mgl8H{HJfd_0#ilAy}C+E zwk(-<-R3Ge-FdcClWtzVe0fx=HDx|KI`RI<#fxu`&Srz4xiC3;Ii3+}tM%P`yASTH z;yhcn?mT<(hYxmJIuy>Pvhpi{x(rmW2nx~Mm7O~uJvj`dY$6uJR!cG+#}d;s=g*zH zIT;r@flDFWee?YJ_udzE92O&nUCblmESY=HKKf{9;P;!BC8+Jq!^7=B60%t?SUMSa zqYBvs&Pn{0%}1Yo^z3j2drT|XzIX8G(X%J_*11$7A?g7F?Y`py+4=Y0TLL%suX9V2 zSFW79G*-ms*Hi^AzqB-$5Zd<+pFMlFiQQIrce|${ww_nrz+2ngdwhSlVagTDZF$|b z+lTjeH_S>VC8}1%_BIAR--^d3<`c=qJm$`-mS%5W9v`1i&gKO))lBT>&3T;TRy2FC zG0+4)C5o18xBF{{hj-dcEn1sTpB}bt%|LF1C7bQ--Hjf$*12Rl2el-;otmAP86Tgz zJ`v9w2z4(4XM+J{INJ;;Q`lob8O{)Bgp+6lGCsXHH9kH*J(nbr@T!nb#;2#IrWdok zqTvt)N2uw=#bjDk%x1gYu3MVO7X(qMw|j%Ft@U=@MS_E7H3wU_aa@SDg+p)`XUXeZ zx3>muQ>)@zM>E~FV%8CNuTzygv=NT2^&S;ata^K$$ZrjrEncB3`JP z^)`gtFrLNdN|wl5I3O0%i__CnI5sZeXdRy~i*sZsQ@~EzLV*lrdTtTlOO}gIGd`PK zOlAwB)r7Wo9oUdhfN>3g1W>4Dv)QFXSs#Rm0nikM2r(HlhWIkXklTt7YZUSjF(5~X zFveg3+r%s^vF9f8Jri(LH; zi{l$y{p}XV>8?IyaS+hNoxSzQ;jf7O+bryS2AMUf4DxCa9Vzo9(o|XD7po)X4AEhw}TK37>OJX)sRqQxqb(7&3X;FGgOX5RxG6=@Z|W?AZb@<;Fz>P zLMli@lF9^lDnkM_h}jei8H^%NMnO7-LY5@&RA2{*LP#Kj8YEyKlgA-p8YJl;EJ9Lx z$RJ3biG%zjgeGXi!Wk)!fK3`l!igk~7%LJYJcxjhV@u>z>A;IaMDRd>Lh;)Q7gVEB5*;*pvlNJtEvV9E&!o{87HqKZwj_B2HGGf;9dCR_4V2VuRZYR?Ex0( zCKzdKn+3R!N*Wm_5%M7e*jT`v5>O9=;zuHprsFb4!E-{5SV)D&>zUSLb|_&Oi)SVy dIYu4=J~A_8C%;UD^)ZmlFtz@=`2XX9{{pTpr@#OJ literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/&.ogg b/SamSharp Tests/goldens/words/&.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d24c7b15ff9bf963f4992ee777f8841dee6cc667 GIT binary patch literal 5644 zcmds(+fQ4`9miRz4}GrGYM-jA>OQnxsk=?0ZBnI8&;kl!10g^HgkVE#Fg7;69s3*~ z+jH*c_HJ>F4g9rpd?2Q@V{Z^7SBJ8H`RZ`FJso?JBh%>Vu& ze5tANBxgT)^z6a%V?F)hu>%JW)^;?D#ihS~es8Hn(?}kD^6VdfUrt^)ap<>48a^_ews;-G zBNuz?n#}&p{IhRfetWej4fRI^HCNKOP-|WNfp_11=hyXSe)ZP%xiPoLgA(hXef`aU z)+V`DQ)^>Odws9Pj(mee=Tjn-=qwVUM5mt!B|5()LWxc<5lVDkBSHTRTBz2H>;XZ(AiqmghD<)2Is4nP{^khoUdL&!T2HL zgjOS=VEjLg6IzXg!U26Bu99(+_MK2TpcGss<0kDpp>UH#UI&#+9!|LgB`X zP@9a>wC{w%jXw;v$tX?xPAHV7`$i3|Mna)9O&c||8VQ9G>Vsl$)cSoV6iR3iioH?m z_nlCv^;YAhRE>l}t$$&>l=hcUW&G}g2kWfm)X@(bj< zHtz3l>S;QD_j?p^4NPnK60#k z*c^=_lue0DuazI2fBxddbB|V9z4^t)$^uPCQyZWD<>`|J-fiwW)o}V)W4qOE=Y!6p zzxz!~UwZM*XHPe-&tI9z=Zb1_?DFE~^-KN}AN=wcO)X|OYxfMCwOLHo_FgB_Ht#=L zp3X`Iy)>7dUS3_hePd3!*nYBc(BTUspUY~4*Y}|#AAV$tl&0sCA}dO=oENj#?tJ35&u5CVN76h@stF^J)G(^j2cHzn&KVFM*;V?J7eDC3nD~sbg&)BUkZQV9b)5LSl zwTD}pnoe~L1d_U*qTR!mJ|9v?r>g*)} zvB7X*YGrlp*6o{%#bm(ca*FA(QbIspzs+1*Ti-h9LjvV-TDy8WJKN3=rY4qF3)z?w zlH^z_H?#ck;nv1XE)nFyVuIK6`KeNh>ppX`z3sfi>ZB-&bqtIdVuPzl4J=k}lv-xb7)rkb;w6-?3wX~VL2fV0MDy139 zMTa>MUYK8))Pzt_PG$@7`T6>2Xb# z8N?@N=VvadyvH_TwO+6~oV+B8!vkICJ3CIEKHFnuIMF+7>9zM+yDtp7L&eFNL`+mT zo)1LC+?8v$R_5ubmNtYF-FJy_qI=R14!Ye$IOQ7Z>oZvf9KHxbkq|XxG4=HH^f}xV z^h31UF;E_*BfJt*A~fZ84B;^)t><#-n8ZgYD#R=4;>6U{R52Hm5aOkDt~fO_H#bqx z6(0IZLNCDZgr49-G)0Gyl-3J5J%M0#hr{KgBT@_k;dufU%_S5Gra>>Z9i||%%EZjv z%v2HY3J+rG!W8s!X$65SSOW*ch9QvX0EtLa6p%-k`3RoDXBu)-AK*;7{Z_chyifPFv(qZ2~!XVY!Xlq2*@O+*oMeeD9W<8DF8w-C@=)Lw4H6N zn5QW3dmm}PlM z(?@f9HW`yePLMS{H#R<&&!*z4AV~34CSNGzvuTy*P!wJZ$xH@D5KB`5C~Kl3%TkmH zxSURpmx@HA(J&Jj8MY1D9KHYpZx+Vqb_@>MM!e9AMxhvZTuv7ZML9{9#4tlsL7GL9 zn#yFr&u9d3yrgFHh5TqHu1bQW##7n+`1qI(1(5@Fu_R_rX?&Drk)RO@fBUA2We>w{A(%pV zg#u%}K2)g$;~97+p@5xtD6phgt#};;=EO61AixVkfvxx-`P|87S&9Mi9TKoR1FujJ zE3g;4AohKraI#)w#jbR|>47S*Zdmb#2WpQMB_PY>1(QK?W{;Bpjjx@H;g?<0{3{!Ez@A z6QO3o9GVG*aR|iVa42)-weS-tk4kwH9%`Sg;LR1-U65oIOM&mWc0muMhyn-mArwAw ZD3lsih01MEK&{%LC__{z@bv%x_Fq4#9Wej^ literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/+.ogg b/SamSharp Tests/goldens/words/+.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8aea427b4a4ccc78dfb3523ad3bb774ff9711c8c GIT binary patch literal 9130 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/1.ogg b/SamSharp Tests/goldens/words/1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d6bcca2ed80c3d67c55913df95ca7267093affdc GIT binary patch literal 6811 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 J0sO<{{{ZtEbngHF literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/1st.ogg b/SamSharp Tests/goldens/words/1st.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8b6003b25377730219bd2d9fb3c996923487577f GIT binary patch literal 9259 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/2.ogg b/SamSharp Tests/goldens/words/2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..64210b5a7308e6b9d02e1f42f7718f8ebf2f1a16 GIT binary patch literal 6820 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/2nd.ogg b/SamSharp Tests/goldens/words/2nd.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a42db36dc420a136585fb8814f4321fb8cf147fc GIT binary patch literal 11922 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 EH>}mRx&QzG literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/3.ogg b/SamSharp Tests/goldens/words/3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ed6a8c02a8bab3ee40a71277404344c78622f1ee GIT binary patch literal 6718 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/3rd.ogg b/SamSharp Tests/goldens/words/3rd.ogg new file mode 100644 index 0000000000000000000000000000000000000000..dd2e1120a5760a4bc9670d1798f37a8980115e16 GIT binary patch literal 7651 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/4.ogg b/SamSharp Tests/goldens/words/4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1ea9fd27c6252d82e46a6036df1ee035274ff145 GIT binary patch literal 7647 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/5.ogg b/SamSharp Tests/goldens/words/5.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6fe7e7bae61ebcba2e5f8e313d6c4f41b7acf760 GIT binary patch literal 10153 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 EFW%ktL;wH) literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/6.ogg b/SamSharp Tests/goldens/words/6.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a2c33f1adea4d4ffc7da722bb86ddb3219088227 GIT binary patch literal 9100 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 b8WxFAqhd_m{e6vwCmNAh50evxN#Ok-H1=bu literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/64.ogg b/SamSharp Tests/goldens/words/64.ogg new file mode 100644 index 0000000000000000000000000000000000000000..471c16aec244ab8e364153924e098f1e091b9278 GIT binary patch literal 19270 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 yf?Sw$`wI=I&&+KHCiimFMd|eczYr>guh! zdad5~ZuW47!{H)JrnWG47}znQY<3JodC;H9ckZpK>5)xG77ZlD>09TX^}FZXTXn07 z*RH<$>c?Nda^>xpZ@yylg#YA^uUxtE75w|tn^)NHD_8yq9P55~zXL5C8zPPkv>Vh= zyH0B|O~~|k15I7VNsY~%Fxh1WX%mN>6Un4J7UyW;H5sYtCZx>S)N)d@VGQP!^T`Z< z>*|cAMhnh_T600KMT0x0t_MSB&729Lz_?76gy<5j>2ZC=VImC?)7CWEiJNIEWJC_M zpPm{`kyLd>&f*cd713OSS#u;DkjCJ~%m*`J+T4sq)ci9)zY&YDaBmQiL!(_Ibp#|_ zV^fbY^p+uEK)5R&l2k6cHk>e#4vcfxedw{6HJVF~SY!@>4}nEtB=f;Q=}K!}iKLJa zQA8~|PAopP+8-&fm`qn20+(t~xH-jOahOcgGn_LoOp*ELimd(IcyuQhY!+X0YPe1*zozD^t3BqbGU!CX@}ToVXV zpq9y*CZjo@$aNjA$yB+`rIy05pV9L0nlD3_YcWXRX%XO>@wxI^tNGwYOq+2?n<3Qz z(g4UC_d-4P)1a(zb%e|n=QC3x$(%a;Pcvd{G~7^QGHo6~Be@gO(*iR$T*x>eb)AbC zU|kHHXx)5`<|?GdTrejrjP8!RFj{i47L2SoM@ObH$cHX8NY2n(uA&Lo19MsjspGor zMZ*gwY11F)=zNaxLJA66Op{cpr)Pa$%ZwK8Naw;451^}YAwy%BXihXB zIvZ!rNQ0(9<^DCV;OQ7NbMBff^^lBX_~3?`kXaM0sp}B<2*@=Z8Br<}r$wVeASF4pwG8Rdvv-zT!%_NiYcsvwMWb%@b zO8ET2upmnLbRrapCo^IuivYQ7IvqopYPBk7Qi)WigfOMNDCF~nO0ld|8Wn`e2x1A* z6)}}ebQp}6VK!8EjvBJj%Rt>6w6;NTOVTBJk6oDxo2|GRhNIX#% zQ!%U6AxK3fs(GbI#62~o1Ll#|j@aXcQh>ghxxC3HvAnv4MzfV6>3G~_}i;|oPo z>AF((IUPsNR8A_Eqd`wN7)%P0L@J%iWs(U&DizhbT$JLetUMZzx>72UQ0i*GR;x`Z^kVwQM?npQi_rz0aMK0vrZg(hN?Q}Y#kcvhM zvf4!%N>#aBPG^g?#WtyL$(j zT(KMrI1cs$p;Q(VAYX^uTr88X+`fH#pk@<^OtUkZsm)3%lFelENPMnd%!Pb=hYnA% zT+Rc--kvX&FXwXER3w*5Wh41&eKs4Y)l?#r>n)Ct;W8D=<;qo+!Rx8(@PMdnzzYTg zA*&-8D;I(e^DD1?_j)i}sLDR;_D&=%tCMDb(7WAf)un28eEj6eqmyAc;Hk6+qsc_{ zShp+|Yv{n?bEkriqy6vwU^i4B4EwEE(Cw+J^LIa7%?6EeS5-&#_IP|YY)Xm!-JPRC zr7GvP-+b+rtzBDGlKY+0NxM}~WaaVuPd<9@EEkVd>;1{>SP{Z5ht1;LwtCz?G2%YB zdi9Mxv4Z-jA&*@sD0d!CR*UIi)>XSjWi=*y2ru?QiLa}N;8#=nV@yZJ?y!71{_CxVrs}%hHwOiK6 z*}wkcvnS`{LZa7QoIif};6bC4F<-y_;>*`|#?+g$FWo!wj4%{TWO%Lo7R$xj}0L;%z? z5CPD&XCeZij|@ZrbY>s|pd$kj0Idu}0QB^khyduCfe3)k4MYIc=@r{X$&8A{pP3mXCeCLMhcf1~heP?4&mIot3uXq1k+s>wpnQ$b9u9?Oj{)WX zc-s8FIG(+rzU1`P7SwNl_Uy8a<9Fqfw5#RcZKTC|$4ed`-64G%sfZC;M1q3TYI*^1uD<0-XR|ij?#){+eh2z55RzBHnnIOQUu* z>}ixFwl~+!o10rZ+i!30?qkz!vs}Az*`KnsZWD<(fsH>_dq@zM4aCoq>aqYT!X*Mr$nCajIry*bj zYp_3Ub-Txl#XylurCMWkdj8&Hq;RZG2F+3_8pQ(>(pfHM9DBRhOeT}X>NHzyc6;3K z_UvxoGTWSDp{|ZvEnw?)`oPxckLT|_e*EBk*sYfHnUV}_c~KJ5`CKI6xUsQu^STX? za4ZQJJF^o*Nqrmy7}#nT;P5nOfCILALs3#fTBuj+*h~d6kGJg>%fZ&>wrT&s8VvYc zrtPrw2EGMFgcswn1`?KT0Y(87g@0}hmW(`dJ_VMZ2 z>DgJgU6Znkl*yP079r8`F^Xg5Y{&qy2#f~AYG*i_&6lg=F0#7zz4AevBd#iDraC zx!&k>+Wl@vZMT}Lsv^t;aX1>n$bMQEY}VJrqEuFz&33z`wi>M_CULvdo6MHC0rGgY zoX>jjs@59-sCHUyEI~Zbi$WqA2zb4IJgWNx!4N>=vCzE7L0S#~(&q~WAoO|s-asH4 zOCU_eh(lqFIKXD+&={g6p(TLC<$RDFr3RCu?CLNH<%Gl3P;!_Yr3RCubQ>_u45gRD z7Y0os-+H@K}ByJ>mLd%uv&Odza&`7A7Nt$qx9~Y;P=Zc-j`qk z81?sH0vPrGGGH&}89*-0951y?>e9hGjPX3v0F(8(!Cp)Q9UlQ@FsUJmo%!ki%{0K$ zAXpkIN+|2nnGqzRV||IXn{8Z2=rsqw6wGJS@knjqElM$8kaD=2NZD*M5%N17mi_&G zi^+UowK<$F7v3ef94@=diECImnabepT(j9xyKO9}HhlI6qv;%%>f_`2d^+m3t4gJa zw}SbiRLGIba4_JoA22+?r9`8+N+aAO|Fli9M2&1t9C?GxrUb2(isPgbkd?a5eelmRgs zi^L=GSUi!61^h1Cf!VaZy|uM%J+ueI3A~KT2wB_~Q`m`>W$c;ei_=qV02ku{E=zU1 z`l*U#S?%}xqrte>@3e4v?R1fq#p3pAKEoTsQeMc!fIe@&rLnj#s082QT$dqjC}N^@=4alMV%4cH7>bX=~fO zZ*{so}F?k6soLLUfm*Yh}CcFi=37h??-rsL@dMuf0G=mWzTrcJpFQ>W8* zXgjpK9B!DpovtG*qS~B+U_2)`0GdJrH3yAs1ITzf9d}!@K(9-!rmY=ptL$EXFd7X< z!+t+eX`xVS4YA2PKcnqfyHzVmc)u%21^g3)xYudh+1k8$a}%cScv37WwOUP9N^(h2 zYTY5Whi9j!%jK}&kkVnV(`k1)u}Kc%@H*{Qv&C$&*u3Gi+-T3|tK|w0EXX*HR-=t6 zEy~JpJYUY2L$I+qz~&3=A?9RFE<}S)i+O8nbBj<1!_j1#UZCUUZ4~dnTixmE?ED<4 z;ZZ3F$vA}AMy8X|uor>1b}*5wws2f*wEFYud^{ZvwFq5o9=q*^EJgix)6N#gwq>!o zqj7-`T*CHUuC>N<4DIan&T`sNq;Sw{ciL%e7@8# zR(J(=Ay1n6eTEP~3xjMZA#Qm;<*Z&Igf+{IW zIvE5K@qqO_;J5-rFNRJ{*60l2B2?IezVMXaNTkYXw8eBXLKmlh! znl4Yz&hM<2-I{{UR}!f4j6;R%wlHT}{o!;8EUW3bQKE{tDRW^IJ&H+c!aUj9vD%zS zAY}zf#{@26V~-IKnB{a>!#ol3bXF+fvXV}Q-B$BWRw^@Ug|9QnRG3nb7BGb6DGhwi zrmKR4_4`94uO$j$r`>`pv(;{=e0kmQLbKeCa?6eG7&F-b&T(TxGvEw&+5isRegHq* z-`m~8gIFYy!SyaHCSsvTB!&+j)$VXM!-`bv)k?WsZFYv!`EoXC)o`&-#$(ZBRxA{Y zl9-4DY!>tG-oC>Vh{W(c1m9O2cALZH5681g4Vz_E!AGN9uAtO9vjsj~EGC0atyIY6 z3vyj;scKEhXX751Lo8Ig-2q(^aknazs(AdJ-Nuu~Vn{&+F`Fxv@CZ|_Ncd*uwA&7> zc4s(*kg<>tS0ju0@W>U#dka~v6boW1jT@tcPbh%BT+BweE0pm;LdERBFa|9-mr2EO zFB0iPK`EPx`Q7$|gF_S*9?9j=!QSq!1^o=3s>F0AgpIZ@oXM4Oksy@SauJo3Yn>4v z6yP_pw$*x#Mq5%)vl;Hd*frOyT$j@TZML&nTyV7X(06-}U ziLlS@3k!JaP|8Iy5jZ-u96EgoeDK4}4mb~YcXtn+0U)5SRBl8^?tIadSgc_L^oWjU zH1yQ|WIms$H9U-nV!5VHmdALa>NXWT_K8XpnVe71rJZU*DArUOepyNd@DU8oMSMmo zN(rCSVlf}N!-!7NoQLM!T{A_eej-dm2RM9%D=YZe7Y$(b2f``b$>6M3#Hx)ZaQhqq z$$Zjhk&Dgl2#=u4$q3OzY)}|Z0!qL!2m-=K0T7BY3V@c3QD6`>Dn1H62xAm92mql` z@IeU1C;<9m6g-9cC|HKIQSd=Xd=z{Ts3jW(8wA{Fqrf0oezj3d`o<_Io5m>kARsIQ z03QU^!YIWEwJ=H{u@vZ~Fh+qv9PwJLm15Uyl!7LLQHmmJu~v$%YLuc&wa`mZ=Cv?N zQPZ={=Fsy`D79%!D3k)T`S~Uk29da!P?J8--*ZeTl%mgm1z#1^G1m5%noyrx+ZHVD=bBKTU)ysm?&q3NpI_VTSz5b7eYpwsxwU<9 zg}Rtf_)i=DwF6x`z@ZjrE~XX?qtEz|gTocL0n>mCJ<`DWvXt?e970HOFoKg>hjDc! z>S#14nStSzM7*Q3$e&J=g&;>#N=wP~SY)Wshs8KHNGt^IL5QYAh7KtKjsJE*szu?^Om4rH1FBQA`g0~xjJ zJU{9C8IM}(;4mmgY%mV-aWI_?Zl<>ykIZxlS7i*QwLuI}+L;8m=uEn!226YPy^zHBHHngDY;ZGts&siSW}}GKGY3xCZsmWj|6Q zMN%OaD4f}W4)rfO{`IcG*SL`BE|?R&4}V+$1MZD6HmJ)vh8Qf;#X*!#Z!p?VOcLSX w3_qtBgR`h*T{?q8V;tZUt(~|89Zd%^T|(4ahuauJ-GDT37-mGW1GbF$Ke57^IsgCw literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/8.ogg b/SamSharp Tests/goldens/words/8.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f45b80a77c46add4b9c87002c5f9b9bf368110de GIT binary patch literal 6587 zcmeH}&vV*l8pqw+o_F@LJ!G~!?R45hraiQsSx>g>*7;G#NsPCICd773z<>b@5CVii zfIvtfBq4)rupzdSkc1_%W9P>@Keo>P;E?CCM}ojyF_3H<8kJv}{dz~8S=_w0P%==m9pSjPk7 zB1FLl&Q8T~MM`h~9enw7e7D zTx-@bV;@A1`e*{Pn2+_EG!6woG!Anc#*AjlU-CqZ_7*$>Atlpx3#1to~)i@qNE9B-mT zMR{sPiK_Xcug5DmAgwiD22i4EzU+siy#@C8va?|{U-rY%&^9jk(%y=DebLwB6&%{e zZD+N%aXY@~>Y>kJ)(Qyt0*-eI2=Zk=9BWzuf&KEXRzQ$1`{59@LI(Tg+d|gyMOP1f z4ue+6{;#0c6@5MQIbgf$6jbnKUmUsxwVl>z8?A<-HmQ23W(PUTU-(o#MdcOZT?7pS9NDl0|5) zt@D`WVE>_h0|a3XqZR6y3R|&N-+2+bx3&H9S*vL=8y)5P`Wk~7dk-G!AMm9e4vTTr zG%zq~gsEHW^>W(cz^W@Rx3`}0gu|kgo9i1JJZ3Zu^qX8p3x+vdrh)!8Ppi-vNt&9aN~6j(Hr6=2a&FksP8VDk3+AwnTESrE!7k_DkKNR|$YCJUfc zHCX^9{H-i&^|B@lLIKI!vLF=WxZ5A~jUPU6z@IJEZ(RNQaH#9Nf zRToy4^VH;-&yF4)wEHGp6UK>igMBAHJ3(ZY8+F+>HsNB#*7MC5^->m>Dwpr9Ke@4( zrQPFaZNIwH5XxP|qM?|9MMHV7_jp)CDFDkZ%G@7- zrHyi?jZ#G{2<4_G3qr98JF*}Ylik>s1yDZx?1WX5g=w_DdA|7=P$a2xXZ_}ljx1jQ zipYa3Z-XrM4$ASt0LXF^P_8Vh>RfgXq1et0k67GgKrtQtK*u43vg=SA#e913NZ*Ga zpCA&~u3s!#&y3lEwLAZLzHw_ohPfA39$#NuTT*iY$MI9=CnKtq^?&sCf%k^SeNj<# zj12zvOLK^0O7;5Ho3*kOrt7yJZ@zf?K%&F`U~To$Low<$b{r~~a9Uot^fMLssLgotp(N)%XZZN&$+Nbgt5{xWE-6X3KUKVPcXRWa^XwYtjx5qLB~|q8URth~_s42hp6-aDZk}!|Bi<97N+nIEZEr;UJo) z2nW%4G@Q%jk_77PL!1Yojwa66pw5{2!c?SEE$6LY9{coDvpt@{Tw~@j)4B6QUpbR( zeQsK?THS&4jr*-uU1TGQTC1x|i`DXFE*|nTx!Kv-X1SF2k!-E?NDq=y*F$IT>?x}=7-Rh2sQ~7g^o&>n(V3Z&*gogvnX5AuC0{E@ z5}nFTFE2MQGL+ZD|`g|8$zEGA;#hkV=SS8Mq6p52KZgYBYv8WbP zF~XNjWo1<<7Uxx&B&j%CsVyzZsaPnUWVv{X<76S`ve}$)C7TW5F3jcf*@2eICSm-7 zEtV2kmW{_?#Uue!EiKG*sTh?N6kr8ZCC3GW;b?KTA_#m+%yAT*$j((~OQ|>+PO~{F z!)FRPmhoa9f0`HL(V&+i0`^G^Cpa#RP1^l|P$Ur~DT<9zlan5AnimR8Jjx^!3>jrI zGnJVlLxovEDrWPNG*gtQFd0{1y$YY8*hGSX1q+hE5ni`5Ofg}K3Nv(=uueGL49kTH zzb8ZlNSetM0V7BdVP2W3 zLOPRXa#=1CrKd}(nn@*jF2hIZRB>97<5VyJPaKUWXn{{N80Ljv6h#J;bTs1j;HeCk z3F6+VNF?eFhABS727DMsC(|)HPUrYkAOPA3%5*yM)8|L0zz{r9`wK_-H`G4tJ;J~c zTt~y5u$?$`NBb1rz7v7sI?E3~zpq~yuDh2)rr_tJS literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/8th.ogg b/SamSharp Tests/goldens/words/8th.ogg new file mode 100644 index 0000000000000000000000000000000000000000..241be903ab1f4f6565d4ac320386dcec1937e033 GIT binary patch literal 6950 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 M)Jg7wt5vH118gATk^lez literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/9.ogg b/SamSharp Tests/goldens/words/9.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5a23fa3792a62bc2c24b8efc38d52401fcc4ffc0 GIT binary patch literal 9610 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/@.ogg b/SamSharp Tests/goldens/words/@.ogg new file mode 100644 index 0000000000000000000000000000000000000000..047d4ab44ce429fc502f5fd1799c9e0298945b61 GIT binary patch literal 4721 zcmeH~&vV>F7RSwvGbfG|RorrcKvA$zEXl?Y2qYMsm}FyTVC?by^2|u1A1!GlwSG+N zhub4Xo^fPPaM@;vi^OJ4lB)G)NwF1ni-cVc5V)|HS{^d z?|t;`e(!0<4v&uJ9~v1s@#67AGv)dt&>eXIevcj>**hN?c@XYoGxf~D{-co*hOT|` z&)fgFx`~izhn?#;u5IOCfAQgm_dhdwvRsmI#g-~nA+Mh8{pZe|Z$96uo_g!eF;)v& z(##uw`s4m5pFD89)9W%&%X59nK!1{Qn{L)I&>t% z1@GVf;m(g+v0ZpqHJ!y}7t3RZM)&XA_t+Do8ROEGk2aQS45QCqz4_e_|NBc9kDVEN z<=FV>)O1m=&nBE-CZGvtoPZ{rTmqVK{+NI!oNNM`aBe4{DJM!m6HYz>O*sFXfF_*f z1T^8int&#p*Avi`^VCoU1^il1clVJn&!}92ns2*4#_^v^#cnEDO7}HpXU031%+HclNP06 z2nxCW`?M$xLr|zm`=ENJ#dBamp(dSy>X{bLfdz%)`B_@!hao5w&th8Thao5w`4#va zNxw!078Hv7LHHa=zefIFLD{+b`o-NZZh!p#iW53&ojG}Wj+u9)5@Sc_*Dri}`Ga+Y z)P>8}KD%-Kiaa|t`S!$_^4ss^iba_zoIY^iRQ}w>-5WQ0-36oFKDYK!=e>>f4_9dE z-RGZs;pLKK5M%b_;nB%CMsLO&7q)Kw{o;CzM7+JTd;PE5PVTK&-+cYV?0DavBUENy ze(gm4{H4F$ym@QwoFBJa-CnqOuDi5MxYJKR@$A78r;_>E?4Mtq%{Tnz<;|^+Z~bex zZ%?s)6<1T(@$vB-rk&MZKrQSMFS2N-+uiA{M%7#vVJpxS#Fn$UY-VgC%hMBSw&^Gdh3xxEv2FtT`_2ZKnVp2AKXIdT+g64fw9 zo~3A(Vg)-_u552o3p~;w_B>(*mQu(aoj8>xa8)g2Ckka5BjSR15fubM3zyb5+EL3j zZ4(Q!)^10kk80DI3M(`Ogm6RPDpQ$!*=&W8smTJ?u&a@UK{uq+5J4SnjHzO5l_ z(>M-&SwM|edu0`@+CIUU6J%^gEm|v1PgQD2;{+sdGFQt?=UABCw(SNoO`F($7;UVr zw)<8|D_U}WV!|VKI#*$BLTs}*ohesp6;9T0ixOO`uv}|tB??1IT0U`Q+o$JOmcj;C z%LBMAE3$2<5|^FHHLxWkkz-_0kjlJF!!Xbl#2XgTn=aA}ySW%q2l2=WI`P81?}XG7 zk*r6HokdfZd0lQaI3)WHF{-6}w$3#$5C0Xwx|lDN497PNT?22}5_NlNIgTAuQ;6dk zP1j%Qz^33B788%^s)8G$kjv$(*diidDR5k!6Bt19eUW9VRo(DmlG_PZAki`!Qn6UBXtv|Zh}YGITB{2_ZE30^SffMM8ny26pd0_J-561xeL|V4)$@v8L&U{`>KpQ{b4cAA_^s?sfb9 zz3zQCj_JvWy_eq`{qq#)-JPBoxz~b?U)Y0T$;`V(_8vmNKR@l?=Vx#5J=1*;$?Usr d;w5pAw8@>laebn@-tXN_ob<1LKYn8h`~-2jCA0tl literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/^.ogg b/SamSharp Tests/goldens/words/^.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ffa68bede9ff94c71d629e43d7b15c4eed7cdf59 GIT binary patch literal 11252 zcmeI2*>@DzoyVQGd7LvZ;bq92Ie2mslM@_69OKvq3^E{W2}z(039Y^F-BsPS?|WD8 zyIQpN1+;=dMnXn1M!^9mo&+an&iG~g6rVE>{uAccG;W(r?0B3!_{>3qQgzj>dq4I4 zEw}3ay5&?u!+$^b%rosr&!4ckL;vzm&ph+Y_u%(m&p-3%|M#Bx2RJg+AL`$QR`A0< z{duauQw5$X@SRWq4~GbX78H_10~9Ce42dBeCz>2jMMPPTi;}=7vYL=&j#3rPOezuw zf8jGmaU6|HysQf%r$~|-S)9Op1kQ*NEFAJ;I32+vJ{%($0mG00L9zr%L_#zrC^SukIbPCZJcow`)l7&S ziOGtdk|l;vjCfj+0arEPGmXnYD+w$qhzhjF7*XO`l^0dTFj7%f)mb^7EGMEmuf~#< zk(^GDYIG!@)FNS=%w#hf;t!x&EFM+dcDqkdWzI7=XvJAx@Yse1f*3CZJr2ttLI|Lt z4T(^^#xhutqD5X&1Xcz0MAOtvT{RMVEMaD&x~V6UiG0#jX)bCOOohitPEMyx*6R-A zQB|ZJR-03h6<`Haq0S1ZMx7N<6LnTVoP z1$Dbz7B8iYW(D37qSV~gm02P}=r?Y^d;4aFrP#%*o0~N) zvkY3g2JLLbHQ4j&(eoDtp7b4i;&%?XdwYjE2W$g~y|1h5c#p*;5Z=bd&H+!pl#SX4hP`8p zD~kz*4W&k}ZqAG*)se!;)ac|)ZhkbLV#P!*GnO&F69M!T;;91PLV=*)N3x;>c`byn znl4ZnzZd2#T)944J1n1#&1G!6}wk1SW_?7)Z*5--lp4WMHo!#RXA7 zg8@ub6bXm)MMYy#h9s3}A{m!hidN$Zl_d#C(Wc0fD8(u)8xBS=iiL4QXc#9b5=XEw z$jk|46Gu4#}y1z82kFGI3GS%*}CvJOcCB|y6U9M4ithuz7E zs*D8uAsMn@k|uCS*9A@H8A^|*bFx5*qRg-?h4VB)1tMXD2%}+_FNg{Zj=4fOX}}y3 zLNPv*iJ2q;lT{&~Wod#7aLyoe}EJngbM+?>GsTz03M7BvD31vr>Cs#ArgMKhW%aZz25CS*m_WI-e-h7ef- z$Ah6TNN=;dd?5)GcDV!LWHuWo!hVd(j!#x3u%{N!SK7jUj@=c7HsZufo^4m>O7}%L`z2E(B$j2~{UEH72ECd@e@zF0KG;d3qL{3s>*-1hc!Zd{CVims9{E2pG8P^fIZ zy--PK0&;rnqfh?p_wU4l9mjuu>SUX{*EwwIv|ngG+u3NzUVi6KpM3n=u{0a-8>90} z2@SEm`HQ3b_rLI3i#1@5Z{23a`<|GPO8>pgYo z<->3EogEIk+^BEp;)yf;iK&Nw`s~w>7mJc(kcMXvjU(JGCmLSZzyGg607Iw_0Ssat z0vMjJLjc3IZw3Jjkvar0yi|t(Ax7#-fDrrZN_;H@Fg#YGCd3y?fDo_Ol>j07>Pmbq z1TaW7bJVQyQq3GSYuIb%s9B@6W{#RQz8V4;-mICUW(}lfj+!-unmIrTFvT)BMBN|W z1Ba;lg9RMoTlm9&fJ4;%!3hpg_lHlwA^zMSYR>R2?eK&%fG_-??eMkt|1IO;tMC7R z#Y6q(zoq>l8XXXh^=RCzg=0_5`lM}XU-J{dv7 zVWV&jwEyIzZOYcxc)B?vXz}21$MgI4zI>`TU`nMMTPr(Db6Jc{U7CFGyI;+qq(@})gS*e zfc&i-F9XOI8~{=Pj^DjEZU%nx!yoK@_Q$OuR&lv)O{b0nh&a7{^Wnn}{_y_NcvNQk zEiOu*j>GdoKpv@bynDTB5lPSAeecdfwWjA8cQ{wVaU|Z-_N?Z8Xn&>L^w3sH0q{vV4w$)>sOY#p~OErIpIc+Q!YB>oX$}Yxj$<9Bn+` z%_$t|KJv?7{Ni{s9Ut5J%|~m?({Ztsjb#dpxl$n&4G7tVtJi*g_xegHi_xk%@$Sy% z@?@d&*w3GR_D9_oKdG7#kE65M?O{`+OY>_RyW7{VU#@W6@Q^JKX2(lf#QoEKd-v`; z&>qxtOR4Hho*9dkrdM`0H*Q~>SkN(dfA_1WTF&?aOnA;{p@tNx_ay0Z+fsp9dHGlq~CJ>Y{Su?y?Dw`&hOlN|IY18F$TlL>C3l&{r(oUU^O-zeeT#> z7rFH24m_MMU4}(TOv_xqd;hl|y*r+L1ajb!>ZWS^?(2PlTSX`SWa;$f_MTbVR(WOm$kdQ`NYwq4JTWNP$gQpwRLs=QW1k? z!+7cPhyVG}`|C5F3yrS<+w_$ylQ&l?rCc(}v8n8(@r~=_#!hb>1aA};?zsW8V8(6CZ5pXHQmy0 zMHqAK&Vvs>d~jziXCi*91*hPGYz9XLIvZa)b)u=Y!%K%*Jsvl;k(e$=6H+WcHot!3 zJ}RaFZQ(K7BeaPcTMg~?8e0vmxz1KYOVrqEXnc*WhKASJYG}C{TMg|oTMg}4ovntJ zsdK)YU0pe*CS6@Q1Ei}f*9y|rl`}!QFDduogSv7o zNLN?xv2fG(#p$akOc?76n@xRpW18sx|qVZyOmJxr>$u7?TOdg#kx0=Ay6 zhY8sFi!cFOx7EW0Z0)Lt3D}ychY8r)`Qq;l?}>)yuEFB$%EtEQtr1g% zRkz87wcWcbSITM06SDMO9K2|A`a)iZyRW_J^y!oB(77=MNiiQoVJSA2-?;PPhr3f* z)oJbThs9qrQA9;^dU|H|+LZ|y8*=H~>fO!txl)q8c($>rJ4Au>On*n?ONS4&^|+K= zDW1)lG8KcwJGnZ&w7$8yc=K{hA}zx@*aA%v3iRd8F5;hPB)$#3eT=?@7$UiF~JtO%9We% zu3Q-}NMYX6H*D=5M8zZ!zr8$rDVd~V`RUdBcX!s8MjUH$% zkqJ?km@v$b~GJ3c;HY|hb5FK>QJQgvK(i`C#J5h zZ>}%RUdqZYA4ZDiRHZ~C13)|i$aUg5K&}yY^$>y_kBQdKR}LOH)za+=L*)|I-Mv0P zqjH(ig&VtD3zZzj=_6CO?rv|cvL3KYn~&ynE#zx!df&wu@&DA2dOrrp5^&Zg5c?mu(t#9Q`21d7UT>p;8R5u&}MWTfV1MpFrl zm5j{t_06@_9LlS?-2CKtAqUGTu?&vxM%EG_W7*Y0=r_x8R8p6nGE%;#yX zhCW{`Peyf-r6XD*HwG2K$+5YKVq6OaF+nYlWDIVotL@D*) z!xMT!5BZUZGQGUH`F1`jGC0(zlUg(yjcY7{T88Xyzbwl>$57veE}JKSqYNNk z`w==n(WL(2>P^vsOGcy&13W=m>P-cm0ior91A&b@NWo21(*#^37 z4j0IQ5rn{zXxQ#WalTZpjKFIF4yA=mDOV^YN*P5Gpdcfr^VyghvJLhFD$S#4z!Pyf zY<)uzv6^8hqSx)DMKzHdO(ql3L`;ve5Z#%XiLoM!g%MuX;>iRL6?DYwb`3#!LJ&CG zHasvmgs_52Vz8(!XX3g7RdzO=FIN&V1y;O-3-;FgccEX^CgxJwFI_F?g;ee4TKQ* zIs@%?I$b0uRjX)}B=S&DqhqOb2I@5VIBC?XeQ;Z;) zF{oG4IM^Dboh*VSgx0in2%&2m;?lf$YzV8YCPH zBX~*u7PZxDN}=-gir{RLi>Ne3xP2oHjUcJVNbJV{`oqBz%9l0t*XLkYtmh>Tc= z2t>SmA?b%8{Yic1Yj1c^b2!;W#`}GE_Uw)BghJMmB*iyk+Xw06)fGvSJov4}q~Yz6 zmhsQNa;)U=6t2>R_1gL94|-2`P1Dq?hNc&aB{i4Lq!W8Ve?XQ)$yEOQ(z1o8 z!>s9g`Aj#oQUOmXiQTZ@=M9GAM@IdoWp_UNgYL`2m8nlq$+p@*y+j~#6?=h>GS1TG&TYs#2 zwZg1GjW8=vJIo4H=Kx{_>N>L$YL8igddjSz2r?^ByUYsI0vR znY@x#A9*FMIKc5rT2*ExRLrll)+Tu+ts}3bHBVkiD_)V~m9#pq2wquh2VPmLMqWv4 z*J#PK-E^?ikfN+uP)C8Vg3y3QzLIr+q{4I=O<2__z8agYUG6a>nA7v44)V# zy_5flyKp(g*3Qm;yP5YT>KmVa`ScHa9j!)VYInA_I_0yk|Mbn%qmjJBXVRV>9v%%i z#EqSe{oQu6>=SoBefB->Hfc0kQxkV;T(44~EI#5+#ZgXz(q<0%ru@=``(j^^b!9M~Z-2+fPBYmkGy9Eam9H3-d1nHq%U zrN18iIbNbhr9L%Kqq4m8*W(2our+dYnbXQ8|0uXn;gZJ2hW~; z`)C(m>GNB=d!j@C`sp`M5920>Nn=1CtD_Vjb<{!V!P95ofBR@luhp2EoxR(rFO-(O##S(wiKuo$sGL{Z{mu^yTK(-u}Mm&&%&RM%T1uS~ERy?$r6W&igXAHaf+rE7O*Q^62rC z?>e=dr!aTp-rkoVE#)HC$?>Vn*GwLF!m9nv%P*gNcOqAtuN%fMp8FuU_77kF+sC&y z#HIRt=fS;)`*(kTcO~Y#q_+yo%XQD0H(mn^L+OBpq1*<`AqrR+N|%MA+@~xIMGF>& z^7E7L1{g{SEC(p_n_wX*V+5r|St!ajlZB#8peUvf&;9-TT7NcC>vV2zUvCxykCOm0SP(?;r21VvqIu)+ZbLAK%?>Xayf2wC#$RXpFH`m`C`BmXl~s7-4{!>yRLD53)f&%hQO4$p_uhH+)z{8ABZ?@E z4-cI)c@nF4mey7l)`&XF!kveY|K*GOg2(3aUSHk0w;h}s)@UwI%s4+Z7_^g@hfclm zw{MLY#A;d8X)fz>mAk+Dr`?U4bM01ZV|Vr8{@&ML-0ct?m8MQ{D2<2WP?|A@1Dd~K zIFzPCaVSj}hteb{4yCbE97+>sIH1WhoG#5^;`pHs6K4|YFmX1a&N0Nf33Zq_cc2av z=MKx&j}oWEas`@omMe&}&2sgl#3{2}Aytd84s*^9taH>k1B$Z->oDh>g>?>{1M3`h z&Vb_7n2|xl^))h5HJ~`t%*ceMuaS|eABclSCZ(csvD8>tR*G^eBXFkoE`2beH>OhI ziIMZCPmN3(ZJa9@^d_Tzjx$-fXyw+OyLYOoWURTcx_NhXt+QBPC`n11#~Y5;8&%n$ zyEycY&S0|pEf&*+#i-K`UDQt6tBr+5$?vq=GfH*&-b!a}xydDSrD}6?aiJ~<(c<>q z{r&ybc2$bXa;cIj6^q%qV#aQ{tQnaQ;;C3zKXLxdh;Gt2WdRSLi}KznlQX%zb?d={ z+f^x7uQyk>+pC?<%I0z-V>jFV!DgdT^qUPA&ueWC=hTeN;Yh|pevfu+OfSUKa;Y9q zL<>qz6ocVdHov~Tz0r|5{52;pwwkjcffo`Bi#OJ`nvGg+zM+)Gm}ZhBh!;t^pRLbt|qdwlyB6_1)h&3GRt72XjRHa z(Ue2Bxn{W_^M0?xV$L)4`08pt*ic*-L zYt)OeNH`L!)SGjyVo{c|ij<9cJYHWQlgrEbh`@R5oZIEPW|%VDB8gvB8HGhUC! zXK{LhLOhYl&erOcSXc;!q3lMnI1P$Y(bm&@fsEGh^gEF%{Z zsjQf5HfI~PR5BVCvYAYV7s64vqEN_(fJua6k8jB@4e;^pl zq>}N7%{pT;sgFBcKF$wTELNecJRiiPq8JKCy>R2S5N-79Q)a3l>j3|X8fG#MCoD%~OmE<`TvITjVN=B6hzIot`^3L)vU6S9$`;AA(4clQHV15$8om@G!YDffWj-3%P0faU<9 z29xkG14r=>cH8~-`LvNj#MO&`s5|fn*Zl?f#6brnFVOuc$x-t$_o=Wy%)yaekaQ96 z{V)l{JV)H~oOSR|>YnFzLCp6f^rV2QoT`rx9vwh{?k3b+U=yVJNd2kF$8QNZ3S|%q z@qB<>XuW|Tk4AD(wAdUv7>WX4;ky7SY1kk5G)MxX#1Vx!6PFqnxyXtl+C8~)IT1aD z6flvGWGvY=KJHfk&USZDpb2CKg@hRB^7NuH)C|yt$ntC#YFQlaLfu67w*UX*|BM2M zmJ-D*&TF`VI2kU0r&90?{ve*h8AXl~{HD5&IF1<#j>1LUluC8IPg)U1C(;+A21u3>UkH&| zfqaZI4#(nYgp%_3!L)$_B!z-O2s1?vpCME>os8qy4+h9HsBaWE<|h&gvj9&-AfE>X zgi59H5D7-b$2r^$B_bBM#B4eq3qv^$_p%*e*%aFWmQ}Z)?f@(Bi0<)vy*})LtPDB8 z&-pkEY94%u!9Jc=!((hw7se)Vp*LXslNDJZ>!!)<7w{t##$C>bP+e8Q;`6GZd|Uuq zNTrFccnnYF(36NS5Q=CaD+(qu=#4D^U(DsPBIYLyrCHTj>Wz|&kI67ZGY}jAA8TUE zn0YZo$Q4vZ^CZc@MhdIjOv^y}=lWh}wAdf@`Rhw`GmdIf=tyU{#GMB1q zr!n(o@j2oF65yc#CVYD=na*K5#bT*YEU0;*H%YRB=?||#m_K8Y5a+{^4$PQN_raP0 zKS{XP%lZ5~Cii4kl<^W!tyHQQ0SP?p3>T1al1K~{j|hIwIp0P8nplhsfON_qrW+t0k7q>iWpQ$ ziqr|1WV;~aS-eT|LAS$ZHk&P02xBoiN{mO5nkZh?Zw5`!a}v8WRlTfkn@mN4zCAuJUSBo?lfEQ#%VO$?VcbX z&B{u((ZH(JIz%JOW+fPaSU^^?nWVsbZ5FyJ-u*0q#;Q2JNjD=)#~C=ds|=iSD~Og5 zc&BMvH!*_igNdutRy!v|5}A~UpA7lICM&f@YiVV5_2$Y_YrayFVga{#dfK4Jj|mSr z-ME}?yVY*CI_)UNj9i$<{hOPc>o-^1&6l zySuf$b$jz>yNYe*MKPQaXP4Htw>H*ptZlBYEES8zD&8^kxlBfq<8jXnLR=ZWJaqOf zIIb8iZf{B|&lc*{>(}R6<$Ar2|6QG1SX{c%S!tCDnP|f0nATjrpc%fbx%mEw-sa#0 zAIGN>Nt91KRjxK?7jJYncJJ+OZLPMJ8*-ZWSZ1cC^kdrbtJjP(1_N?rG26|CX$uz$ zC(_x%eCMOvckb-$+`GMgbEPCg%MhT8l$t`%QfdmFq0|go4{8QIN2w`vn^IHg4=FW; z_EKsJ-KA#GO;9sv9i^tw)0CP*-=frAXiELRNDXL-Nll=c)PRHmh`AcjchCeFI)qt)rR}U`r^QBltEgqI4YLS)VfKvaU6j6(; z6rHF=R*C~k4O91&Vz+_NQmnEDGPu+*bx$eYqz#0YqJcG#!KFTC*Xu9!al2k$sgK$9 L`b!N{ldktaWidoi literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/again.ogg b/SamSharp Tests/goldens/words/again.ogg new file mode 100644 index 0000000000000000000000000000000000000000..3e218bda61e72b5b6fcf78025249be36c3a45bf9 GIT binary patch literal 8910 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/air.ogg b/SamSharp Tests/goldens/words/air.ogg new file mode 100644 index 0000000000000000000000000000000000000000..9d08ebd2a20d4985ce71ac28cc1714089e9668d3 GIT binary patch literal 4944 zcmciE-BVKg8V7Lq-MQZ9zB#ieFRF`^j+PsH(b@}AY%9K@Vk#;N6Ep=;KoWtaK*|CI zRF)=aAcBU57^UreJLA~SNxRT4^vb{FJgZ;lmo#bIS>`rQ;tzr=+C(1b=@iPx<`srq<*=i>u`}t4S%%NKH+9sCUJN-89wFX0rKw(betsPrJ)OAE{`gq6@KUSL6K~X}JYO zN&~5sR~J91EX58lK(M12Am?>V0|YzP0digk8wk#$5(4?LJpPLV0>ODGAdnx+gWKVO z!Qi>vgu$Gi%UK++(So44450eK22jqfk@ds;M6MRLsVyt&D5Z|hh_qEtGlafD~Z|Beocp1qU_W&v|TQ~bm8J9xzZAG%SbJD0^(oXAWo-wY80i)AT@i^&;;JN7un>S~WFoL(dXNC&$|_=P0dO z-DwKHTuuyjH&@=fmX^yGlI?Y{yW&U9wGyecK|c_VzgAhif%*9J*UM4HtFwE2!NlId zW^$%pEX=xfr=eAAwkpUXB7-jwl+?7DtZsi`d}-3{p}j`Ce{mI_RZCNviULAd*wzih zRkHkx;IGhA`r%>s6YyJYw8axzT|YT|zaANFmsM6&JBCIW4=pX{XI#9%6IHjg==%El zOM zYX^H<@h~M8-oBNm?lC*8rn)kMcRBS6yyZQ8Hs%in#``CIw3mSwishBHwXIj-K3x;> zTV82Rz1`t3DcKLFrol_{=xof-jQ1P5JT%QLt}Y_i+DbIUc)hUDk=WkO<_kY9FVD)l zo?EXnS*_MONq+XVwBM@~)=5tQ9%j!Hkghl2WF{ktr4O4)XO9xT1-#CwY*wqGEI;$= zmGlx>r(-M<3eAiT(;oO1fjMR&u@--x^ipcM^!BZL1!DH4ysKTBlX>|{`YrhM^2W|) zcw)@fWAri*@cWg|w)nr+7XpmeNZH)M+1Sp`8z24nR#y6zYneIi1``A!65P0%o+VLP zJTErmOR)s?iX{QR;y_%dd#`p(TPIKAZ}sx=E>RQ;^K=)V3cM?hFo5c%RR<;odZJ_{e#l{{EVBz z3MtuUrw7bNZIuLmG<#qFvAw^)yA^U!2BossZX0lqGgNnbQ<31;Jc7upmbSKcQ%?rW zZr7mQWa_8v6R~)5b$@#^I^pi5hC_36^Uq!{`r+4^dWXG}Q!C4JQxkMc6OoQnK(`D~{ zOiJY%qa(4kyAQy`h(psZC-ske?GBemuc@yTvcAHSibp+NPn=GNeSDaH(m&|x8x2H~ zFW+y!iG^%Nji{^?kmH~{jhqH0M&1P_Mizk*BSWCXNLGoFrJy{G9QmyLf@GB#c?Xmj z=>jE2#zBdZCE~g!l;#&FP7|EnI8AWcahl+a;WWWHfYStL2~HC^^{3L@-NI>t(~Hvt zCyCQ!oj6T!j-WKL^P8!kJJ9c^e(pfQX`<{FoayX&H}v~V9p~N9Z!!g{#n{=xzsviJ zoBF|YfBdF?FkSAO`jRdde{*1VR0CfQ4AsE74ovx<8ek91h-%<02L>S{aVB01b}LSw z8hdG{#f_-AP$j%X#f2&X0ADL14;9y6oZ9zd1u8C73B9PeP$kf)xKJgOLvcaKNL+~5 J;{RI?{{~E(x2ymF literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/answer.ogg b/SamSharp Tests/goldens/words/answer.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8cc0646512123b6a87abee5e2d7539bdb7b4a1c5 GIT binary patch literal 9122 zcmeHLNpl;=6;^IJ=af?_mF1A7Do$)yVx_z(kyw@#k)o-M6h(pyNMc_Hm>CRa#|#F` z03ZMgAjK6VC5nT!AQ|%{JPFW(f3eci z+wXn&?)FudP3zU>{a@_fm^$_97r*%I3&;9{0ZtCfpzrnG zxLC0{@97`E^6YcZ9XZ>rwbp<0+qc%+EGy-v-~aGWf4o|{^xE@3Jlyq@;nU;sKrk{k zbo8VrS?PTEk5B%2qow;sv#MEd=ViY4=&@(N{q3)R@0dr~ynAb9CK`)L#qD4H?H_;N znv;8ndyn^=IW{!zmlBhN=Ldu+;n^ZY3C|=UN_hU05G6e0gec*8lMtmmSwfWXWC&5h z^CLo(@C*{7gy%LPN_gHUL@CdK15GIK+&$2Q0?*z9O(^8^r%?HWODN>i3za{(ghJtc zv_lUfp-}k0&<;I_ghGRU7q$}JN&8MHG$;dGiSDF*Clq#)Mz{PyBoua1h;I3VNGR-h z4bCQdH0?W~u;X8Vvxy!}`%WkvP4Cb%^dJ%nN7Dj5Lk}XMaD*n{u%~DJz7q;ZXc`WC zde-kdp>WoF>5tMuBoxm2kLi!n{t{|jzW46C+nMoGFMhx4)t-SKuRkWR;jy8Yj}C_C z?*IPJJKG!We7jMfo^Q5WH&?3C)cNmz{cGRxMl-Q^aB8T}KN;e3)vG`M+ed$WxNE25 zftk6rTeU)R^yJ{lR}X*VxuX+iy-~>xpFQ0x6|cPahj$+CZoRv)P?yIeS!HEu*3O=I z<(V%Xeq|u&5k*O=l{Ie2t4w!3`uO9IV)^#wo!{?ltg@_F-ud~jKX`vtiF*1^b)A0Y z_!+O?ucSjSzVw5h5qs^;UwyE1t8;y^QE!>0ndPgw*T^?5-M zRyKFue)z`La%)yh`p;ar=u>nn?;kw&;%i5{U+?N4jkOlq)2WbuLbfiiZ@sy@d*}Y` zRwWjTa>B~ms;#F6M*EI;zi_1cyhl~F(f;1!1H(QxCoQdB|JhHsELjlbg{yBpxP5)? za#i8{-k!dJDLJ3l&UYVqq37huQ)eeqrE0azMuX!c3CWyZSiisX#zw`I1fkqq-dJB> z?_91(KFBpZ)|SeedEqrtCR|dLz+F)E~-*IIpsNWcV$@1*_X0v7)yq>el^~I|X9^BtqtQXU=pcR#BqcPtu%LA{UIMa7A;0-Yh zlL<_o>gqZ%#mMDirBR)$XmU8MwU=-1+`qeZb-7*6CDMkq*x6ifN$ljvr3>BX`n@4Z zl|tU$<9$7So`H$D)NZ$JjtR4Z48)tA)w#UNr*oxBv%Ivvv3+N=md{C+RVi1Rvzwa> zg>1;r#FD8nCyB+pIzDu!yT5<1Z*Vj$Nt}219Nc=wE(VgBO1&(kV-c3&lA?L}+Sb;M z){LoC%hh~ic4_uy15! zczhy|$VyU{XME$sgM))3fhYs_JR1#6;8ixO7?zP`nP|X=)(pE^uiKWcWEqB647)Wu zKR@59Te>7Ex?OM0FRrZ2HmimL_eQbWgyq?4QQ=vJOPK|~jVfiL8SxIlA+=6*3ZxOEiqvNI47#Q_UU2LTXkEOGE$ zmyaVMKj?!@unoS)I#@yntV0}NMg*FU*qZpoBeHY6BgY7ue8?P)@I^8_l8Y;Ongh^4 z$_`Uv=vupWAVok}4^Q2D>>L|A5LCsD+%ZDdk1<2gSm27W04Wh9EQUGq1YhLdfx=T{ zO2lLh8)4Sy?W04u|=XsJP>07kJ%v*a2~FiFi+FFeP9P6e5Hy zosnEI5Ry2Uh&RTiy2u7e-K%4V*RkOqm)IET5@lzG0Ei}rMh;vwM-hpz7+bpLMA1=4 zphO!4E*_CMXjqQ19~nAs@r8JBrUV3OJB|q>Y>6eH=jx!V^T8}&j!;OLSb6W9sJI#^ zmM2}}HG)Cbkid2JNP=A=e%KkTKv()50WDg z7aL750H%$Aoi!|XlraZvLF^nckzhk-kzl)kNSVN4l6a0>3zDK~d3d7ZGFe$G*>K7S$M=$^>WeD1wJE)QmIlkbE+t)IkRAx`MhrB6j>H!RWB6_ z@VLUHQmST{@O+s{a4aWqLKeJb*%T9vGrX!QvY3oUq9g*Kib9|fpb%&TDukeETDf4V z@pvMcVhhEBnM#C$L0%9Qon=$W7!NKok$9Tp&73AiB9VA9RVdrGD1bv?SgykBB26je z4U^Bxik7QYZ8HroKhk`mR4Ns?WGn(v$y$!(SSFhRxKJd{q)kJY#c(JbP2^0gRLXKG zMpgAf2{M!eMwVf4Y(|t6MYi%eJ;i2ab-K~0+u01ua>a6Wx~^+thEr8F#|v3W%mQ8p z!7)%2h$j;8`ymK}(mg{LQuMVunqn(`MPOsgf9v1e5VZBF)DV3?pXJiCA>h zI~8Cccf~xHOvIB6XV+)0T&WZcO)gqisWNRrk@PY+$p!=AB*Pl;h$#fdJ)V(d8eZP% zsZ=}?^0DwVTdWnPr(`J!L}FX+IB$=ddEg5QhY|zR5|AJj$HEj!qF7Z zWi`W4%T``zCAD0x&d$`qrzmM=xwhC@T4fp8NMj){iDUSB9F$a;IO z-I%sB9BcrsIlsKzsoT29CL);(G&08vFy#`Fz~rQFY%;|11*k_(5&aW^NXA^CIXyH;jd&8$q%Y~5O(Zwkr2u9si_(UId2w_2#AB7rH-;H7v* zD=uBzzH$5ZjcZG-RwFNEq);p=Nm{*VN|DilmkuB9>K+)?%*OKavZaWLL^4@wwm0tV zyuGq7K=U)TA*zSoB)!oGM47}tO@Wemx#P{t>KGGz?mPkkz5I7u|h_$8oB8E1epW!wSE zl<@>m{#3?@GG#mllqq9G`4MB1WWqR4lKgbW9Y`|GahN2TFg{0;Oc*baBooH>Ns^z= zxCfFP^_@lr#!H{t$WJm}rj3kpOdA;( c$7v%254y=j4=1Ck9(x;dF!C#mIw?8rLVI#{-7i=s%2lqia# zMCxdr52VhrRoRm5#EAlXoB3Z{xuU%>KVic>zx?@?D_7otpI^;iIsgC0m7l?1EM|`xgQwu1JEj~Qezw0` zpt)F~`>$`l{pyL&Wtbwi_(X{#?DHQ^T)qCm)oC-~EoMabw8ld2{pBBDeS6kd!gR6O zKiNAxIM~j!rrFsWnk9Qw;+^K-y!qxk4kmMy%WsE0E!LTRT~K8qNoi7<#HL0sML8U&i|}o?~RtjWkr4FXR0f&oMISMj9&2m&r`6#ihdF!pWSG_{sjoGzR zH?*)an%{r&WY z-=3YEJb*hqi&0#%+wFH5%s4qWXRsSrVQbc7|I@W=lXf~^NoFL0Sd zNF;EFd0MBl6Brvw?d(*`G>-d(M7db+9-p1|su7xI)8*!%yT9M7rhQhk)#~HY zZp$gbx4Ed-Tj6#22TZ2xGqX?HT5DrBX+ci1vTC*5*j!hDy{c(x+nRRm-y~$?B2njB|7W3SS zZPQ24T(r<>HcKInAozGbq11PdkM=qd&M(C?iNbK>y;{WY!hF2sk3~LGyH(RbB9}lw8 z5FO@uiHl^Lomz>bFuU8i=_V+DDix1JDpCP3P!+$NQmBC zTV6KVogO+63xO2^kdwfzFcFQIsp#Yqk zU?eRMNlNI=kzgb_d=&zH!FdjfI7#|ts=;x!62Rb)S_wa7 zFogNM62RbqS_xqA%Sr%)eJ?BF2Mi9Vl>i3Ast7U|h|g;@B)!t=Y6)(m%7DTcmatmE zGL*1d!56gpyfE}8wSt|)5`Iy^5w$WdX!Y=H4IM325j%JugyZ+3sxQY5p2G1{Pv0^e zKUCG1WFHna96wam;CTaV1k*3i{@TuQ8TQwAj@Pn-vj2bC@Px}|b2A*D$drqjlt>Z; zCnPdOMQJLf|x48;@zeKYgsXx%2$-#b}bWTys2!op}Qk%$VM!)95> z+*>TiivnXa8<&=Bt0c*=Jm+3FF5SDg;vz|oWBsJdVm2CGq@NQ-SjKEP9PTX+_S`OJ z1O{Y~!f<<~R!s3M!?1Guqh?d7mD4HMy4LFUm0~0*g?Y*+C7TUdq=V5^N|xh30;gid zR#}$IEtoi9z|P)bUCAflf(whqz5ZSk$7#ytb z?DgxFOfD54x~~ilySW4>!C8%`3#DBpmvC)tK>v?K<5GfWj7BpR2*v!g2P4)&#df2V zpgmrOEA$Q;)qFCOEhKVE^W@=SE+K|;N_!t#Pp%M+cmjN>QLB|{x5Mr7k__h)dB#3F ztHnG4)@fQWFWp<3fe9M$d$gL_S^Ea#^>HNUbz2;6I#{kXqA*6IsX|U}H1^v{NDy0l zhYwG7n>o3V$tA0;gM(hHz<520bZL7#CIz?LmgO~4N{WPYadz2c#cZxk=Z4KZb!TP) zO2D;YvznIeCMQ7$V@L&vXsIed#IC9WM3lD6nS|)!#8ji4wwiPXh7FUXOTT6{PcJO5 ztgRgQ+%6tIe6TBd+~Rhn3RS^! zgllPKU4r7;TDUWLXO(1DO^egUd-s-RO*X&Z_5Q8*t+8T7$zrAzUhX_l3ej-6P|wu5 z{imnhrVuMOKKuNWk2#ud^ba4ElY*0@g9*a#5q(aZ;f_`x;yi!6`rE75tvJgp{P_X$U==G23e?4bRY{giXh5Djluv~s8PU)e;LIv3pI*e$U=?c z46=9`1$~iAw1eAwUM>@#j$~A$$`mB~(dXR7$T1 c0WuhmKZ{BU;jf@lLik&#lwJ|SYw=tE1yDkG%m4rY literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/are.ogg b/SamSharp Tests/goldens/words/are.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b338fefbadec17517057cdfbc26373f4078555ac GIT binary patch literal 4944 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/as.ogg b/SamSharp Tests/goldens/words/as.ogg new file mode 100644 index 0000000000000000000000000000000000000000..da78f6881efab7daf30d6a27a36b81312b747388 GIT binary patch literal 4344 zcmb`J$x|EY8Hbr$j;UNSw@JAwsZ`2IWr9;Pj1!NYVlf6o5StAKv>~CTwY1ijkknd0 z8`_aXOG4d}*d-Zk1eh_gNl3~h4ymbxq^2r!ndCCQ`A^8(`b3Wp@nk_#_19l_OWjXD z{d-@D*WKCq`kO5+qqjynB$)m?-)d=Tc?aHCMq292J1yUUJz{}g@CW!5yzo%rSHC;| z_1*?SnCD`tXD3gqvc6mIzT4W?Iff}MPW7Bctue{$@zt}}um5^l)r=1f@^p@9#3C7J zzu9{2+Al`>J=FTkKOU}U2!fnXoSy&X&l{o1?w?-&sOv6&U|OfdG~%g_UV$OHa{lG( zS5<0GF0#9Qiy6Pu%IoNCy?XV#Kj{>>Dz)uWT8rc4!rt%y{^b`tIVX?LyYtK8&Z%hy zsh>fde?p*$lR}_~(||w`=PLw?ICTgVaXv(#94CQ55vLJ>BF@hdDB{ErDB|2hposGs z0_8Zzn<^AIpEgw}aPpce6nyT&lW(3-@F{^O-#nr4;N@IGn;{e){NK2QHbW=`^nEBL zu97Y-6as35QsOG<(n6tcT-ghH?X2lu0NIiU;7 zM<++y`UgF2SKqtdJv2R~REn&)TESOK%z^6XU;Oj4vx47FsQrs;n?aXmf;ZCB*4p;{ zo{^c_H$0tVqyK@ z;5Wz5%6nUJ68rh}8$8@bS`B?SKKj9r?uGI*H&!6v>>E%QuU~_opyiCMn>-zYEt3SRwERdPCT8+e_ zHyB8RJCd)Rou3}pd>+!0Ud*g-#z>n=Hr9LlcE^XkLk~#OWtij*433F|naatNCq_?d zwS4sSu)6B?decjXCohioQ{mZhiSWKaI4N zsXcl8WGn5Q9K6FDQW?#&1pi+9hrPFX6GAQFjV*1jt^%^HcIr@gDITPW4KZKTiV zjt0ZQSTIVjfAakK5uFK<_IaPr>m_X#+^U@#Ro<)ZGx=o98}m6Fm`0^{IUHuA@?K9@$MER5Xi_Lq$_ax( zE0icqM4a9%7nwYhS}oCZAzNTpYCAit1^=v0Ycv}zR;^m86wZjpyE;0$dio_A+@i+R za=lScI9%RflG)kWsnE$p3~q_fXW+$$6)cT`fpvXfePoXluK9SnR9eY1;e}Xob#wRN zaAU2wv`8iW9<$D5_IW%GtDev6>m3}vFStJ;k>EyLg-wj}<+{L9u9RNR=9Y?ifTift zdToEdvJrEVMhEGzyY)J)R<4ly;iTc7|f0|MHiXKLUQ1PY1d-uNV6 zgyUMZ>fZ3^kZ?w;m*YCCH5dx`0>rG#ozBr~<$Q@*-eBO2{$M!5luGpSynB|wEoK8Q zg@A# zCjgk^l>spDx||L>$aFgA{gF78$>x`{REkO`lPM~@Tqu@k*pY}u{QiI+oP+|w`8kKl zpu;dZrohx%m0E>KMS>}?SLZ|nKwdaSlG$xOpLF>Gkw_#OjxK~lq4*-SPjFHKKTB}I zSbT9QwUkY#qmhuuZMP8?tJN|K16)l$BNYmSBGI%|u29Hj(rJMRwxtS8XE0i=HY-6` zEjGJ*&KruP(rFey5sxKP>FhFH1S2#B+o4c65{X6Pk%-^tau6o?Ur?vL0A~piZGFPj zx7h)(fjZ7%12vqqfsLps4jZU}rGd>-bJ##F;;@0*!eIk-jKfCMVEzI-9D&0PY?fM! zH(bN&!tz(bxm#ioHc*F=ZBBLuY;&?x$TpG<>0@mp*#cy{Asg97ve`QX+nnq)*yUsw z8@B7RW5{-0wi;B{{WdHEJj@tCXJ?H=7q&UsZ_mg)goMk8k;4XR8H9w(hzvsV-(`fo z4K5>L2noVwnGqvP%g)(>9lsj>V@8tyN3_2-BT$`R8*LU3mikbipgB8bZv)n_dP_!% Vs3QNTXtT+FYeq7tBL7{q{{?Vbh}{4H literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/at.ogg b/SamSharp Tests/goldens/words/at.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e2d64f07431b67950e1436475a58add82bb3d810 GIT binary patch literal 3321 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/b.ogg b/SamSharp Tests/goldens/words/b.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ea75c3e0ad1f50dc96544e7e3141cb72d2041032 GIT binary patch literal 5178 zcmeH}S#KLv6vy2+9(Y200K`Y&1*xi3Xw|9}l+v1}Eol?ngfvd#eLVYeXWz%3al9r@ z)TC=rRDnPsq9Q6Pq<$;T^*GZyq#}zSD&Ry>lrwkv-Lw4fy?XKd`H$XDrLKQEac(Y0 zeDGc>l{x`GA5NqOzb8`ffM+&CWZs2QUwtSE{Krh(~TMr`I@i`{sH4kKX#%u`@G zLP(M%5lj#S9*hHHV`KJO?8YPTNSGkti7(9Bx@4 z4!Vv%#tXg{53ImY5~4V`eF28XNDK>|g>T#V{(y@aJPdp~I_~by|Ns4$M4(ut7?z`1 zUJwz~mnjN711~ywn$a9DS+?f|a3$%QZ5f&hx+oc@?Rq}cq#z+x^*qmYp&msZKUfs( z)4W<3I<{rPB$x=bCn3{vJl_JJ>D#8kb1XyCP`(Pj?G+nbI>*vP1>6ivR7r+a;9-G> zQB{tn$U>o51{xTPUyQ1ZB%w+Wl?wL38nWuT4s;V>vyc{96~U(mwR*j7nTDoV1|Z0C zSPMJ{Zw;pkBIql--CC{(61+qGTG(iU!!kn81r(NtA+_h9t^7 zEI}pbJ(5r&u z`eDNaj#je~x;#hI5L&;+a8k@Vh|(_WVAd{cjM_+8F>1n^FO*4G)u@)UbEOhdUC5UR zRgviGY$h{Dv7*dEs3iz11s~WT4C|sml8R>gitYJ9uN}CMe!0NN8RtsE5_Zw+1%Qy*#?rrMt?Kv zw4&Z}o#&9@ZQSp-g<^hDbLtHwvN@hEO=WT=!_W|SJ)O=ItX#-tXTB*d=7?;8bX*+? zvv;y(ue-7)OH9SGJk1H3k2ktaK~k*EC)?YRr}9C)-3NT%2rVsFD07Ww6j+OyTenDF zE|>EQv&E$t59nUu0bTobJfOpP^D|o5?~}#piKUsjuV=C|WNspT^6cl=SeBSSed_cA zubKJz>2x-)2fS%?8;)ixLHoB~elkVTsQvu=%dLB!vHtMs&c=H8$x38Xtl>TAp~Dday*x7~k!8-VJy`QjViK4{v?9`bvpWRl3 z(#20cJ~_Qeuu8(k16acK62KBJI3Wg0xG-44bs4}CE)14%Z2?%q^$frgu1XA+aG3y> zaGeCO!$N%-M{9ggxj0(mgPMv{c&tc`K(TQOj}@sAC?>9}!=~@eP|dj54^UGh>3cKO zu-Fe!QwM~y;||=v(2oLjKkmT&3;ifi8;LB$-FIxLokSMm?mIRVO0+8Oz5}LjBvPYL qiB`qkH&W;$H8qmHkw}d|O(X&uci%{%kJQuwp}tB4H157psJ{SOT`L6u literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/be.ogg b/SamSharp Tests/goldens/words/be.ogg new file mode 100644 index 0000000000000000000000000000000000000000..c13f0f1ba0bfddc20b67ec1bbd9beca0fc1c0ea2 GIT binary patch literal 4011 zcmeHJX>Su(6b;|{tx|tM)jxrRRFxuy79pr;N&9fb1(Bm*eDdrn8v2N)yi9X*}JNe;ICh6Un_ zSzr=<7JU*!EKYJ@*;85cNQ|!M8z5NE(*)=ChVcL!d=JvcOtdvbKw20iNLoaE1 z5Qws(!!O_W;Eg1p*^ictpb|!r=Q^h0T3|95J+fkZLD_LpbCg}%0+TZg+^=e=Ej3s% z4Ok+J9Lum|iK1Cf0|Uc0y2LXymCNPw1TVl=^bsfNsv?UdSuFAbq=p=-?)zYTXf2UL zX#t_C+l}?cnhnsPGyJlm*^Ubfx+?RWZP~65+4QK&@~E|dU%eULQ z6Qyz(t+|lgT8#o9Kyrdx39C9_;B8Y;3i$#79SFj)6iGk|I+;vo^QhOzVj;sq8`DfC zSEON&Mbo8X0pw6ijHD=GR1Kj7EMqyIuNZ&{Zmm_}R=^uZs{q(tTaEmlS^&5VITgis zEJG>e@&!dRZI~4d&6NmNf`@uk@ol&*i0bVytoWW;_B`NS-t4v?I=UjUK(7W_t*Bxf zDrl-(uI~#pna_ZjE9pE1LroUgh5HGj#HbX*P$h+>sHNph$qmY3MP^GR2ren6?>C!k zQ3d|ZD%TqAD5_TcwJ`7mS#w((8?B}(@sy^Sa6Jr}z*5AOm81aPusDv$C5c>aaXFPQ zY5*#;v@lPQ954X8)nf)Npb#_gFa?RDqk3!03p^<>6**htg<9D+@6Xho@DWw~7@y_J!={eB}LxxBToUHkx;(8nPipTPb`{>~CamA6v=wY|oXf~sEqeio` zy|umFZA!URN;7>yVoN!m&gSPHr1OTt-M%?7F-0({o=YywX0t>hnJ2@tC$B6fvwqat z+@u7}Z8yp;Nm8P=dw3YSmK?3FcXn&dMy*w^3cO+kJC8c+Vm_NPys9E`R7PM5vx!Ur zYRb<{O-y7-PR(Vmk5Av4PEKVDS*cW*PGtD4gS|FcpoHxw&kuGQWuv=yynl4`^mwn^ zGRhBko*!+~*%aB`+ufov)7dnkX4CU`79h#Ro3jZrb^rYNPp=jQO`W;%#eB}H397*7 zRM|Ew^;_*~@1?y1MTE@btH%{Y|6Qdi;HRr?Y-o zbB!FY@3tak`sTF>#;}cR#GbiIr;;3AfYfFr}4cZ*9BP z>3Z<=ZS&FL(d(bS+p&V?%U3U-RSkh^ZXDEVd|D<+PAt&0L@ZpoboHAVO)Olwc>cm1 z$!YU>}b^qujd=K!)@V5Ye4Br6! zG5i~Ve>C_lz#qeJ1O6Dkh42sH&jS9@;O_$d7(T)us}I^B`7!(&mVX5JNd8#;8VDY% z-@x)?_&Sz<1o$bCKUSXv`D682EI)>SjO8BzehRw>tKWAIR{tyP9t^+lo)O^h_ubP| h-^T92>R-U_!SEUEo)O>+vH3y$-(&NG`WvzN{{Uv2;%@)| literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/being.ogg b/SamSharp Tests/goldens/words/being.ogg new file mode 100644 index 0000000000000000000000000000000000000000..389e3cce1726e327081ae925639a42833118eb07 GIT binary patch literal 9377 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 I%Ixj`0*vp2V*mgE literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/boot.ogg b/SamSharp Tests/goldens/words/boot.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2a87f54052ad8aaec87782963d93cabb8e5687f1 GIT binary patch literal 9153 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 D$UhA= literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/both.ogg b/SamSharp Tests/goldens/words/both.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e12bb937451ab65c047d5563358e57ccce0ec3ef GIT binary patch literal 9516 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/break.ogg b/SamSharp Tests/goldens/words/break.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1c8e6204ee0d543d6f82f1bceda59fdd7f5fe859 GIT binary patch literal 11476 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/bye.ogg b/SamSharp Tests/goldens/words/bye.ogg new file mode 100644 index 0000000000000000000000000000000000000000..36c5f01928428287db65c85ea93d2093534b208e GIT binary patch literal 7044 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/c.ogg b/SamSharp Tests/goldens/words/c.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a5151ab23533e0365f4c41016ccaf4a9edce1919 GIT binary patch literal 4923 zcmb`HTW=fJ5yzFczT~C-0!6<<9|{Bo(xz~bAaSeIt)eus71eSiSrkQ5ayNwbXM$n)SMU6ff4FdREbOKudMt8GFzMV%~wGMuT=)GRajTWBG%`DC>2Gx6tUEi9y3^yM5vZZ{6}q4BASGO{N!6Bg+iJODMb^h zOT?tWZXzKdnV@F$z!p?f8%~t|=<}Uff`#0mBn;KM6y^k?xRe%Gn8;ToK@hT{kwQ|m zRwh`=!6>`zkb(a0-U#fl#?<$yJ16B$UKNIUWAte6h;65a3MI%3GkS zM4@&u1Lt5(>XbRUpb-5@i0d==lbbBkIA5A7Tclg`BQhoBsMO8?|3dtq8vKA0RAXcoS5@X7Xa9Kl2lu}P&6=U$DRvIt8 zl$KP81UWeYtT9jGrB!-R6RI&I)JQ4;#SI8IauHYfktj>qoDi)jkF6pU?c##ovI*0$ zP@_zunkLAQOoUDjMjI+(2Etskm;tH9jf*&MUy4a0WN3jVI3~9v3$+T1rD39rGC7${ z2#>s|LQ3Q-Nn~+(FvU4!&Q)}gypR-X@up0kC&on;B2b}HNX1qDb%;x>VlVlSnpV{1 z2^7l(Z3@k3D*PAFOR*>r!*|>ehcJYzkl`x#TEzksCz4_jW0c#fG0?ZH7N%5FE7%Fm z!iWasGAbgCYLO-qBu~SC*(A{-Gm-&MedO!z2p>&th%nI?VHZ z?zZc7&E#Pe_(r`}1vkgBji#w<`eDnm-L}=L98~Hs#5WtYO3QRy&X{F5hGAQd>m^aZ z^rm4)oo?nc$6_w;gmD}sq3?N&N5f%Xpej~C?I>14U)cBeNSPt!O6o~{=}Npd{s#x1x3mL*}(G#qz48N(f!Ae>Coh`VXpfelR4 z<58BvM){M;XyBN-9>)EiYa1GCw^`FL&Cs`uz0yIg5d{80X?GX!U0UD3`xhVl$yH9 zbVGM-y?%RZyXyIEb9-xZbIW$Qc39mxY*?&iIZgtYHO(GP#>1|uHH~a~dIpoN7zn$A z!O0{`ZRW+<{Cv_jpgb5)C!yJ_!NF=X<~)}$3)yfuIqM%yE>DhP&9HfVaXM`7>}>OF z&~G(LAD7FzU9MFut$cUqgN<$9XN|wCt*vi5QKlViZ#GSz!O?B^;^43ub+7KvXK);y z&#oRm9HnjWo_{)=4AWsZw%R;R&Syz!XZIi+^t*?5w{BJHM!8nIQ!n4uEFR59Nl=l37Y#<6!a92}n?jRt3ftlBW0;NonMmhWusM4i4~FW)Yg_svpee^;;E z-PyT$XAfXLTL0j~4TER>X6ci^Iy{4)lz%bGMppOon`sm+o&7fZ2(hT&?UeW7u?#p;^F|NxZVRW#U;QL*9cG) z*D--9u5$oWT%iEVxo!cN;@Sf+#bv1t1FolP!-#8-HjKFBh7s2vXv2t0ZWwVrP#XqZ z|4|!8Tvu|#kSn4MBd*tA!(IUDOnr+#64c@1Tl{gLR@KpZ`JF02?W?2p@;g<4x~0zh z_xk#t4`tAK|Gr<}^PyVmNBIBF)C)pQmY)pI9`wSQdO@hdli}He{xVR7#})kgelS$w taRtA=9}HD^hQhD!Wp=6nReXjTcHy8G&Q#&+E9_JOs_h2j(q66Yd2M!upSufxF-j}al zW>vkq_Jh}6`_5lox^(N+o0qc{`Y-dnIN6ok0(6S8AHbGI>WLq~J6)AiRsirH5TvJkz zAo8ucD5xgK(luUCbdKlh0$b_iRIT+yKsXMXCGr0K!;NOO#BD$R;B4I#<<0#EXUB)z?&jL|>2P;@Bk9L>3^6xHp2F4V^Nl1% z<;&l_d}U5F5cm4Gzg=kRuA5zW^Yt8Kw-t_7dBq4dzaRTayY2V34i5h1>CT!QZyYv7 zH;BwlFNod##M?f-~Q;Mvj-w4nvb4-@FdboC3moY-_huNz24Motu` z(c*R3cxw&DFb%{|P2O}IOJD`r3*%6gBq!{&Eu_eb+wQnX5-m4`y_{oYrH0{nzROWG8zp@MDPGX&k9<#8{jia1H>J9pdDl6J>Z8XpoNebKDL}iqPd7EVvzQPV&kOsWZ)u_LhaKB71Goz{cv;l~k*X}OR(QB@d}BFRVUu3M zQjG>14fgjFL*|3_C`kfC)MV8NG>vC#m0F|F;90Fzs}*Xznj~$b(crbw{_f^L6?tv2 zxx4MKR88h#pSRkU$)%o&08oAMC+d*|Y-2U*VKmX~6p+x6Qhq1f6 zySwjgCtX>K_MSg~{`9D~GBZ#*HPOMp0ysU}NBs`_AK^fAHRZy`0Nc z?e5O@@b0z0`?FVG`R42McZ{{&=Rbbb>o!D_|5p18n+wod&{{5@3yz-6j{NuHp<{fXgy?aGYUH|ES z{pPdJ9uB4J%eQA2i%gj+&E~E*qx~n(|LxO{e{{n0Tr&LdXaD-_apB6VU;p|yUYo0A z%Ys(31lTx~?mM6S_P4+J)h`~`@7%aXshze!W#9hZcfRr0-@SR&T)+SBzyHSv_cwTC z_kQu|FaP^LPol*i{LMdn^Yx{-S4&j6QqSDI{LjmsqfdYR*>8XIc-<=AQ@W!)*F?=F zYWeEb8&_@>#L=khS@XB%SNBezee%hp!(k*^mNkMPyQqt(<))eJ?mj!+9Ccyei8h|W zvsH8H)|Jc4%M`Mj)dH1WUdUdVucGMLv$Ipgg4W*Y*+(Dk4%t;|Ih!rcuU4B?tCn5( z)@4u|9i5$>xu6C_9-kea><&j3m(5z7}>v5-YwGa3$ud!yK6#bo#7XTSL9**RT?6TSVDlj9w+QO@wl za3fKqs?AEiID0o&rNp-H<}#T=qdnR=JV`=FjQsX!D~x-|)+mzrl}x$eN9_n@7G|y& zS;_EaS!NmvJh97WIDB|~xHS?Pj$7Y3JPb{lDQ9S!tx^ovKoVUk&d%L!MEyRj$!fV^ z`TfI_VK4SZ?FeY-UL3-Xg;o|87-Yube!uH8oUD7t4 zWR2FhHsGEBkNLKpbOP7nMAZe^$cF8YbKIzB+p5GMk>hIh7B4zTWV4w}R@UH^NTli& zQB-tzGji=Da4hKC-p1Cb-{F~-wG9(7>a%`Pqc-SRmu9e9ZDa(bI6P~Kq-oj54 zZ{e0S&|d75K{7`4P&zj4r^*xa^Fg98!6O(G2?)p5sWx#t8N`mTHUXRvndprPrV6R% z)DAjnpU6|kW64ww=eR#+MSAD`u|3vEf8#lg{a_i90|s=?`(sdiNX4mrstXdZCxBxM ztVA@4@C$sU8mR?VAs}fx>83c7L2^dGCWyp%ibFb+Awme_U|_5VO?nF5FY+~pA{vAP zF(KN&?=pc3h|`vMAr8*njIGZ>CPaS6!3B(Tj0irbHlYCG3tfykc8R62&IVx zA5-121@VCKunEx`AI2a=jBPM7v6T=#$#BCNIo~10+Z1cgtRZ>VgDB#q$rurbSRLI!@uR68Vt>HozXndIVwO0Ar246W9y=7gSQ0 zSQ(>@ZSYCzW-1_Vh%(W`!$ch$rjAGp*yJ1!;x0zH(2lhyqvRAfsZlyg&arta$L6U5 zfdVR7zOK1z$b{Q0L;dN_<;RP<)oLMLpwnl zAJ6e77Q`GHj51bFyDy;PL4Y8RFcfi*j}w~5kP2Pb^Kx2@0GLN!pG@PlzJNzyunNW?Ak!wb zBtkNpo=>D06#Ar@v}24^Oxjd3hQ@@a=D2&V0veiOTBfeyo^HddzU!E#0Wzp6_?`>p z6CF-$*L9$dfK(Mhebz8ERTc%PdZ?Y@$@8kU-!en zb1ef02l{aw+F+JQmE$01uL) znSK~W0aWmHz%#ud41HHevIKP@58UWTQ4k;p@bC>v2L00T*3|h*Py{rCe>&3{<2b;1pE#Xhx8Lk>`5wDFu?%cKxsm-y3>K6yW4D zA*3NBgQ3X+zG5^o?H~dPROoCA9Ce5`Owr zaKTSeAt|_Kt(?#2OVv6hA`Sd$P$cCALDr3^+rxFkZaV}BxHdj~)`H9BnTTsOs?`cy zUPxcOdK=YBu~?}!Tf*<*zO}ivwZ7K%9Zi57p%|KH1%ci4%UfAueA?&v|81#Cb zD1zjVI^DtA`ucFtX?wQB)AdTV4sV_`*wIwAl+UeZa`}7}_7@0m8%#P-V)lJVwT+#F zy@R8JovmT$BBov}X7fX0u)_=QG)rrEIoLGfLbUuI=m`fa=c(`|T^x(k>a{cbw#?Ic(9@Ip- z9YE>C{r=j<+D5nIo4UZ{vrBVx^NUNFe6b23Gz}$R!i7<67c7sDADkQ?9c&CcAuLs> zZ@V_EZW{?)HM=r9d-LYa*||)<%y5cs!rFmt1HQ`n?cTxB$%Ff+Pfp)|{BWxWJFz0s znZ?`liwpN=!P`oy)W{cB3$;eAR-*;oPqsJq?>{;F@sFQ8et5XMxt_?jJKDQ{|MA1q z!}|}84))sk%U3&rT?SUHrcsSTZuRc1>u-Gj`?qf2S-G1l(Wak_;z4hFdwr{y30Zh@C4DqzO-PF=>y-3d$~q+tUp+AEDd}TiJtdtP zvnHggDeIJUH)WlY?v7diZm5BDXBuiCy*v#ykZyj7Py=aw8fqZ@&NS3OTKF=dw%s-) z$TUAjkRa3iupvSI&`?99p;&jGA2cM$G(Wyfs3FqtLV}#<2TqVle%zmC^~;AE^5a5Q zZ*}5nRzrTwOtbnA2sP|@)2xR4fJc#WRs-p$=UM&Iq5k|*T!*zdU5Yz+El!r=ONRRM zOK}me#R=&wti|b4e92HlQopzq(+wnDis5tvdHGO7Qopbi&(aMfU5fBgXtII4bf~}N buJ^^E{*t@i7l-=G?s{JsYS^k@cGvqqV>${t literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/city.ogg b/SamSharp Tests/goldens/words/city.ogg new file mode 100644 index 0000000000000000000000000000000000000000..32373d1ca1fed2495e9e3d051dfbb9823b447bc4 GIT binary patch literal 6556 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/commodore.ogg b/SamSharp Tests/goldens/words/commodore.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ade831c0ef0a5d80690461dd2d10f2ce569dda65 GIT binary patch literal 15442 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/do.ogg b/SamSharp Tests/goldens/words/do.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2c12639d415db7f845b553b13704a8c0cb455364 GIT binary patch literal 5878 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 XKX~S5>|l5N%I}w+8TsJ%U(Wu&B>js^ literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/does.ogg b/SamSharp Tests/goldens/words/does.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0ed970b381710af4a9b1419aed422c6ac4378c21 GIT binary patch literal 5314 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/doing.ogg b/SamSharp Tests/goldens/words/doing.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f1884496cd949294cf98fa45d8752a2b3d86f3ee GIT binary patch literal 11010 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/e.ogg b/SamSharp Tests/goldens/words/e.ogg new file mode 100644 index 0000000000000000000000000000000000000000..9c5b57c3433e845aad9fd0894b1e630914a6e7aa GIT binary patch literal 4478 zcmd6q?MqW}6vwacdRu=%^iK%Bsf0-qD{VEUa(YQ4*(A1I_o%ttW#f*)>Vh_=n>n-9 zVn$B{je^k#`mZ|m8^_M{cX#?VA0~UD_~OIoe$P4Idt-EDByv{MCN6tj_ZN)w=QK?l zfS(Iq?ay~WI|F~2)eU_N{tG^#q*d6h zZ>{Ixx0l6wvyVcv!^2mnR+odLmxcz1 zrj5kv?Qxe+55(q-XgHIK&jeD1z4~?~9*(bk`qr*i?DW>|-sf5a@t1%f@qYq8;%@*y z;*SA855Erli2oJ%5kCz4h`#{*Jp2#9kN6hwBmSDuFYqm)pMmcK{b)Z9`q6$zzrcSX z^fT}ipdan)pdalo3jG4Vqo09a73mT7QzAXWzE`A2;LnKkFz}lqJstZZJ;MG?ksg76 zPo#%|pU3cn{TzlL>_5lw1HOsj?}Z=3@Pqvlh9B&2V)y|+gW>OmAI0#4{T&QH*xwI- z_v||2kK^ou{r%Ym`?hp;9r1lQyI|jsvkUeO>Fhe=eZmghDibS@JS1LaV&##C#M6mI)!jqNOgVo@nJIT3QUzRCiE_d6 zog&ADl_(cXcM1=;dxQTsZubW7i7Ply`Jo3$`E4J0kZ|D4!JH#l;tEgg= zCOef>QD&2Ne6XbGK+j?JH2H%iMdx?VIlQOwp^mYADMFEj0&w*xDuwb)Oc5w@Dfs1?nDYM(MP6r5vJy+7NCi0NBgKOvFaAe==oO&I>->?FB|g+I D_K(>x literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/equal.ogg b/SamSharp Tests/goldens/words/equal.ogg new file mode 100644 index 0000000000000000000000000000000000000000..78ced2a12a10a4686ad3c26fe0bfd1709296a622 GIT binary patch literal 9610 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/erase.ogg b/SamSharp Tests/goldens/words/erase.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2fbade76bd3778fd850d860e446a85563a57c49c GIT binary patch literal 11687 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/error.ogg b/SamSharp Tests/goldens/words/error.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1abc24953eea00a93668441a55f9f3845a46babb GIT binary patch literal 9610 zcmdUz*;AA0w#MCe=X(DEU8hd97u{{ukrrAEiXetaKnOz!VF)B-fJ|hbM>3O%SWc1dd+Q$F|ok7w_87UEWQB(+eQTPhTM zA^ku{M{Qd#$LTQh>E&0imJMqH#bC&1m5I#GSZrbE_~6&m^=ypI6ImCQi<)5KIpq2y!_+ zF6IbBVX(T~fx`U0E}z4(g&G8{%Q$KftS+C!(S;fWtxFa)$j7=|sK><|^{7$Nx+qYi zVs*J#kBd39s8P|n^q@w?>hd`pezalGx=7H5!Rqok9679Uk-A`wi`M00Juc?>3Ts@b zivw$1v@RFxaWRJq8z4}ZI5t4gx_l0Y6B{54&8+V73%Ui92XCEsLSVYTs+vJE*I-@F~`LR4AkXfJuc?B_<;E< z4mxb0hL;!CkB<+2-d;$t*({AETg)c{G{WtxS8ICsN{NI&M0v97 z&VIDXnO#k-e68EB;&brj_!?XdzL6m?nx-5EHI*gS1@~XS|Lxb5-zp7*lwWopjai(~~EULQaEP4KS~__w!Tks7*G+Y3UG3RnAd9orM45>+4l& ze=EbJO?ZChlln2b$b2a z_1Ws`tW~I@_jC_a7#xX&4KVdruhzD61DRrR!Ky`R_EDU0YX0q;H!n8xn${+K9arXZ zdf7e1yZ`+quD-2rP-BNZXErkKaY_uSh4uIEe|vebJj(884LO6E>1p*)U;XtjaClM= zov%`IgjNQd&Ev5-y_~l8j)6|L zFI_k}$5|>ZBjQ;7sVv}Z7BrM5{C&W&AULG*uW+>pjvT>3X!r(a{2T{pc>VoM6lbWf z@%opz4>)QWLL-#ZMB_81ckh2Y-dMD%q*8@Bzp-BOXt~q}-<8$YH?qY8;9bfHx4(x@ zAJn+>t6LIFBwbit+FDFe^?Jvn@vx8HSzrF;7r545fk17u+09C;$z*oulk+>r?|=Ilz%VXYXk!@HT>wM4 z9Bgn>#n%J^m8H{pW4YPPS}_@mMB@JV!uI}~v!m6#mC|^(x7v`@Bs(guma=L1VbQUNawg_-Yv}$rE$MR6JqVDZ@Tr zd}U_^<=Wp~$i*WOF!X%!?Bwuq%E#%fth`yvkeD3~$3PFU>btV$Zk{6KjQwgn?nB9Ew)0?;RxwzFB0i(>XJ(

LQ0mX9cD&T)m<{ur=!wg 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 B<_rJ; literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/even.ogg b/SamSharp Tests/goldens/words/even.ogg new file mode 100644 index 0000000000000000000000000000000000000000..66fc25e57c62d47138cfcfd1c290a545ca4c950b GIT binary patch literal 8849 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/ever.ogg b/SamSharp Tests/goldens/words/ever.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f22c2b77e056b873f062f71f993c69ef86798746 GIT binary patch literal 7990 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/f.ogg b/SamSharp Tests/goldens/words/f.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6406d274a714035fe4161ae646de9a598acb2ade GIT binary patch literal 4614 zcmb_eZEF-)6pr8ewfzO9;D>$`3WBy&DGEhP#}G^P zpZELv22Wo+GZC5l@Pod-z9aDOqlvA;nDrWHH;cYod8Y8mNbYx~bv zuV4ORs+Z44<4$=w9i6__OS$w$Ugd^k$3H56B?0yJcUNywGTWHc^;SGK;G^={-X~# z5P2RUIFPqHkKjI9Fc>+P&tNbI=h90bkN5@Qxh(JtBInXeAK&l`!gJZ;7o+AlbT6_uFI1RI@OcFHkqo?0VJ^M&5qz=3Tzcsv_+p2-1fNH6AHhE`Fqh!- z2<{{J2j>6yp%WKs&Z{`Z_U_#m&!0WoP0dEaYW?Qs_r<)U4~NGG2M50%9GRRc)wOhK zZSCRy*2a<^i#f&nPo6zrZ+S^I8;`}Th@ME)UHIJ{Iez?PD4MRXCiU6tSLV%lww!FO z@50vicb)lJ-MF>$!cL$O5Cc2rGM!$x9G8yXtDG8L{hmkWhl z+NxE{<+7R1mg_rvd)v3Yj1`;BWwWksm@(MbE8kk*Xs1lmFq_Mro12Yhv*NB++-!Pk zYBF-etyC(}naITG@JuKa8M`(eE!ArEYI#<@5pi;r#!8{mXfEw+t*^F>cs#MtTwYy= zkF`tLlpY-#8X38oa`LXLPEB4NnbTC=n9>bgIYH7KfK&flCW!t%gk+jm~lACkX$n?ax zHmA?eXwigWmOMA7N7YE!G%YJ4O2Wh31wQVbDx~^BXvtF^>Znu{gY%3AfQf4Y; zMPX&K1iR^K9mUl=rhBOa-S|Y%6%?! zqoPk}R7F!1_81gSkT{SKsW3-8L3CK5hcF}<@j-(~rhsRmE9S}nTse&aCB2+NK0|2owN{N*mPzN+XW2#d5P=R&Jx511*6IT!;fvk~E?WSEJBAFougMg+8PXy9};9O+>0;=;`=~2&O zrf@$(MB)cPh9WctA9TbYz$o&|00EORKth!LilQ>Z1z)Vtw&V{`2tkh?0!Q$KFbDt; zCGe0PqWwgQeb9}(S`n*hd$}>zK-t|Lmno{OBLt(hlINTXeu*|9A!%_#ERo~I!nuNHJ)C|yrQCT4(Pco+4t@ff3|HJ(&4CkVvB^El1dgfl4(N3jvjoK@kRYzTqmLV61Qn z!yy7PtN;fN5qii34H+XYG3{4T3S|%=5E&vcVikhyPzOpfu|OpXIZ;4}rr;kI{{``z BB7y(_ literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/father.ogg b/SamSharp Tests/goldens/words/father.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4193ecf389768f31968fd4d9773b40ce6d91fe76 GIT binary patch literal 10853 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 KC6Qr6R{ak(`Fsih literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/foot.ogg b/SamSharp Tests/goldens/words/foot.ogg new file mode 100644 index 0000000000000000000000000000000000000000..91e18779fbdd2889ae9e83445f944de35a1d9772 GIT binary patch literal 6257 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 IzoZKM4{YE<>;M1& literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/friend.ogg b/SamSharp Tests/goldens/words/friend.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b57b69a2aa54d3ac9c70f64f4c6b77477c20bc47 GIT binary patch literal 10680 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/g.ogg b/SamSharp Tests/goldens/words/g.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2612d4cbc5d84a22f158c8d02fbc65660b0ef0d2 GIT binary patch literal 5669 zcmds%S##pp6~{eqc}`XGma0^~#8k~ol1cT{bdvUTkGt*03yawin8gUpA|#;&gb*NO zu}Bsm177er9Xqa6PyE!CRK8MPbH$Zp(`CExQb{VuW&7&Zz0&Xe|L2_VUw-q=FMhtT zu=3mG7rsdHmp@%tSoi|`{Azh&`uoMgPr#1Hm2~~lZC8|EqF()0!T z9~?%(2<+Z4PZ^hR^DV|pN%JG~k-*ze$in=*nT3g0xHk#RJZ5BJz2zY!W~N1Qdi^s2 z?#-W~jLXI)>-&ZmCfD#T9WPoO)W`BP*W)BF4PoCN2*K_ zbs-1(rtwc--f6xJ8|wMYPZSf`BCFb@ z-|sfnj;w;Qq#PcoEtVFif+iQvlnwPYHM zPv`pErA;K3^tl~6G2-@zLufP{T-)>^1ViV70dIsXiIPO-P?8e5Vp|gVwjhXLzMPJS zT!|B!CuiqpUA|Px;2h62MTSX}yf{A6loCmC>hS!$-xN5htq!%J)>b7^5}JylXi7bY zVZ5rUT{43pIfk!enP@Z;jBH1u+wlzOa+|{)%w$mi(sxTMk#r^-NVdeMJHs>QEVKYQHN#=KXk_Kht5@Mvz8DKR*Q4<)v5n&e@L3dOCmtTlU4ke#&i`_*wnct_aCkW! zD$Rp-S8cR9@=33QqM4$qsfv{Jy1itHOU8W8Ri7`FXIVw6RnP*(iyuyp%5B2E-#>MYOm3Mf0G)VjF*Fy=^{KRUm<(i&x|JD8{k2c6!oz~w2S(d*VJ zKNuF(TFvKJSzHVt`EWReae~@vaBPYZI~Nxd8mG$RA1<#(`#js}jXV7VrPUSq3=m+f zFhP&g>!qu;s%!PNHxx^U!XcYyebw>S9SH2i5ckW)_XVm#1njmo`;O2p(OA03@=|rL z+W}_abi4oK)sN>BmSQL8mwma3)$0vetMBohVj&Ys=JL%3z5VX{#qE3%-+1%8ufAOO z#uGWNKJH1?daBa8`gC={Q51Lnx4)kq^=Mf>`LKVWwkNwB9nDcgSzLSf>h;nNU7|O> z{q=ir+3vExcPuZxSX>F0$V?*mYRScc(nW)TKt;n?4OsX2W++T=^vl2 z8gxF@QI2whP%H z8e*|Qv^S6qq8V%uZ5OgZv=(H8XcT0FXh#+sM6*LSh=xG62gybN-JVxApxf=T0j?_W z)3UQ-X$B-406#4|Y3S!IngKhVz)#E09pI;BrwshG?A!-_T6VI~&s#Km4yYL;fsapy zLT*+UD6YpSH3KzMU7)xgqtp!4Ov%r0-`!9%B@ZfoPW$eLn(0H(hIiN0oKQ1;2-@)O pnwk^pKRg_6*3^uBGfK@sT~E_znph=kni>=9sZifpBYvJS`fnV5DNq0a literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/gone.ogg b/SamSharp Tests/goldens/words/gone.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7999277ed27d6c885af801a96434850d9cd936e4 GIT binary patch literal 8910 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/great.ogg b/SamSharp Tests/goldens/words/great.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5911a8d0a104c3ffbfd982ccd94a442bcb165abc GIT binary patch literal 10553 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/h.ogg b/SamSharp Tests/goldens/words/h.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0b6b9ef0fe486df30cffdba320824a3e8aa7a178 GIT binary patch literal 7659 zcmeH}`)?E3700u`_2;TTAr*Bi&}z{Nu|MoeEuz|>K(cv295CMC5QxcR7CV{v?HNzT z6F!U~i^Xr-#L+z;}z5R~g{IaH|<|Fv|?Wr31@1vSufTg?3(e)?r zf)6d`N~M*VY|QD;6dyj___0zj>h;u2VSc`lYS{nrp*jN}qn(toL8mi#Xt7u-u9Ro8 zDW_O^xcM5qDZSoEWx-otyZ_@|hZ@b`P8kpCbY|Wu%@#{5fWUeAgcJ~*mz{9LNFjssvQ@~GylCp7&7mWO z?5%=YNNMY#%>l<%qo6`wcEq7sP|>c|)I*y?yRbuE-l2ykhjxR3yzGQSyTSY%jZRfi z(XJ+iY=@0bRZ!o*;i@=PjZRfi-@oCiI8=>JRZ!n-{O`%3YILfC3Uy4?_}`O5)#y|O z75a;|9@-qLMyD#M&|kFm(B@D#y6puO`pZr@RE_S9f?C)KhpN%33M%@l_p>$_=r7uO zXmh9&6lfX7&67?%N3C}?XNpj zrvoRN(sx50%fL}wEy!Pl?rm(oez`htGU};pp;GqK`h)uq)iqj!6lKzP8X6lr^$>cs zQpg5P6rC%*-rRU8Iw?~sJ6~B@5ox`yvCd%Dn`oLc8yf3AIY>FhN~H`68)R4pP|CnUP-tKwC@a81P-Za;MybUt z1mzfFsiHgs7J^a&7J@&@y5#Qd9n4%V-HLlJv>&do zZ|<}9ntS!V9nG~Zhg+QCTg8IZbGFy)Ppq!3zbcGJ?a515?^d4P%tv`k*Xf=U=PA3* zZ!vzgd-uVnj_CMgru%ej^Eb@gAD{mH{;i^z&rBBX-CbT;{9$ocaJHE&+?6XCd;NiZ zz(P<8z(P=N1Irc)un-i51*0rs7J^~~7J~BW!6pwu83mRq%H(&zf>7EKN)EGNlm#LS zM(K&kvS1WLpB~8qD4!p0=_a!Hi>uGq)*k~(GI{B4W#OhG%h!OC5J8qbAWNTu($wq# zSr!20T0WDRj80;dp7ypgCQBAj4D|;zGK5j88A2$=Q_V+fKmW4DDa_rNNq4uO?Qu=t zeX+K3`?3VFFP9$QD3`BfMjTYr@pBj0OfqWwV$beRTf3}WB0-&L{=-S5JK`TN6s|8! zXOkYjaQpH4t7pqe-eYr3-+A~T!CCZ5hO*;!Ub=ky)%vS{F7q}^d}8j-(t|A5qd#`6 zr9;G z&N8S&#CZhjaP1}wb8#{g9%}jOz-Nso2He6q!%2Pfv16TmXSrZ3KRprd?YD-KkDmYQ z#f_z@-O10*PR${85>t1U*Z%rsiL>`x9n;rJcNdr* zonC*UZn-i@AZlB}}2m%)kgd&2Np1NE5 zZuW9W@JHqsm+nlCMFekjL>ddnB3zVr4fb2Qx-G$=k8W#fXlQD4c!T{^Ux(q_ew#NW zL?RQJSSadt4TmLZG@nUI-eK|LQl+wZD-{xiY<_NGYFrBY#GxVH#teBA{vp?e*5fDJ z8D8*q86ae{d60Lzofe+)I2oP`#cvd6FOG4(fHZ%5sWLMm`MA`@nd@U0)1#S$pYikz zI+)RTgr{}Q$6GBzAmFg}Q(aaY%ez_DE%2<{Vs#0DbSggLVR(NeoDw5J))$zZp3Ys$ z_<0~N3H8B!?y4hGP8nV*;gTsNaC^B}spYaYk zJq+V^_`Iyw=3=7Ja6quqHb*#~NO~EUBM^$lrC>nd!=W%IK(@!z@e!8geCbRkJ?i5; z?npvP!8jWX_=5~5`1p|DH$+?Q5DOlMg_sx)1{kkzEIpRwSPvUZrp7bi!$w4i91e&4 z(MZt4a{kfLKyk!pW zh!;SPvg=kXOt}5|e=RLXg8>MKBjWX{uINhmWGC4Gce0&W&|GX%!fd;|9RpkNnkYQ_ zl_TQhR2M`s&=~$NbI7Y=BeGWqt24G=k*hM7%-TLKPsc9uf7z)z0j()h$`|=oZK_V$ Nh9J)+t|(kS|6f1??5F?$ literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/have.ogg b/SamSharp Tests/goldens/words/have.ogg new file mode 100644 index 0000000000000000000000000000000000000000..81e71d01d9a1a38adfe59b2e1425da3d0082e8a0 GIT binary patch literal 7479 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/here.ogg b/SamSharp Tests/goldens/words/here.ogg new file mode 100644 index 0000000000000000000000000000000000000000..48ef701e49ceb70cab4ee952c5440a4d154c258c GIT binary patch literal 5403 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 DQ6Slg literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/house.ogg b/SamSharp Tests/goldens/words/house.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f7e4ad1dc67bf82cb18352efde953e9e3f9d7333 GIT binary patch literal 9038 zcmc(kS$7-9m4KDEdCo7$$voub!81(aXfzYYb}Y+uv``dx5FoJ-BsOB-mj)V*#=bOw zMq>xDlLRSJB4sM3q*#(|$(G|dO7x(Um-#Jos|#pSvX!G_`QBT!kXUpv!9+hbLJ=T_w%_k{O2cU{tYBbxlR5vXa$$aG$g3kz@QD#^Lbtkn*_U$6BAIVQO!L#6jhShLG*9(nsgAvlO?&V2Q z556I!cnCfn&W&qO11#mskRROzsgQxnlPOL&L|srFFB{!?89&&m3cfr__?E+DBt!Q} z6BeQ@e~mJzawr?+`1>i@sKW>a*CQ$9_ykgvhYK<&JG>zQeDEd6P=*)r>8YMrIIQKH z<8~m&LM(fs8{dadhLw0cRKQgzgG$4qAcQh6{*GF{VpNNp@!e2+ltFiNp*)muii*4x zB_th*C*m*c9V~3-OG;k&3VZYDq z@p%29Zo=!dn2cr^n}A^`FaeAm1`FoOr2-jFX7g;8NyTANk$9TPWi#)HFbV6Ig8yUoetl*dkZR#UtTh zkOnBQU&!Y)X|);yG$jH+<#E{^UNRiZupDrt;xw$9q{9(R1VH>WJP`m9uOtE>+!PT3 zkY6AIAm5NE6y@q0t!}%?WfDQZ*Bc;0bciBcHqEMBCR3;kPH#Mu;|gpl7LUf0Otyfa zVj<7EdPPP?Gu3LNT49s%C>;sM(-~wFmsz`}SXz>=Xq{d%7Kui}R1g-M&T)-)t5qxJ zXu`3sQR~(%cCfP3VKJ@ij5c>PnXdpzvsOyP`0YamsW3&@Od7d#Nv2Thya76s%V(Kn z0t}vH*m9*@%BLd%hjHx`3Ii+xN&r|eipfKQ)8wIhDxOHB*?hU)Y;IH%A-8gQdh+t+ zs|yM>L8rJP{H4;+B+G(gdK;B|f^_KSrlG~G!eoUeP{C#sXpn5NywPrMaOsd)Ek{kJ zW~DF>nc(WZ-QAt-PLYiV2_O6gf@H{P)62!P)3YLp(%?>W&E1=O+nstb6^FP%kU@w5 z0jEu?TtH3aRwA0O_qO(ScAFJ62zWq{4$%RRQ>$EFn46xJD0MIoo~DlH!P5i?mu~Uu zg}2^*mtgAqcfWl8&u8Bp^eP_x`s#{&UbH0BXdEt=O|6tKX)HD>#_b;5`{L2x|MuY4 zCTS4Ab$0BR|MAAJFH9<8T<74{{@#sVt5eE>MJNbz5JhN*Ml^B$59cpTT$O0NvFhWm z|M~p+Kko0f8OpRW{_flVbK#x;k7zZ5)DtH7s zcv%I)>_2$@U;uh(f!ALDzqCKBT`JfgwEyJ~wLh$V?!^Az)Adg4{rkF}p!Anb{;$3M z^wh6u@^5+lE2n$zOBo@7m>f)h8kDM+z`XA;i5pzS18N-KzvVwpFocX-2Bh!PF)T3hYv~ z*5-{>HV+>1Q-9hnc;_ZBj*b2N7jK;Vy}}r*b-G)F-K||5+9Qc-qgH~sUAnc|i|?HM z&tJWJWzkCJ`@^YkcXNbAcXj;o#Ps~KQe!02m7}9CpFaEM&OyJPjYh2N8p)DkRiW1! zjYg?Lv?vnGmFrd)o$c>G{N~y7Cx1R@l_Fm4^3=I=zdifjr3Izl;`E2J)pE65$Ru*P zT%)~pb9b=WtigkYRW**kvtmoM%fUGFxlT$~Enjb_Ub025$< zHB5j3B$xmLd?gS7z&io~0K`rRcz|t8fB`VUoW+j-9)A9pyLS$@+Z+(M>=v6@P{CJs zj;@!I8L!o}B3oKhuj(yE&NU8y_DX9(GGf4*Q#(Fkt%H+e)8z+FQ0yXe9)+H z;jrIo((AQamBnb)DP;>YGt+ZZQ?pZ|b(gO(IJo!V$&`E{bULfmVpM7MdMj8ZoZuRJ2cLia^y^PP+3J?qkWC{R|J|GC#?FslonDbCy$d1tq~fL7YtwU=uFNd1k}>xB;7@n&K7Rb<$-~2)O2lU| z7}Ro!Y+kagFc>UQ(khfHwQ5CeFu166uCufM@X@D_@83Vz8`M%U|MJ3>@k^Jk%}z~= zf!gg3`bm$&?(~EL0>>i&>9tE`hN1jkcp>xhr%ZqzB2%L?hz{LJK)YZGFz&L2#$_06NB`=G+l zZr|E$6v|1;=QHS(s+Bd(`npjGmwcIsq?(=GvT%_szNl)gUrk* z?5<#zZFa8TxCb1^w{LYD)iRfiQFgOIt1#a=?})=e}8;@c0sPQp+18fsLvtlvkiUV;maTN!y|gc<+Vc>BkFS* z^_iGmSe7gG&}VaSKlCL!TVqhaUBD8I71lK9z93h1rYa7v6^J z{Pe7RO|5shqEU{kG^$*sz*S1MCS0{fr{BJ@yAL$%5QnGfw>Ih=%cdD71MlK#^u8Af z`TY)?UI(v&qN&M=%WzH1i^MCdDuc@tjKwm!9LE+5#XQGy99u3|tMF3W+wQ}cT(8&L zsF%1TO}UNwwPnft{QNZtJqwExc&A*`fv=m*7KhDhhLaBuK~NMKjkDEyuQwQM?d@*u zY<5~3)oPh#Spi@M=f-Yks1oTQG0NN9X00=ZRBmy9bKm&e~G<2gJ_>tg7FA%-# zMu49c+^7Y9B)Cx({77&k_BtE&Dg+d+ zRN*QRu&O1N%|vJdVw_sJB))d-+Qh`<)XdzXOrg=~tuBYn<#0Ql9v9lSiA0X&8r}Z> z;o(OgeRPP%tH3iYO%a60VYQp#smTR;U+$ZF+krPgRS+T9ME2thERNT*$|Q79xLcDjh6~9|rhlrltW; zBwkZnY(yYJQc11^&eZ95+ucSD=?P*SI71hOlwPk|&V_>>ta+tkZDnOuqtn4yYl`K? zh56a(YY_Hi3a#DkjifRxTPhU`Gk{VjWP!Z+;CKEwV|Nqa5!xygI=qUg0^7P1u1-i8q6>goN~blx6c;{z%ep>CsaDU z-p_Du*v%g-Wf}>9lH@7LK#$7gkS~hES77{P9KJYmDek5HV((*5jql0MB|YNNjUXdwOlHeNThPb zs!9ij21UrF5~)LLN?o3tYX??DjV|L3!Yd9MS`m$-;MaG8qmKHj7@R zQm?5rYg*kpz@d$?xVR{ludM5hc02fu)9!M5`~f{ zpZ$?x6)F_FzX$A)5pJh*BkKd0rR|xi04AuEx-)ih#Y^0dA7;} Dn>VymBOYt0xx(>CdsGAghtTt52tU4 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/i'm.ogg b/SamSharp Tests/goldens/words/i'm.ogg new file mode 100644 index 0000000000000000000000000000000000000000..af3014ccf2cb0f2b06a1427cbefbd56d82fcdc76 GIT binary patch literal 7744 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 IIX1ih2gQYm)&Kwi literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/i.ogg b/SamSharp Tests/goldens/words/i.ogg new file mode 100644 index 0000000000000000000000000000000000000000..80d74e845b4424d00555d948f667e9ac8e6e0b6a GIT binary patch literal 5411 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 X7`#xOIOGL*0|)W~0HWdlgX6yed2OM< literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/j.ogg b/SamSharp Tests/goldens/words/j.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2808c30bfab170d43a010a99a0e579d53ccf7546 GIT binary patch literal 8235 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/k.ogg b/SamSharp Tests/goldens/words/k.ogg new file mode 100644 index 0000000000000000000000000000000000000000..de2c4e215b3cfab3d202bd2b8e220740503db67f GIT binary patch literal 7977 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 UBSWdaV>la68+q~OhPAH#3T->Si2wiq literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/l.ogg b/SamSharp Tests/goldens/words/l.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f6b364b85d69de1861b106f1fe1b8873b9a5be30 GIT binary patch literal 4711 zcmdVc+fSnD9S3mtuGjqonx^Som}axx&15?zH6v9SPvZar3W$Otrx#F;f`G^w0bk@G z3ZftfIf*DMj;LFmOxJXpO*fNG*Nf@Z{v~~w$9ZOUyYFNN_ogu>MtvVY`F?-T@0C74 zp-la{qhpNB>JurnzXe}*d;~sz$Le_f`BBHOz;}cKt>DkCA9Zx7R}%Zx=cQcKXkCfs zUw-%Mn@iLDg8TRGeJWjCI|xT`r*_`vjmOL9*H<@RH*#?iHt#Ig4l--P$A9^h zJWQ3FMRM^3oyTS%$2x!@2OU7}>c{{Ha$Et(T^+4JP#$a$$j{5;Jq{2E$^!#|{JcDf z9Z^sW>ZJ=5^KLKgIGS)kU@sv!AgGsi9OH06U@tj1Aa8pi%!AlLfrAQr(ZfMSy%6U? z>@dMWg}rd$prT&daRlLofxW2Vg+aZvk7Lba6p19&~YGFT{Be zI}B)nfL;=4fxuqcad^=J0lnNq3k3Gkj^jJD$UrY?w8&sD#CZ@q-Y&8qFI3PAaUR4D zGvPu7y|m*XUhJTkb{xcu9rQw+2eE_r1p|5^&V$%N{DS!jr2s65;sq8&@k0xs6dKK&o11^_ZhCbxtJUVUT5KklS;6}3_;b8K#xPxqf* zG|np-+{&en49n)si%Q89=P{c)(EIt|s5p@-*Q4Q}eK{81-plScUcUVLSv|Kb;jxtS z8s)rBDVxRELytcB?{E0ug9?lWs?lW38waQB6!VfkaxXz zi4>f!l1e7Yz1@^SnavZ~+9@_q&W?}MiD)R5%oO9vt({UP6VT1EsLY|Ek)DAkOsQO_ z!z9uf)tuU>(k}UoF8|K%$;sJXI=#J-N~NM3vE<=?sg&`X=Vm6E^ser%o&nyBTqnjP z5|v6hC&aL&&{p-Vetv#>b#{CZ4SAM=etgwxTQYgARtZ$ z!ygQU!}xZ#banlrQLklUJ0ZIf6Yypf8jW5k7IQ^>#z;?B?<0wF(P;ICO0_Sl$poOS z-`ZZ&lF*h`r8D zQ6&*zVu@mMO2ES~sc3YB%HvEosndwkjvz=d&NDA+q;o2fF}#tLOGX72ZO;#Ftp}hal3s1n@uAX&kCl-MhE-* z$JpE{F{ai!eW49}J+i$WPewxP>pMH?_*N>N&1aHpxZ7%1&54+!BTU*TlgeOCE9UfO zoqo}2ceor5n==&I+(>2frTTHbQpqKEV*%Hq29wUtPP4fj{)|{E6$&LHOs13xMVQ`X zvAaBYBEJujEhR$wfD$29K#7pkK#7oXp!@+6C=s%yL`VZrB4h$65pokK5puGndZAz&vo!)%u`$P@<~^<{=EO7Mur=arjpK27UK^@NU$<#6I{z t)L<|Uff}LzZ?4`gx-}pl7&X`z0knF-zPR)11^WVfyL!R@6+f|h{|kXUK_37B literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/laugh.ogg b/SamSharp Tests/goldens/words/laugh.ogg new file mode 100644 index 0000000000000000000000000000000000000000..41db4906922978e1216ee26e906fd572a6e015d4 GIT binary patch literal 7413 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/list.txt b/SamSharp Tests/goldens/words/list.txt new file mode 100644 index 00000000..49601dd3 --- /dev/null +++ b/SamSharp Tests/goldens/words/list.txt @@ -0,0 +1,195 @@ +a +able +air +again +answer +any +are +as +at +atari + +b +be +being +boot +both +break +bus +bye + +c +castle +city +com +commodore +could + +d +do +does +doing +done +dr. + +e +equal +erase +error +even +ever +evil + +f +father +foot +friend + +g +gone +great + +h +have +here +hour +house +how + +i +i'm +in +inside + +j + +k + +l +laugh +lead + +m +mood +mr. +mrs. +ms. + +n +none +now + +o +of +old +on +once +one +only +other +over + +p +people +power +prof. +put + +q +quarter +quiz + +r +reward + +s +said +school +some + +t +than +that +the +their +them +there +these +they +this +through +thus +to +today +tomorrow +total +two + +u +university +upon + +v +valve +view + +w +want +war +was +wear +were +what +where +woman +women + +x +xylophone + +y +yes +you +young +your + +z + +1 +1st + +2 +2nd + +3 +3rd + +4 +4th + +5 +5th + +6 +64 +6th + +7 +7th + +8 +8th + +9 +9th + +10th + +# +$ +% +& ++ += +@ +^ \ No newline at end of file diff --git a/SamSharp Tests/goldens/words/m.ogg b/SamSharp Tests/goldens/words/m.ogg new file mode 100644 index 0000000000000000000000000000000000000000..bd624464afce43db96e85e548d212f47dc97727d GIT binary patch literal 4944 zcmc(g$xj=19L4Fa=k_0{D&^2aRaI&)Rf!TMq#=-m#Wol(c(<_)24iEq8yhl%_hp7z zysuygX@f#qO1h}68YOKM<&qxq&-6=v=$A~?A;gJP5Elb8AHDa!?~M&!x^(%&zP^d` zvH{bq>!T0)`ug63?~i4D&wt+QdmlbAXkFTm;jiG!xz69*{k_|wyy11K{p9Jh$G`aJ z)x(RPmBdDP(JUJo`0CuySEJg+WjcGqIXY%=Z~gG_@w3Bie$`7?x9@E2-n^ME1T_-L z`7x!LBv$O&FV39#e8!i(l`o`MUGpm>$88_}`RhM_@3%OUZGLt8+gpvS;p*3)pC2Bv z2TXRea!e(cU=A8UFvl2xye&rqKrqLz0P?mRM}lBI`ndf_-g0YSdxP(ZLRy>LvTfFNI5C?GF<5!FMS;}Qxg@?{AH75gHthd75H z1r_aXrL2UKH7@g$lli>mkk&5G_>j zr56tIVh3M(;Seu&@I_n?aSri;0bj)R5a$pdn0GOBf4LnkQI(+{qILpXFV7wYK; zSHK|{IzgenI{c^P5DcB5P+?yL!+%N+!O#f`74}734{;8`&#YnjAejeD<@UajAAjuGOk+(`x5xlBw74?RDD07*TBg_2kK;pLsH3 z4F{t{!Q*$?)z0bb0|Q_74~Ap0wNOAZG&tfTsr`ektxl!fZdRKarh9w;;h*=uqiw3G z$v`xn%+6USE_^vSFgSXBLO+)zqkgwbrZTQ|?>&6@s9R<-)oOG1pnYqr#dVA1l6_=c zp;=pxg*}7)fP-kt7zb#a7zfdOif|B(1mPf>W1JtqzsZGN3%1#r)#%FXtYPZ9a^l+X z@YxGPQnlOba?D9&qiTJuQ19@S63c8hYMpMexwUua_rvdY$e3^0MI;m1J=2_g~=EzU}%V={@!KJRo)tEAV5#>Xe8)Dn%wu@Hq{+b!PUjd(s!H>*XK zOs4b2W2$sLdHUM5Ygg4;c%(|Dl#lB*Dy3E?*I7c5l^bg@ z_p*D*Ma1C|d77;_G5u-$L>_J7!JR*Gz;$gva=TPNZSlgknwm&L3G1FW+; zqgJnC@%lo+fIkFoctha`v7Sif;qfe0pmNy^MKdg4s=(VL zQ4%;a2o!NL2=tf}fg;Wl0!5t1pqMj)KoRFLDB{#0&|^*nia6~E6mj|xDCR66P{au` zH7X^(cU+J)54yfP+#_1h^+a5jWr27dCjkUb;v|5;C7guU2^_#l0D)(45yHEmVh%p2RO|mC_48mf>Nvshj|~J4!Jr|+IKiis`gt&>6ga^a zh%ip@GDP@Af=?ke;%>l^A$ABglmz+G^}RVeg!<_G@bwws{9d}gH)n@XADtgcHH7*o Z1R#3v>?bxyFYG5a$I0v*OaH&I`4_QN#bp2h literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/mood.ogg b/SamSharp Tests/goldens/words/mood.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ef76b1336163f5aed52506492aab3f6a6a69cb90 GIT binary patch literal 9377 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

(L7Og0ftU}gXe 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 C*o&9| literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/now.ogg b/SamSharp Tests/goldens/words/now.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f44c09d1b6c3a5ae9d8efa99908812e724493c86 GIT binary patch literal 7277 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/o.ogg b/SamSharp Tests/goldens/words/o.ogg new file mode 100644 index 0000000000000000000000000000000000000000..261e7e5d0f3596e695bf882991e000b6f1e7c158 GIT binary patch literal 6111 zcmb`K+fy1@9><-xecqRS-P-3oY^qFcYOKkOg)1g1kzf$x1wk$?$Tc7Y0UH4YK>-P- z(Y6r;Z-jUmWs5DWWUMtcsj({aFjf2S?5{c4*vuX`i)l$!%JOu7`uqKz@0auJad-E> z|J2qt)G7VD#$fyNAKTj6zJZ^=NZV@vzG?dd{6?j)DURW<;3A`RsZzPTy88Uf$BWA8 z-bQT6;V`S!O8KZlsZ!{)dc9t&)u{>9xI(2=6K03sA4_IVE9W17`FwSC`JqzUiwA5f znWUqmz5U_+2ag28QH8l=1?m?UZZk)t=y-wpe-ti{ zgI{zv0=2pLzmS7pbTGmsU7< zMaK(N=oh>mcn)6C@d6e41+NF5gI9FCK!tv3g@adgyg-G1X@!GVbi6=?e!=U3=in6` zFHoUh@Ot1mctytx)aK&n>4E3q6&){7n~R^P2c83ea%e7oo*sA({K=uY_<4HZIq)Z# z=Hln+f#+y^WB*;CHWhy>MaTQb&Yh&FwN>^gm4=3)3pogo3>Al?!z-fpP3Zppd+qJ* zKakOQsl=Y>*dyI}$AcoF3(4eusAC=~IEA(IyHs@1td~FS?tB0&_wGIX?r}fR&*8 z`t{dOpUx}qa!f2@n^Hd$b$>7D_+Ics*TA4`La%o?ygpyh7m6${Ei5gE6Nv;xZ{_z+ zkI&93<##8=A{CF$ST&NTf{ymT!qrYjVmk-rpMLuE>GJC557pB`c5``Qes=byd3wsA zG3xXtz1~C+D%FI1WN1kGOe!57Q%z6L&#z<)$7hv))qpN9&klB07v0Wjg+e6i76=8s zJ$-|+(FwiD{C z`dQ#wLxNQ+753JpgM5}stwtgtU%=-jJ$`cD?Vg*p+x2>aeQDr&A{6%a_KF8b#&tFa ztj`tL_ks~&HQNQvYU_ir9(?nY?i!}u2 zd?9;2(EIptS65F@k4QZ9VwAAFoLgK<(M+LGEFQwPdV5s61H-^>OC(;et|XGN)s<){ z6!3cO_GztRd~`_E+uhyO+1c6i?1PQkUFN^fkuNpG&x)cTura%E*9Fz1=ES#=uum_#BL_x1IO zL<56T+32KtYRY1H>2!MCZVyS$dwpckzYqw8$oX(GwNBId{QmxKaesGjC!gD5nDuok znM|e<$@uDP_#|Qp81<0P=WF^L90}oh(zaX7XlS!*pDwX3CWAc$P#pHxirO^-s zq0vlf)syhiDB1rStX7w+4qD?ZAh=c#HNuLD)07pJ)6@^5HZ-k?TGwzDqH>zDq9Rs=+VCG_rSIxLpoTdALDu|T{Rh{Fc6nu_&J?nvUt0#5er{wx4q?Jp~c+>(Cdi$ Kzes(DS^f`}kNn60 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/of.ogg b/SamSharp Tests/goldens/words/of.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7c08093455b4bff73df3ea0dc8da1866647c90a8 GIT binary patch literal 3914 zcmchX+f(9L9><-xeVeL%-iNJyo`-(u?sBTD?A~#=ySH_`VS}hZxT{?)F*VAK;8iZk7KD?t(>^6%*GWGc3m;L=um0CxXV%nX~haWnxYXveE2zWz*6`$J)cgZD_Lk}O^dpsl} zR_J`I{r3A0KcAg6(_|p*^?AHLm)~Qz804c*AAb4ZUjKwh8_hANozD4pKXguZ3bBA| z1*Qu5pdt=aeFanX_y0{vtgx+i=lk>TE;_FpFqg~W3Ht!Gb;TN34I@@S9Yw5w`WCSQ zDp!DK1=L4~l}EimtbiIstU&P?u>$HDVg*zuVg*zYV(p=bbkt(tmzfM(Z?<-}Yiy1VE}0e2;I?~@o{3~io!zw>&nC!JI2MQb zo3GB!JKui0yIozeswYMUAN3Co3T9+;dOc3q79A#&$?hfV&BK4a|M91vE{;#P$N(W1 zPY6eaQl(O>Qem^RGO1835zFAbj9~>AM7!yn>@dcYd zLT(gFxlEEyrE>Mw-ogH1yIE;4RKlT=jE@hEy_^)!h-c+mt--9v4GR{F!=K)$9KU+= z?%kVr$NSAvA>wsdoi?k(sxxY}YHUV4`r_Hp(4LSf-du6|<#mCcQ>RqF%RIK0f?pVBpz{ z(P^1nV{!S{;}jWPkC1Dr>UQho^{dm<_TEmV99h;&r=~>WDVcOus#2-6x_OO4gF#of z>`A6dWwz03@3eOs)odn1rSo~FP)=u(QNNEc&%G3kjEoJB%*d4Ua|;H;ymiq`SarB_ zc_o{#wGVfXjt=(Wr-fW17LJBi$hbQk%@^6-)?Tw-WMINFTdEeyg>t@_$*lS8ddZAH z@KPk6kxXL>)dFrX>WvEujS6>oV|1=sZ|v^2UbXj{#cU$6o~F{Njl_C1E@Mcja;V2B-4|E@o~}Aw2rX(eE#*dL_C|xja8fY*wNN~5u-Y9SkIU`%c%q@zL?V&OV=RVY zEX(b?N9gf=ICRf;M~Jryz=*d7z}I=_0T_7aGi$+7y zU@#PmlT4+)(`Ynm)y*1P$kK7R5KGZ1no33dJ||9C=9NmZcvdni)9MX4u2HKMGL=T9 z)XsC5(0Xu}M|c2e-76T^bNfPMk}j5+VlkIal2ooxWNQrwzgpd{l(Td&;C9*VF4wZl zWp^wt;zszUR8pZpAP{15mEK@7o6Q!pYYD!49KJP=pP~!3I#XpgnR=yMDCDR#O_wX> zN{yw{R5TFw*lZ@#yhbypBNiz&&nIfu#aj4w?CG)i|2hD99 z_8q6=s1Y_$U&HQFD-bqN8?Uh8PJ|8Vq~7k8*p^<}U1|@i1Jp_Gt={xfdBz?p2hDQO-1zE&F4N{6xplfb zIwAu}kRv8el51h#$q}B91LZboEZ_Sr^FSOD!d-iY3i!@j(L-rdKP z`#(CuVm&~h1WrT^18#^xL)gDnu2x0s2nh=bQv23*^afB(6T{K}C}S^i-4OZ@_zXt%cj literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/old.ogg b/SamSharp Tests/goldens/words/old.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d04adb5bd3d0af9d4974599023b5495a373983b3 GIT binary patch literal 9377 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 NlHQZipZ@=^e*(mVl1u;q literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/on.ogg b/SamSharp Tests/goldens/words/on.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0364ed69e49b46c4702a0ac34699113f2c9278fb GIT binary patch literal 4944 zcmb`J-BTKA7RH^sy`KFCwsMz?$=qyhsy16&m1L7KQ^pt#pdlzUU~2rhdlrck0;v~CPjBd?ZbCa6?W)3#KCT^LcAW&Sq-SF~z&hwnpZ|AL> zH(USQ(xSVnz0vQW{_<^0OUpO#zMyS6{(RH&C%9rUQKk#r}8)#A0~R+ZeF^0;rs8e4tPanX|1w< zu($tub0#)IIjlqry--tHazZ+~k|@$}!j^0$i@FJAiY zhfa$$wf4*YzhCc`x0e?tdCD<}6J8HZ`JB!{3*M_Y^xV_-x&spkavvxWq#h^{BnOlT zvILX}QUjC-avdl?h4cX>f?NVh1bMYec>-AhN(AW!N(6}k<)@IfQmT+TwUjEPOD&}e z`A#jR3Rx?q3i+#AN(4EmmQsb})l#aELamg?kfd5l6;f79sY2FDi6A$S-vDVvegmWj z`3;cIk>3FMSL8Q9zD0hkkQU@OK$?-?0Qt+Q-8pkkAgy0DlxI7q=}?~SoTftwnf$DCnhqtj_h+5cbSNQ{pLI_2p>&=Mp|2Fmvz^m) zD9?6I)1mz0IBz7BUmWL+gc6=P=a2J7LJ5QN{Bhn$C}B{ZKh7HoB@D{*$9W@@@{8lV zkx+hdoHr86`p+13hO+)MMxCLAr+1xaj5h)`@^GyH@h1P z-x3UHtl_*jY-YCcztmA-}jFfl~JB$X|IFy2Bc^t!n&-QAKO~5UB7il&yFu_ z?d}~M9qzq){&18g2s37~yS%>P5IyX+n=sw&Yu9z=!B~2By|Q}fN+q;P&MtStKQh8Zk zD$PvD63dIJ!u-kQ013M7uqnXeR&oC)oSLe|FcV zQlx|EGh=<-S{NJ4h+K%GT;z~DJh8B`$;8uh z>+7paQwcFDieh4Xy12Rha&w`Okyyq)@W5!cv5XLB*}&j{vE#HoHB*#8T7wM{BE#Q>oE-Od1=P3-im*o~_SKjET{a@Ngg$8P83RNfFlP zwPM}6`(}nuW|ZP$K9h`wLFQ;`y0BO-mlx-!HmFMO4<@tPWd< zvNOfP{M(B3f^F+1hwIF9vGcFbtNtOOn81VP|}loQ8s zI|(aEmL-V|(j-OuIU$+NW|N{2^wWO0m(Jx2g?u_G!XCVsOy`TGVnLB5frkr_`vR=8 zvIzUrepX1Pv)QyP@|GqekXxpMjSv`0148B)o3sn36c(0*M17ejKJme zL)s;g3(|H1eoO^Lxw@Oc!`4+US*eob;IHAI1v#q}OQm97NsBovebZA^^I& zI1zE80z~AHit1KK1+bi|sEJTjs3LGxg(`wXDqwx80z_0rt13VQk5s54vZ@MIgs7^h zi9jkq1cy|Bi0a}*MIIzpy+BrE)qe;aIqFBfRIjZHX0}p!J0F?E%&j0`b literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/once.ogg b/SamSharp Tests/goldens/words/once.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aa7e1666f4953ff61f0f17d9ff637f632875a02e GIT binary patch literal 9121 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 UfI$7Ww;^r)3H1j9)$i^90Zk>vKmY&$ literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/only.ogg b/SamSharp Tests/goldens/words/only.ogg new file mode 100644 index 0000000000000000000000000000000000000000..fe785f2d18f0c669dcfccce307d17f142ebd0c2d GIT binary patch literal 10776 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 Hv-tl5S{7Bi literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/other.ogg b/SamSharp Tests/goldens/words/other.ogg new file mode 100644 index 0000000000000000000000000000000000000000..718c9dd03dc0be7037a39362a3aaab9e1ef80389 GIT binary patch literal 7683 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 Zl#THV-6>xFy^+DkV-~tysLf!D{{f#(6N&%; literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/over.ogg b/SamSharp Tests/goldens/words/over.ogg new file mode 100644 index 0000000000000000000000000000000000000000..51d30ff8957160551b007169bbb1001d03ef9787 GIT binary patch literal 10519 zcmeI2S#KLxnugtXb2q^Jg27x(-%SH)B#42yJ@#0RoOshlN!&?s-&x#?WN{JqeP4<@ zMTuHsNnSb*?CIEugBWcf`5XN&<}DUg5ucBk^^X@W ztXy9HABCRy_kX)^;ldyA^B>C>Ccl5U@Gp2rE+HiU_)pwixIm@ogU63wyn6NP-+zAo z_`yyyn{YTx8yiv)Um}%DG)k>jt5j+>RC1w2F5OU>9HCIQ*m>~y>Cb=v_0_8vKR!O# z$%P3yZ{gy_&p!L&Pk;XE${b&!_Xgs%TC?4wJ9WBKsh4rpE6q;5-|4lRwOl;zHS77j zxv#$b^B13ecJboeg4{&p=$#44t6zV9{`A4H1GFB;#-fE-HWqEl#-fQ>HWuwU%f_Oa zST+{zHpj-IHCZ+mZOF2*Xji6e6Ey0CjX`_NvQ5#T+b5MR2i-oYY(s8IKap&GZb?6p zY$~|h$9miAvXwv9+h$}Fagp%h-Zmo}%|*h8d)usRh|&)T((`32B1%6XNY9r|$|aEZ z3exjslbj}y_X*Os$cE(hZn^CpW&0D8+}t2dN{50MRpb6T$6P!c{wwmFp2vz7FtWow?T@~BoHE!&r8 zt30aJ$IHfcAY3K=XxYqc2XeNOo|c4}+%^-WGu}2M+e~wWYBf_5W^&t1kj{A9jBGQ_ z5vtWpNtnrPGeJ7*ZD(bhX^xn_ZKfp5=C(6II^%6KvduI{=#4&Fwwaz1)#{^Vo9QW0 zt^T=e$>Q#JkDfhy`SR5-KYjn;uvJf|gF%nOq|>W48l_RGHL6r{IbXECvar0ox+IY6 zOu*(Q6zr6Yl*NbNlNBu&`sZ$A-ZqCoo&E2@Z$m5IUDx<^UcH3Q~lk^Au!FW91 z9qt@{|K!J~&tClS!|`^rO4;&gp)A4EOxuqVKmC+Vm@#2){VKj`D-_qBswPQs^qiBKw(DP>w1rIL$f5Pc1zLvtNtRd4+8>51r15BiOSpHK+|H}BrOdu!p=I;?`| zMy=7PGwL;Zt=UG!QGyk_P|IYsTWt6qlaWOHRebZ# z%|)J2s4|#6(PCw=fA7hY=g*)2?a8D2yTf)V7V|qTHiOon(WrGg)x

Qz}|rTUq;^ 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/p.ogg b/SamSharp Tests/goldens/words/p.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f5df61f8df6084cf1fe742166c2ab02bc8a67ccd GIT binary patch literal 5187 zcmeH{TW=dh6vxvyo)Nqwz64Sbq7=2FLZwmDq?X#IO`4l)J6^B%KC}1P`+B{$*OxeT z(xgdKQX(z_9;iT6ph|oz&Sq1$7K#+beL>2syqW09v8!WKFeDjw@j(n**jb(8# z(%#e?E49;>MzYv(CvzSLrjDHHfb@Aidj3rT3WSQeQUf@+t z*Ca_2Metx$t0=R^bTIECu!L$y~Rx1?jjo3(5j5w}GA%dL% zq~|LJvD)pV5o-!Y5-cquMbpzUH6#ffZ#iC|>Lzj8Ni&XQB#DmW1~tvJ?4;RsmxFmx_ggD9H*9D!Z^-Q>V*oC6LSHMPO3HAb`bK z#xRNPD4JneEm#dB5teiPFd~)>kl<1zQLt>slT|$fO*!F9&T`_G8-`)06$ieU#yZ{g zFmO#Ra1DcqSZ%dhQ4Modsw7D=XoIoq7#dnxUR>dkPC!6`l_j28UMW$A;|Bp21sW1T zsR~#%lTOl5vB1GjgUI!wsNaoiM+-%9Yds8I%Wy11ud=S};iWT^f7-~LWD020r+to48 zc&-;{#0j@HI|+t5N_vCGQ5fjWdRVI=jaa*bb&gsqJ7L^vYaAwCzf*GL%+C}G<*Ep7 zMwYmR3IIDo(Sv88_pwm&7f@O*)6q_qR9T4(LCAx*z*EgfjQBVVgBaUs!ms zQX;-*mG0zb0nN_XGPI`|TZT5s*fKO~$d;j1GPcQ!S0!0uu7CMiZtkI8EH2EJ^Lb_- z>&|*yTdPRH55NBLQ|u`E^FLo59_;q&TRTr4?LGVDyNzajjW@$*J4rEjBWHqcg}XO% zxj8B~H#f6%XLfp$MqYhyGpuvi@4R^V;wR5EfBfyQe-8IINx%Q?_m2kMgN>#~%E)}u zZ`_`_HZ?5}hur<@^W2@K%KTjJ`n}od%ir88Iy#-dc5Qmz8w>_)e${VpA3zrQU_I>} z9KQPf=jS_i*n9c+%b4IQ*V}m3Y@(vdNOGyd^9sFq>C)GC4Y_jl;^Zfj_r`*n1FCll zB>~ktg%Uxkag`c@YQy=R;rK?B8i7jB?+nLxGL#2Nb-J87CDbk?)#-BTlu$d6=_e-o zS)g7(rk|MTXMxh7{NAp<@u8sn-mbo}p=Pr?VOV`9=hVpYjVkpv)XnTp7*^j%qL1X% u$nlLRH3D@%yQqfMHG!EDsg{ literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/people.ogg b/SamSharp Tests/goldens/words/people.ogg new file mode 100644 index 0000000000000000000000000000000000000000..104e266c907bcfdeb2de383a06a7dabba1479776 GIT binary patch literal 10795 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 Xrs8|)6C>*=AjHmRj1B*f9HSxZ>i49%vV>h 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 P;vlZeGRW) literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/prof..ogg b/SamSharp Tests/goldens/words/prof..ogg new file mode 100644 index 0000000000000000000000000000000000000000..195d493ad7fdc3a6b071d85f1836d04941c58f86 GIT binary patch literal 15567 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/r.ogg b/SamSharp Tests/goldens/words/r.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1f087ddb5c3b42c9b3635949ffc938c4630351c1 GIT binary patch literal 5878 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/school.ogg b/SamSharp Tests/goldens/words/school.ogg new file mode 100644 index 0000000000000000000000000000000000000000..137bf03efd05492693a33f2e05fba1709411edac GIT binary patch literal 11922 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 JITXp%{|C6Y^Bn*H literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/some.ogg b/SamSharp Tests/goldens/words/some.ogg new file mode 100644 index 0000000000000000000000000000000000000000..29dcb6c00def7dce2c73f03126be806adf0f0175 GIT binary patch literal 5857 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/than.ogg b/SamSharp Tests/goldens/words/than.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1c9deb414b8f7e9ea572a752d25dd21480f569fb GIT binary patch literal 5976 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 adj9h=R|^Kfvqi&Um(zoJKUF^_1^x|ZGRf8e literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/the.ogg b/SamSharp Tests/goldens/words/the.ogg new file mode 100644 index 0000000000000000000000000000000000000000..498068221b57977bf2b9c8ce13a523815b9b2063 GIT binary patch literal 2944 zcmbuBU2~#H6oxZ*TeWxl3%2&3?8Q#iUZrX(<;*0;LHr03Kt+Oxiue%%hy(!rWnxrwhgtL4I;&GhMPc4?T?>GXWi zKWj0y8cEbnYcx|oC5cL@_^EJwjF+oSz1ePy9YGX?w%C`(ieWCi^*UIEzUMC%i{&b~ z+HB*^CR#2WLq9(sj>hBRcr+e}op!TMpHzy)a;1cAF>Jeq4mB8T(L~bHQF4_c+bMI3 z9Hq=D@*{JK+)kMvkyGXrnMj#4Pct{aQfBbPFmp3Fqnfz+2`>Xo5EE)NdW8Rm z%*f1;fms4hAp^4ne2vUtW)CtjOTZaqV3vUYlsN%|4)Gyy=#o!@4P(>*S<8wBB%qTO z4M29YqVaN>!OWekXg~r6Sh|y-eos z);S9bT~_B_DDxw4iiXIsq)YxjjlM54sQj8b_dS`T|EhC9mdK1?6K3E|$dhX{^Aed~ z`8xS`nf38dlDhqYBo7CJ4%cK(%EiOO!va>SQO#DXbyjC-`jlz4#NlKLuccrez^l!2 z=5xneh4JP(zFPZ^r41xezR>5MxAd0o+_q+OX9?eb-o@}XT-Z|x)9v>lj5HW@g(g!j zeu6MZSgA_UtyYt5vUTc|VOnDU!nlMmt6=G)Fpj$lH))u_(iBM&yB(p^7yI4rS(7{| z<43T{aj9AZ*!CHB)@n3amX~BjvmmpgtMzK(B3Q=@*WpzZt!!%~ciJq&FjT$SXtwG! zRjZaB*&*n{ap&{7w+zC~brc0F2#Rh$rKvj8gdlKx2`d~G3WW+mx5c5N&&;Wz=_(W& z3s`SH?{?SMkvmVeEcLolzt`=yS(?O-ffcrVLb7LV5Th@3;ah2}PTh61x!&z=;?2sl zX4+KOjHx-DDax?T)0Gm$Ix4^x>3R!@nL0%?4BL?v3;yBAz=0d~iNK?H8%4flDiTYP zcp0yfOoL_F218ci3a>JJPgX5AiniO(hnzM|%XWP~2m{wrCq0fWM2NdV{ItVoi8UBIzgZWzY#Esz7a zZa_0l*nvKgSh9-c4|5+5^90opq|szDN*e(9+uPm!!|pb8t&t?a$&)0*G&rOQL6k8Z z!wHI$6w{AjZL~cXwg;KiJyCH(*O#wfzicB{8Sr&*QyG?`;btZoD)A literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/their.ogg b/SamSharp Tests/goldens/words/their.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6de60c6853d36e344eb4885805ffedb5e1cd4c74 GIT binary patch literal 5976 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 C_ywK- literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/they.ogg b/SamSharp Tests/goldens/words/they.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5afefb9438478f542d4ab80572393458563789c3 GIT binary patch literal 6443 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/this.ogg b/SamSharp Tests/goldens/words/this.ogg new file mode 100644 index 0000000000000000000000000000000000000000..111a2e13f66b73bfd8d7fff8d96dfa5d5a3fd193 GIT binary patch literal 5954 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/through.ogg b/SamSharp Tests/goldens/words/through.ogg new file mode 100644 index 0000000000000000000000000000000000000000..43f042fd183b1bfadeed19d16586de75299028c9 GIT binary patch literal 9284 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/tomorrow.ogg b/SamSharp Tests/goldens/words/tomorrow.ogg new file mode 100644 index 0000000000000000000000000000000000000000..3d224cd272c1b12599de57acfc438b83138b0e5a GIT binary patch literal 16151 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/university.ogg b/SamSharp Tests/goldens/words/university.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8c39c551ac8e8c4c3d10f0e27e0e8f909c868830 GIT binary patch literal 21462 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 Y59tp~<%jg~6>W3n2mD=A`2qib1N8gE8~^|S literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/upon.ogg b/SamSharp Tests/goldens/words/upon.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5648959b45ad0fd6178a8b42961b43de61a27117 GIT binary patch literal 9153 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/valve.ogg b/SamSharp Tests/goldens/words/valve.ogg new file mode 100644 index 0000000000000000000000000000000000000000..3e427973a5b0cea1449dd56ba62906e13fe9ead1 GIT binary patch literal 8592 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 VuiOmF!3Ff4{}BF1!+*UG{~zvN8@d1h literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/w.ogg b/SamSharp Tests/goldens/words/w.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ac65a33b170993337d5fba87201c72243e1b43e2 GIT binary patch literal 16608 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/want.ogg b/SamSharp Tests/goldens/words/want.ogg new file mode 100644 index 0000000000000000000000000000000000000000..332f9923d516c51fb13a6b822576b5719e87800b GIT binary patch literal 9619 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 b`rwD*3OcRZM4j60Qf_GO=hx%^p#uK{1APYF literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/war.ogg b/SamSharp Tests/goldens/words/war.ogg new file mode 100644 index 0000000000000000000000000000000000000000..441a80c2f6fadbc1f8367291c9b8b2c79f41e57c GIT binary patch literal 7044 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 UJtiJ$JD$P_`j-E{JObAKH~jbirvLx| literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/wear.ogg b/SamSharp Tests/goldens/words/wear.ogg new file mode 100644 index 0000000000000000000000000000000000000000..76625673861ef88bdea699fed2d2c8b4a0ac64a3 GIT binary patch literal 6111 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 WanprG{_p6$|L^G4Hu8V!=>0EDGZnf3 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/were.ogg b/SamSharp Tests/goldens/words/were.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f720664e1cedfaa3e2e7064cc4969722d18c6779 GIT binary patch literal 4478 zcmeIzTT|i)8U|qJZf|#f!PfqaxtOWhEvH=%EGi<3oFRzFArLtkOpr8Zh@1ps4Ck{b ztxXrZR?lynF9btx&)Ch()m}_2tI&e*Y)A?eN z;A=KL!2;AN&ix5Wm2Ov-9yU#ot_{@8IKqNk91#KhK}XzXV?|#4n@|HvkdSpT|Gv z3-K?(pSMRyKP&cg`M<{hwEX-@K1p9JKk!3~@_&WDC_kj%7RwLmcf|5T_y1>hzsNrjXBX0!FJ?C! z4!t_Ne0g5wzcRa!zVX%B{UU!+{@<~BzQq3{tLKaSPiD6@Tb)a+p5-^^lB;L=&AH_2 zfz7k@=3Hv^z~XPg;vYZq-GQ~w7II1Q0(aPKX1!6XH|k6}gV{J=`9_mLqtvL>YPc@5 z1@#5OX}Zib8vTBMG#Wx-;K9Vs7GoX;a@Kv8gY>)IVYl6ZwaMGdUu zGm!}4!CWWDM%CW#_V(tc6gsasJTk!-xZOSv9z6F4{dfQ;h|9|uoz36eR_oA~$MP=XS(E#?r-7wc70tdc$75Rb`nHytz~;Rc^T3+HDp7 zq@z^OX)~zhatS9VM>@n}M^O~>VlJoK4lgk*fK#c=4c8luC)4S4@-)7$a}_$3 zq9`Ingf7V7Wr!d`IF6wfvu1y1Yhz<=Z9}@dr!bjaI6E6!Xkh+$VUl2GEKvApeP`0tQy1Kq4Ju=&HDhhX$DP8Ata6eMn5>xB+A4X5(aj#lQ zl3vuJ)v6V0y~YGU$EgK5)*l_n6-uoE3tVOjY;`z>t$WwJWeQ|6(`XMzqfx6~V@ic= zwva2Axdx;Gg^HZ}bZYtf`uf&}M5ZzzPztZ#?R1=;+O4RcpvpJ(@e`P*lZQT6grsrM zlEH8YDnejZlV*Qgvbwq|l^<9=L@1G<;b|95P>~d!1M$OT`r*SHnRIJis?fQ7WU5fAHF^z>D+4ZDC^7Xe%xs%XW*Htn7;tbEJiB;UDW}?|C?xyz)9vEh@DeCa_TNPe$+F_3M>NG5(gsNxSQeB&k%4^f?X6@4x%* z&A*jYtOy&Rnz$q|>@0oF3?Bdc^T)fpn|#zwxK9w1&89Rs+%7wD?mX6Nk5ronCR-#k zo=*QWdDqW|g8pEzSa03k4IhSYgQ!CGMkd?Um>v2Pw^tN*c=C&Q2xL+0;K?syACN_H z9mubWZ-Fd|8$e!&dGd?c4P;UL9>}kXl|UB7t$D~Zab5^n5dU)?@=UA~LjG-W0YVlt zHV7dL;(5q|n3#t=6VF5bZSgIHEM}|_LKeiiMJ@b(Qmh4tHx{+{wRj}dLdZBM)Itz{ zFV+IYxL6Aiw-&YdwKyQuLdbYt3qfoYYXRa#Ej};u=VDAOGGyEmiwt6iSY#0Izgpza k#b&X{kg-%OGKk}1kwKh(waA}~{~WzPM^9W9|F@&}3xR&%NB{r; literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/what.ogg b/SamSharp Tests/goldens/words/what.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e7132272e30173902b1aedc9e106b18bb61b46f4 GIT binary patch literal 5187 zcmeH~SyLm)5y#m#KRfJqhrfm+CSoG+V$UpC!+^L!NFX7E?v~W*`&QpNTWTHX76KLq z=Gckww{y0n5!jBIk^Q)_1$6XLmG#SiWo8xYfB*5vzx-ioY3rr?ul_Ldr{6CvE&TvL ze|9fT{(e~c9lSX?Mvngoy`V9iQnnhc;qc~WeE;*!`1)$tZMPc@+b);ORcgyYThu6vSqc} z-Tu|}?cKY_$NPr|n5WyWRt!yHP&671c)i}kL(jp{-odfYbK>`(LG$~AFv+RUf8up+ z!-)h&@S<6;8?C|M9*lhY^x^T{ySv-#IljX`$8Q1u93MO=&hZ`o#qi|`{|tW!{B!(1 z@Xzrl{0rgh!2g5~{7?8(`KS0`-I0GG{GXoGk2>;yQD6Hazk@%Me*t{&RQ{>@umJwK z`ZM`w_*3~8z@J6WRDFILJu~&E(K8Jm-z<8*k3Wl^srvC*^i0%0nnw@d&!T4md~F{5 zp#Eqc{Eqtb;CJxn!T&w{=fUq7d8Yn6_yM1N3jXilKLtOiKbi+WsDCvNeu({l%iV9{ z@62--)OSDSF3+=H&0QyWzKZ{q+y(VdzM8w=#D5C@|Dp7J3;+KqJ>SHCmb=4A>0F@n zEM7SmEIo@?&IL;kRGx(^=R&0i3jczYbJ5ZRg@3WixnSvm%ClhQT%`1bg27Pm^vr*L z77T_HD9TE*TB%<4ZhpT11Z}cs^*Wd3qRQlyVtKOdLgtPkmxui>Xb*{-FPa72)D%sY zB%Y$uNI2v>K04S~cR3|%ayw@O-$N~gmC*yj!pA=9DEGBWh+bjJ7hkN1x^SHo7LR?6q|dQMR!P0ZzT0?QHz z5)7PdZLYgkU;hmb3EO+VSOVh&z0zv+NBz;&pxx@U8kS|1N|j2rY+JTfsTFmJMiS@V z-R(^n25oh7+Z#AfAOx-J#Y)Yx>~ghItCV0|tGwwM!aI150hkFk004y)B?H-(GIni$RudnZJZf?iJ zUK?b#>`JZHsMjqUb_OC5^?Tf|<(DsBym-0l+VupZSw2}a{Bn7D`OWS@IL+m!$agpQ!*Q<( z44_%9QUl}?Ak%cp?{lwCkyl>1Ji#=lna$3qGw62PPItTAY!AELL8sF+H7*)FSbgRA z_hNbVt<5@i8r10U6+r6=U z*z_wV1`-2h;YX9x@>fqD*YO{oF8Y{98l6|r>m%QIZ!3dZ<9uA)RJRVOV6vJsrGxLV2Dgws~ zl3cXvmo?k2Rq~3&QqH_WPE*w!M`sezi;Ig;97*9MiKCfBJQBXR2qRgN7iAeL70b{R z#frf17=Y-6S1f!}bR!StS0FKvJqqJdf~0XQ6OV*~XJ;WslucMPNIn4$wD3@@IQ5`Z z&;^bnNQx6BS(ZeG#uCx+c_jsdSbE53mf9h(%)w1SKejWf=;`vM5S0oFprnuF9YXD3Vikvsf$` zn#?`i7JRA2`mFbN#IDakT(=bgwC)5sJdau6337P4#*6wF3gh6 zBxA97G7T!gdw7b+l1Lh-7#PAa6ucv7PSkYMG&D^T1h5MX1%QB{f_Ydt)aMj6C-M}I zrc#-776wpYHx-XX9e=VoNs(YUjU-cPjAW#oEb=T#z~;pA;2QYGF<^%iV4IQ^Szu|3 zBq_Lu|1LpB-f>2h4HFhkf(IbuWe^y=qzDYd2^a}Wg`;T%aVDUl3zkVG6O-@)A4x2m zNx?GX6fcTk9kj+^Zh%&0$?*|s>Fl$B;Bqkx{6cf?rk7_|7c}Sl^KZ`Mtn=jK zm;1@^X~$<>W~QB<&bR-ZY-WG*abj)O<;x7tVXLL+YZBJ*Kbe~-u52p4e Ly?(p=niTjKD$Xol literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/where.ogg b/SamSharp Tests/goldens/words/where.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1869ed489fd2875905717d22e6df0d628fee4bdc GIT binary patch literal 6344 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/women.ogg b/SamSharp Tests/goldens/words/women.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6c51a621c78b7abb6aa47f83ad4468b83d868c22 GIT binary patch literal 10310 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 Ppk7_uIle=EQ=tAA$$5>n literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/x.ogg b/SamSharp Tests/goldens/words/x.ogg new file mode 100644 index 0000000000000000000000000000000000000000..faf0999810b78bfe836ae00bd408ed9ab73dc354 GIT binary patch literal 6111 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 F{|lZKapeF2 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/yes.ogg b/SamSharp Tests/goldens/words/yes.ogg new file mode 100644 index 0000000000000000000000000000000000000000..df91185759a52801f41f83353499501a8d6cd3b3 GIT binary patch literal 5622 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/you.ogg b/SamSharp Tests/goldens/words/you.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1b6d39bcab9e7a111e35d371cbd36ee3288d31cd GIT binary patch literal 5411 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 Kb=#D1L;VlxNx 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 literal 0 HcmV?d00001 diff --git a/SamSharp Tests/goldens/words/z.ogg b/SamSharp Tests/goldens/words/z.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ad49dfc38dfcc611c118c5a4888ed48ba78b9e68 GIT binary patch literal 4417 zcmc)MYj5J{6$kL_yS{Dv1*(3DRrgKXm1dM}XS$PQCSj96029CvuEu~dzCg^)T+P)N zi~(;lfy^j7Gpp5VM}0ABRjJ>q2b-9(O?H``kqXKaW03jj{Lgdn?iUXq{^8eKTL*vM zf8Y%ze)pTLt*uYs`TPAXLVlmy*zF-JTk|aeE z1eqZy`n*(c_6GxL&>QqR?OuPNsM=K5rxQ);b(~J;csyRL@Mo^@5}wBE#R_kaO=5d# zyd_S-Xb~kaT15Eb?1~6RiwIgUFNqn`Xc1*FTEqz$4Px7{EGY})f@Unv#nJK*i2SOI z?QY*Hqe<+UWi*MDSw@o>Fw1BX1IscRMBFMP5DQirO`>F$(If%_EU*}>fr2AA0mQ{Q z^S#ZI24c}l8i+|NX&|Djq}@Jrv!sCt$uAKG>Q-gYZheanI4xph(TzW!^ybY-LQ`y* z^w=mDXiVS2wL~rs?`TG7mBohnxuh3CZ`O>0xnb@~`j#?YL#-+~hR07f<7!X;WYQ4y zhRrBgd)i7G3{a`nvN&8kjg!W|Rni}2>}=eO=GZZOCdfeE(iY|g&pi3Q&A8#%fvK}e zGlBvn|Fsy$w>)?csQ;5ROr2FTHkyJwREC3&P$|_491Gt{bGba7#R7f=MFajbAL{pq zgMP35=z}jkwsDHbb6!7Xw+>~&nsoFP-56zzL;av zk&w^pMMBYV@a)VRM7*&~lMq?Nj4h8&ya4Z(Xl60Qu>(zShJYTCf2T~VE@>EkL z0k|XmVyei}k7WjOwEz;hD`J_==lkmPYNjb-M+ITC-4|!GOHJVmEK_X=J-(D@cq)ne zJl;T^Tvy-x~`Ay$1(22bN}XX*?EAFMa{DY^kaa0ZrdlU6mykbISIa>aA1#1TmZ@gRO8OQ(Gv`#xOU<8z;S{aEx2wH**Nl(XM$ z2~3_VN#l!|G7>v2QIwTdPm*UdeaLeRQ*U*9VztC%3t1fZqM$rPREEkWiDWK=$55NicI3q4ap%#&(;d4V@jD2*P^oJ?FBDbm!o|k= zXrfTnxaTLg5k-0I&o&RJ+s*(@p#;I_-xmH;ygV4X{Vtgbp1L9! z<_(5I$#B5)c>9qpmLl-uWR@$}G^yRlWQ(=yH*a3SeNJgOnt!9|6Gel23a(h|&*vkN zip9bezSU(2%#B4t4*Mw@qLcB!_V!=U7)}sw$CDkm#~(*S@hHm>i4#{O(^VA(HXYvT z%6(ZDpHGIvO1&d#-+%X7sOC9Uzqr1Un-zvHl+rYtW7-WmeSCcErrA7;*blz6pP+}% z_Yp>`wRWGvBUmJYd*LQ0m_GA9e)PnaB2t)b_tCZ|kj#cq1doLxu@FXdyNyyfhNW_& z`CQ;RR#J5hZhDmY*TYg((%!tfz9_OZEsn;Qd@)g=s4R;SWP-sXJ9}T9q@g_zcel4s zl38dPb)S7!@YT6qjehaf(wfFUJLzW~JH9NP~+`wW;#;{Nno? zm4N(&@4lH+Uc_4!WRbv5Q3Q$Fon9yA{%Y^jhr35qDjX*(wdTdB)=cvKx9{G*<}2st zuYUN)%jY9bmS;D^sXCaqD_n#;*JXh{diHoP&6PO&_8)Eg$EPuu!*;U2_uy{_&a+Z3 zjy~RVRa8|?HC zllFJZX40N7Z3eAm+DzJKrp=_?U$!yS?W2}$2zA@AY*x*nWKitaR-A1!&pT=caqd8# zR-B7GtvK6|rxj-(^0eYSH}kxsW>7K*b&R&`PbL)>WgA literal 0 HcmV?d00001 diff --git a/SamSharp.sln b/SamSharp.sln index 633b63ef..52afd3ba 100644 --- a/SamSharp.sln +++ b/SamSharp.sln @@ -7,6 +7,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SamSharp", "SamSharp\SamSha EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SamSharpCli", "SamSharpCli\SamSharpCli.csproj", "{47982F03-B33A-4492-B607-1E3C199C9AA6}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SamSharp Tests", "SamSharp Tests\SamSharp Tests.csproj", "{5B17B8F3-7483-489B-AFA2-516F43428CD7}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -21,6 +23,10 @@ Global {47982F03-B33A-4492-B607-1E3C199C9AA6}.Debug|Any CPU.Build.0 = Debug|Any CPU {47982F03-B33A-4492-B607-1E3C199C9AA6}.Release|Any CPU.ActiveCfg = Release|Any CPU {47982F03-B33A-4492-B607-1E3C199C9AA6}.Release|Any CPU.Build.0 = Release|Any CPU + {5B17B8F3-7483-489B-AFA2-516F43428CD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5B17B8F3-7483-489B-AFA2-516F43428CD7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5B17B8F3-7483-489B-AFA2-516F43428CD7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5B17B8F3-7483-489B-AFA2-516F43428CD7}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 17e93f5770761cec90934ad7bdcf2ecf999b130c Mon Sep 17 00:00:00 2001 From: MeltyPlayer Date: Sun, 8 Oct 2023 16:44:14 -0500 Subject: [PATCH 09/14] Added a basic GitHub action for code coverage. --- .github/workflows/dotnet.yml | 42 ++++++++++++++++++++++++++++++++++++ README.md | 4 ++++ 2 files changed, 46 insertions(+) create mode 100644 .github/workflows/dotnet.yml diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml new file mode 100644 index 00000000..1a593ccf --- /dev/null +++ b/.github/workflows/dotnet.yml @@ -0,0 +1,42 @@ +name: .NET + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + + runs-on: windows-latest + + steps: + - uses: actions/checkout@v3 + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 8.0.x + include-prerelease: true + - name: Restore dependencies + run: dotnet restore + + - name: Build + run: dotnet build --no-restore + - name: Test + run: dotnet test --no-build --verbosity normal /p:CollectCoverage=true /p:CoverletOutput=TestResults/ /p:CoverletOutputFormat=lcov + + - name: Set Up NPM + uses: actions/setup-node@v2 + with: + node-version: '14' + - name: Install 'lcov-result-merger' + run: npm i -g lcov-result-merger + - name: Merge Test Coverage + run: lcov-result-merger "**/coverage.info" "lcov.info" + + - name: Upload to Coveralls + uses: coverallsapp/github-action@master + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + path-to-lcov: lcov.info \ No newline at end of file diff --git a/README.md b/README.md index abd40139..81fd2fa3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # SAM Software Automatic Mouth +![GitHub](https://img.shields.io/github/license/Monczak/SamSharp) +![Unit tests](https://github.com/MeltyPlayer/SamSharp/actions/workflows/dotnet.yml/badge.svg) +[![Coverage Status](https://coveralls.io/repos/github/MeltyPlayer/SamSharp/badge.svg?service=github)](https://coveralls.io/github/MeltyPlayer/SamSharp) + ## What is SAM? This is a C# port of the Text-To-Speech (TTS) software From 50773a86559ea6e9cac84f2739c8842c4be9cdd6 Mon Sep 17 00:00:00 2001 From: MeltyPlayer Date: Sun, 8 Oct 2023 16:46:14 -0500 Subject: [PATCH 10/14] Removed the license since it turns out there isn't one, whoops. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 81fd2fa3..8d2c4b77 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ # SAM Software Automatic Mouth -![GitHub](https://img.shields.io/github/license/Monczak/SamSharp) ![Unit tests](https://github.com/MeltyPlayer/SamSharp/actions/workflows/dotnet.yml/badge.svg) [![Coverage Status](https://coveralls.io/repos/github/MeltyPlayer/SamSharp/badge.svg?service=github)](https://coveralls.io/github/MeltyPlayer/SamSharp) From 67bfec144770246df728aca8cf30f60df6b9fa24 Mon Sep 17 00:00:00 2001 From: MeltyPlayer Date: Sun, 8 Oct 2023 16:57:58 -0500 Subject: [PATCH 11/14] Fixed the badges one last time. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8d2c4b77..cff5d063 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # SAM Software Automatic Mouth -![Unit tests](https://github.com/MeltyPlayer/SamSharp/actions/workflows/dotnet.yml/badge.svg) -[![Coverage Status](https://coveralls.io/repos/github/MeltyPlayer/SamSharp/badge.svg?service=github)](https://coveralls.io/github/MeltyPlayer/SamSharp) +![Unit tests](https://github.com/Monczak/SamSharp/actions/workflows/dotnet.yml/badge.svg) +[![Coverage Status](https://coveralls.io/repos/github/Monczak/SamSharp/badge.svg?service=github)](https://coveralls.io/github/Monczak/SamSharp) ## What is SAM? From b0956c9de99ce1dada2817f40755d8fe1de2aa01 Mon Sep 17 00:00:00 2001 From: Monczak <37554206+Monczak@users.noreply.github.com> Date: Sun, 19 Nov 2023 15:32:38 +0100 Subject: [PATCH 12/14] Adjust code to be in line with new editorconfig, revert tests to .NET 6 --- SamSharp Tests/GoldenWordsTests.cs | 14 +++---- SamSharp Tests/SamSharp Tests.csproj | 2 +- SamSharp/Parser/Parser.AdjustLengths.cs | 6 ++- SamSharp/Parser/Parser.Flags.cs | 6 +-- SamSharp/Parser/Parser.Parser1.cs | 9 +++- SamSharp/Parser/Parser.Parser2.cs | 8 ++-- ...r.ProlongPlosiveStopConsonantsCode41240.cs | 6 ++- SamSharp/Parser/Parser.SetPhonemeLength.cs | 5 +++ SamSharp/Parser/Parser.cs | 17 ++++++-- SamSharp/Reciter/Reciter.cs | 42 ++++++++++++++++++- SamSharp/Renderer/OutputBuffer.cs | 7 ++++ SamSharp/Renderer/Renderer.CreateFrames.cs | 12 +++++- .../Renderer/Renderer.CreateTransitions.cs | 10 +++++ SamSharp/Renderer/Renderer.ProcessFrames.cs | 10 ++++- SamSharp/Renderer/Renderer.Tables.cs | 2 +- SamSharp/Sam.cs | 10 +---- SamSharpCli/Program.cs | 4 +- global.json | 7 ++++ 18 files changed, 141 insertions(+), 36 deletions(-) create mode 100644 global.json diff --git a/SamSharp Tests/GoldenWordsTests.cs b/SamSharp Tests/GoldenWordsTests.cs index 2665c54a..367af59d 100644 --- a/SamSharp Tests/GoldenWordsTests.cs +++ b/SamSharp Tests/GoldenWordsTests.cs @@ -11,8 +11,8 @@ public class GoldenWordsTests { private readonly Sam sam = new(); - private readonly static DirectoryInfo goldensDirectory; - private readonly static DirectoryInfo goldenWordsDirectory; + private static readonly DirectoryInfo GoldensDirectory; + private static readonly DirectoryInfo GoldenWordsDirectory; static GoldenWordsTests() { @@ -32,14 +32,14 @@ static GoldenWordsTests() Assert.IsNotNull(currentDir); var gloTestsDir = currentDir; - goldensDirectory = gloTestsDir.GetDirectories("goldens").Single(); - goldenWordsDirectory = - goldensDirectory.GetDirectories("words").Single(); + GoldensDirectory = gloTestsDir.GetDirectories("goldens").Single(); + GoldenWordsDirectory = + GoldensDirectory.GetDirectories("words").Single(); } private static IEnumerable GetGoldenWords() => File.ReadAllLines( - goldensDirectory.GetFiles("words/list.txt").Single().FullName) + GoldensDirectory.GetFiles("words/list.txt").Single().FullName) .Select(line => line.Trim()) .Where(line => line.Length > 0); @@ -53,7 +53,7 @@ public async Task TestGoldens(string word) new WaveFormat(22050, 8, 1)); var outputPath = - Path.Join(goldenWordsDirectory.FullName, $"{word}.ogg"); + Path.Join(GoldenWordsDirectory.FullName, $"{word}.ogg"); if (!File.Exists(outputPath)) { WaveFileWriter.CreateWaveFile(outputPath, provider); diff --git a/SamSharp Tests/SamSharp Tests.csproj b/SamSharp Tests/SamSharp Tests.csproj index 65499869..c1a0b47f 100644 --- a/SamSharp Tests/SamSharp Tests.csproj +++ b/SamSharp Tests/SamSharp Tests.csproj @@ -1,7 +1,7 @@ - net7.0 + net6.0 SamSharp_Tests enable enable diff --git a/SamSharp/Parser/Parser.AdjustLengths.cs b/SamSharp/Parser/Parser.AdjustLengths.cs index 201e8f8c..7cf38d1c 100644 --- a/SamSharp/Parser/Parser.AdjustLengths.cs +++ b/SamSharp/Parser/Parser.AdjustLengths.cs @@ -38,14 +38,18 @@ private void AdjustLengths(GetPhonemeDelegate getPhoneme, SetLengthDelegate setL { // Not punctuation? if (!PhonemeHasFlag(getPhoneme(position), PhonemeFlags.Punctuation)) + { continue; + } int loopIndex = position; while (--position > 1 && !PhonemeHasFlag(getPhoneme(position), PhonemeFlags.Vowel)) { } // Back up while not a vowel // If beginning of phonemes, exit loop if (position == 0) + { break; - + } + // Now handle everything between position and loopIndex int vowel = position; for (; position < loopIndex; position++) diff --git a/SamSharp/Parser/Parser.Flags.cs b/SamSharp/Parser/Parser.Flags.cs index 6a6096f0..88361af8 100644 --- a/SamSharp/Parser/Parser.Flags.cs +++ b/SamSharp/Parser/Parser.Flags.cs @@ -25,8 +25,8 @@ private enum PhonemeFlags UnvoicedStopConsonant = 0x0001 } - private const int pR = 23; - private const int pD = 57; - private const int pT = 69; + private const int Pr = 23; + private const int Pd = 57; + private const int Pt = 69; } } \ No newline at end of file diff --git a/SamSharp/Parser/Parser.Parser1.cs b/SamSharp/Parser/Parser.Parser1.cs index 7711646d..3bcb01ce 100644 --- a/SamSharp/Parser/Parser.Parser1.cs +++ b/SamSharp/Parser/Parser.Parser1.cs @@ -119,9 +119,16 @@ private void Parser1(string input, Action addPhoneme, Action addStress // Should be a stress character. Search through the stress table backwards int i = stressTable.Length - 1; - while (char1 != stressTable[i] && i > 0) i--; + while (char1 != stressTable[i] && i > 0) + { + i--; + } + if (i == 0) + { throw new Exception($"Could not parse char {char1}"); + } + addStress(i); } } diff --git a/SamSharp/Parser/Parser.Parser2.cs b/SamSharp/Parser/Parser.Parser2.cs index 46c3d9ee..1369f968 100644 --- a/SamSharp/Parser/Parser.Parser2.cs +++ b/SamSharp/Parser/Parser.Parser2.cs @@ -90,7 +90,9 @@ void ChangeAx(int position, int suffix) { // Is phoneme pause? if (phoneme == 0) + { continue; + } if (PhonemeHasFlag(phoneme, PhonemeFlags.Diphthong)) { @@ -151,19 +153,19 @@ void ChangeAx(int position, int suffix) } var priorPhoneme = (pos == 0) ? null : getPhoneme(pos - 1); - if (phoneme == pR) + if (phoneme == Pr) { // Rules for phonemes before R switch (priorPhoneme) { - case pT: + case Pt: { // Example: TRACK Debug.WriteLine($"{pos} RULE: T* R* -> CH R*"); setPhoneme(pos - 1, 42); break; } - case pD: + case Pd: { // Example: DRY Debug.WriteLine($"{pos} RULE: D* R* -> J* R*"); diff --git a/SamSharp/Parser/Parser.ProlongPlosiveStopConsonantsCode41240.cs b/SamSharp/Parser/Parser.ProlongPlosiveStopConsonantsCode41240.cs index 06436d07..f597f88d 100644 --- a/SamSharp/Parser/Parser.ProlongPlosiveStopConsonantsCode41240.cs +++ b/SamSharp/Parser/Parser.ProlongPlosiveStopConsonantsCode41240.cs @@ -19,8 +19,10 @@ private void ProlongPlosiveStopConsonantsCode41240(GetPhonemeDelegate getPhoneme { // Not a stop consonant, move to the next one if (!PhonemeHasFlag(phoneme, PhonemeFlags.StopConsonant)) + { continue; - + } + // If plosive, move to the next non-empty phoneme and validate the flags if (PhonemeHasFlag(phoneme, PhonemeFlags.UnvoicedStopConsonant)) { @@ -35,7 +37,9 @@ private void ProlongPlosiveStopConsonantsCode41240(GetPhonemeDelegate getPhoneme // If not END and either flag 0x0008 or "/H" or "/X" if (nextNonEmpty != null && (PhonemeHasFlag(nextNonEmpty, PhonemeFlags._0x0008) || nextNonEmpty == 36 || nextNonEmpty == 37)) + { continue; + } } insertPhoneme(pos + 1, phoneme.Value + 1, getStress(pos), diff --git a/SamSharp/Parser/Parser.SetPhonemeLength.cs b/SamSharp/Parser/Parser.SetPhonemeLength.cs index 39869b5c..067a4646 100644 --- a/SamSharp/Parser/Parser.SetPhonemeLength.cs +++ b/SamSharp/Parser/Parser.SetPhonemeLength.cs @@ -18,9 +18,14 @@ private void SetPhonemeLength(GetPhonemeDelegate getPhoneme, GetStressDelegate g { var stress = getStress(position); if (stress == 0 || stress > 0x7F) + { setLength(position, combinedPhonemeLengthTable[phoneme.Value] & 0xFF); + } else + { setLength(position, combinedPhonemeLengthTable[phoneme.Value] >> 8); + } + position++; } } diff --git a/SamSharp/Parser/Parser.cs b/SamSharp/Parser/Parser.cs index 846eb026..5f0663d9 100644 --- a/SamSharp/Parser/Parser.cs +++ b/SamSharp/Parser/Parser.cs @@ -17,11 +17,15 @@ public partial class Parser private int? GetPhoneme(int pos) { if (pos == phonemeIndexes.Count) + { return null; - + } + if (pos < 0 || pos > phonemeIndexes.Count) + { throw new Exception($"Out of bounds: {pos}"); - + } + return pos == phonemeIndexes.Count ? null : phonemeIndexes[pos]; } @@ -108,8 +112,10 @@ public PhonemeData(int? phoneme, int? length, int? stress) public PhonemeData[] Parse(string? input) { if (input is null) + { return null; - + } + stresses = new Dictionary(); phonemeLengths = new Dictionary(); phonemeIndexes = new Dictionary(); @@ -125,7 +131,10 @@ public PhonemeData[] Parse(string? input) value => { if ((value & 128) != 0) + { throw new Exception("Got the flag 0x80, see CopyStress() and SetPhonemeLengths() comments!"); + } + stresses[pos - 1] = value; // Set stress for prior phoneme }); @@ -143,7 +152,9 @@ public PhonemeData[] Parse(string? input) for (int i = 0; i < phonemeIndexes.Count; i++) { if (phonemeIndexes[i] != null && phonemeIndexes[i] != 0) + { result.Add(new PhonemeData(phonemeIndexes[i], phonemeLengths[i], stresses[i])); + } } return result.ToArray(); diff --git a/SamSharp/Reciter/Reciter.cs b/SamSharp/Reciter/Reciter.cs index ba8b8efe..b374ff02 100644 --- a/SamSharp/Reciter/Reciter.cs +++ b/SamSharp/Reciter/Reciter.cs @@ -26,7 +26,10 @@ public Reciter() { (RuleMatcher matcher, char c) = GenerateReciterRule(rule); if (!rules.ContainsKey(c)) + { rules[c] = new List(); + } + rules[c].Add(matcher); } @@ -108,17 +111,23 @@ bool CheckPrefix(string text, int pos) '@' => () => { if (FlagsAt(text, --pos, CharFlags.Voiced)) + { return true; + } var inputChar = CharAt(text, pos); // 'H' if (inputChar != 'H') + { return false; + } // FIXME: This is always true apparently // Check for 'T', 'C', 'S' if (!IsOneOf(inputChar, 'T', 'C', 'S')) + { return false; + } throw new Exception("TCS didn't match, always false but happened?"); }, @@ -132,7 +141,10 @@ bool CheckPrefix(string text, int pos) while (pos >= 0) { if (!FlagsAt(text, pos - 1, CharFlags.Consonant)) + { break; + } + pos--; } @@ -147,7 +159,9 @@ bool CheckPrefix(string text, int pos) // Rule char does not match else if (text[--pos] != ruleByte) + { return false; + } } return true; @@ -177,17 +191,23 @@ bool CheckSuffix(string text, int pos) '@' => () => { if (FlagsAt(text, ++pos, CharFlags.Voiced)) + { return true; + } var inputChar = CharAt(text, pos); // 'H' if (inputChar != 'H') + { return false; + } // FIXME: This is always true apparently // Check for 'T', 'C', 'S' if (!IsOneOf(inputChar, 'T', 'C', 'S')) + { return false; + } throw new Exception("TCS didn't match, always false but happened?"); }, @@ -199,7 +219,10 @@ bool CheckSuffix(string text, int pos) ':' => () => { while (FlagsAt(text, pos + 1, CharFlags.Consonant)) + { pos++; + } + return true; }, /* '%' - check if we have: @@ -252,7 +275,10 @@ bool CheckSuffix(string text, int pos) // Not "ELY" if (CharAt(text, pos + 3) != 'Y') + { return false; + } + pos += 3; return true; } @@ -268,7 +294,9 @@ bool CheckSuffix(string text, int pos) } // Rule char does not match else if (CharAt(text, ++pos) != ruleByte) + { return false; + } } return true; } @@ -277,15 +305,21 @@ bool Matches(string text, int pos) { // Check if content in brackets matches if (!text[pos..].StartsWith(match)) + { return false; - + } + // Check left if (!CheckPrefix(text, pos)) + { return false; - + } + // Check right if (!CheckSuffix(text, pos + match.Length - 1)) + { return false; + } return true; } @@ -338,7 +372,9 @@ void SuccessCallback(string append, int inputSkip) foreach (RuleMatcher rule in rules2) { if (rule(text, inputPos, SuccessCallback)) + { break; + } } continue; } @@ -356,7 +392,9 @@ void SuccessCallback(string append, int inputSkip) foreach (RuleMatcher rule in rules[currentChar]) { if (rule(text, inputPos, SuccessCallback)) + { break; + } } continue; } diff --git a/SamSharp/Renderer/OutputBuffer.cs b/SamSharp/Renderer/OutputBuffer.cs index bdfb551b..9baeef98 100644 --- a/SamSharp/Renderer/OutputBuffer.cs +++ b/SamSharp/Renderer/OutputBuffer.cs @@ -36,20 +36,27 @@ public void Ary(int index, Span array) bufferPos += timetable[5 * oldTimeTableIndex + index]; if (bufferPos / 50 > buffer.Length) + { throw new Exception($"Buffer overflow, want {bufferPos / 50} but buffer size is {buffer.Length}"); + } oldTimeTableIndex = index; // Write a little bit in advance for (int k = 0; k < 5; k++) + { buffer[bufferPos / 50 + k] = (byte)array[k]; + } } public byte[] Get() { byte[] bytes = new byte[bufferPos / 50]; for (int i = 0; i < bufferPos / 50; i++) + { bytes[i] = (byte)(buffer[i]); + } + return bytes; } } diff --git a/SamSharp/Renderer/Renderer.CreateFrames.cs b/SamSharp/Renderer/Renderer.CreateFrames.cs index 082cafc2..a226ebd9 100644 --- a/SamSharp/Renderer/Renderer.CreateFrames.cs +++ b/SamSharp/Renderer/Renderer.CreateFrames.cs @@ -36,16 +36,22 @@ void AddInflection(int inflection, int pos, Dictionary pitches) // Store the location of the punctuation int end = pos; if (pos < 30) + { pos = 0; + } else + { pos -= 30; + } int a; // FIXME: Explain this fix better, it's not obvious // ML : A =, fixes a problem with invalid pitch with '.' while ((a = pitches[pos]) == 127) + { pos++; + } while (pos != end) { @@ -68,12 +74,16 @@ void AddInflection(int inflection, int pos, Dictionary pitches) var phoneme = data.Phoneme; if (phoneme == PhonemePeriod) + { AddInflection(FallingInflection, x, framesData.Pitches); + } else if (phoneme == PhonemeQuestion) + { AddInflection(RisingInflection, x, framesData.Pitches); + } // Get the stress amount (more stress = higher pitch) - var phase1 = stressPitch_tab47492[data.Stress!.Value]; + var phase1 = stressPitchTab47492[data.Stress!.Value]; // Get number of frames to write // Copy from the source to the frames list diff --git a/SamSharp/Renderer/Renderer.CreateTransitions.cs b/SamSharp/Renderer/Renderer.CreateTransitions.cs index 333d055b..30401e2c 100644 --- a/SamSharp/Renderer/Renderer.CreateTransitions.cs +++ b/SamSharp/Renderer/Renderer.CreateTransitions.cs @@ -84,16 +84,26 @@ void Interpolate(int width, int table, int frame, int change) // Accumulated a whole integer error, so adjust output error -= width; if (sign) + { val--; + } else if (val != 0) + { val++; // If input is 0, we always leave it alone + } } // Write updated value back to next frame if (table < 0 || table >= tables.Length) + { throw new Exception($"(Interpolate) Invalid table in Read: {table}"); + } + if (frame + 1 < tables[table].Count) + { tables[table][++frame] = val; + } + val += div; // WTF: This is in the JS code, but this does nothing useful? } } diff --git a/SamSharp/Renderer/Renderer.ProcessFrames.cs b/SamSharp/Renderer/Renderer.ProcessFrames.cs index 25400af0..c49950e1 100644 --- a/SamSharp/Renderer/Renderer.ProcessFrames.cs +++ b/SamSharp/Renderer/Renderer.ProcessFrames.cs @@ -34,9 +34,14 @@ void RenderTheSample(int index1, int value1, int index0, int value0) do { if ((sample & 128) != 0) + { output.Write(index1, value1); + } else + { output.Write(index0, value0); + } + sample <<= 1; } while (--bit > 0); } @@ -147,7 +152,10 @@ private void ProcessFrames(OutputBuffer output, int frameCount, int speed, Frame { pos++; // Go to next amplitude frameCount--; - if (frameCount == 0) return; + if (frameCount == 0) + { + return; + } speedCounter = speed; } diff --git a/SamSharp/Renderer/Renderer.Tables.cs b/SamSharp/Renderer/Renderer.Tables.cs index 9920e6e9..07013fa6 100644 --- a/SamSharp/Renderer/Renderer.Tables.cs +++ b/SamSharp/Renderer/Renderer.Tables.cs @@ -10,7 +10,7 @@ public partial class Renderer private readonly int[] sampledConsonantValues0 = { 0x18, 0x1A, 0x17, 0x17, 0x17 }; // Stress pitch table - private readonly int[] stressPitch_tab47492 = { 0x00, 0xE0, 0xE6, 0xEC, 0xF3, 0xF9, 0x00, 0x06, 0xC, 0x06 }; + private readonly int[] stressPitchTab47492 = { 0x00, 0xE0, 0xE6, 0xEC, 0xF3, 0xF9, 0x00, 0x06, 0xC, 0x06 }; // Used to decide which phoneme's blend lengths to pick. The candidate with the lower score is selected // tab45856 diff --git a/SamSharp/Sam.cs b/SamSharp/Sam.cs index d9a2d4be..45867010 100644 --- a/SamSharp/Sam.cs +++ b/SamSharp/Sam.cs @@ -30,14 +30,8 @@ public byte[] SpeakPhonetic(string phoneticInput) return renderer.Render(data, Options); } - public Task SpeakAsync(string input) - { - return Task.Factory.StartNew(() => Speak(input)); - } + public Task SpeakAsync(string input) => Task.Factory.StartNew(() => Speak(input)); - public Task SpeakPhoneticAsync(string phoneticInput) - { - return Task.Factory.StartNew(() => SpeakPhonetic(phoneticInput)); - } + public Task SpeakPhoneticAsync(string phoneticInput) => Task.Factory.StartNew(() => SpeakPhonetic(phoneticInput)); } } \ No newline at end of file diff --git a/SamSharpCli/Program.cs b/SamSharpCli/Program.cs index 9f2b5af5..81de1aa5 100644 --- a/SamSharpCli/Program.cs +++ b/SamSharpCli/Program.cs @@ -6,11 +6,9 @@ namespace SamSharpCli; public static class Program { - public static void Main(string[] args) - { + public static void Main(string[] args) => Parser.Default.ParseArguments(args) .WithParsed(RunOptions); - } private static void RunOptions(CommandLineOptions options) { diff --git a/global.json b/global.json new file mode 100644 index 00000000..9e5e1fd1 --- /dev/null +++ b/global.json @@ -0,0 +1,7 @@ +{ + "sdk": { + "version": "6.0.0", + "rollForward": "latestMajor", + "allowPrerelease": true + } +} \ No newline at end of file From 071d8ebe02ca42d373db24e1831d485a951b5b0c Mon Sep 17 00:00:00 2001 From: Monczak <37554206+Monczak@users.noreply.github.com> Date: Sun, 19 Nov 2023 15:43:49 +0100 Subject: [PATCH 13/14] Fix crash on empty input string --- SamSharp/Renderer/Renderer.CreateTransitions.cs | 2 +- SamSharp/Renderer/Renderer.ProcessFrames.cs | 5 +++++ SamSharp/Sam.cs | 8 ++++---- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/SamSharp/Renderer/Renderer.CreateTransitions.cs b/SamSharp/Renderer/Renderer.CreateTransitions.cs index 30401e2c..f702b10a 100644 --- a/SamSharp/Renderer/Renderer.CreateTransitions.cs +++ b/SamSharp/Renderer/Renderer.CreateTransitions.cs @@ -179,7 +179,7 @@ void Interpolate(int width, int table, int frame, int change) } // Add the length of the last phoneme - return boundary + phonemes[^1].Length!.Value; + return boundary + phonemes.Length > 0 ? phonemes[^1].Length!.Value : 0; } } } \ No newline at end of file diff --git a/SamSharp/Renderer/Renderer.ProcessFrames.cs b/SamSharp/Renderer/Renderer.ProcessFrames.cs index c49950e1..ddda8f40 100644 --- a/SamSharp/Renderer/Renderer.ProcessFrames.cs +++ b/SamSharp/Renderer/Renderer.ProcessFrames.cs @@ -93,6 +93,11 @@ void RenderTheSample(int index1, int value1, int index0, int value0) */ private void ProcessFrames(OutputBuffer output, int frameCount, int speed, FramesData framesData) { + if (framesData.Pitches.Count == 0) + { + return; + } + int speedCounter = speed; int phase1 = 0, phase2 = 0, phase3 = 0; int lastSampleOffset = 0; diff --git a/SamSharp/Sam.cs b/SamSharp/Sam.cs index 45867010..71577611 100644 --- a/SamSharp/Sam.cs +++ b/SamSharp/Sam.cs @@ -18,7 +18,7 @@ public Sam() : this(new Options()) public byte[] Speak(string input) { Reciter.Reciter reciter = new Reciter.Reciter(); - return SpeakPhonetic(reciter.TextToPhonemes(input)); + return SpeakPhonetic(reciter.TextToPhonemes(input.Trim())); } public byte[] SpeakPhonetic(string phoneticInput) @@ -26,12 +26,12 @@ public byte[] SpeakPhonetic(string phoneticInput) Parser.Parser parser = new Parser.Parser(); Renderer.Renderer renderer = new Renderer.Renderer(); - var data = parser.Parse(phoneticInput); + var data = parser.Parse(phoneticInput.Trim()); return renderer.Render(data, Options); } - public Task SpeakAsync(string input) => Task.Factory.StartNew(() => Speak(input)); + public Task SpeakAsync(string input) => Task.Factory.StartNew(() => Speak(input.Trim())); - public Task SpeakPhoneticAsync(string phoneticInput) => Task.Factory.StartNew(() => SpeakPhonetic(phoneticInput)); + public Task SpeakPhoneticAsync(string phoneticInput) => Task.Factory.StartNew(() => SpeakPhonetic(phoneticInput.Trim())); } } \ No newline at end of file From e93dd10d4a772fa8bac624da1a8c0b46057a0f8c Mon Sep 17 00:00:00 2001 From: Monczak <37554206+Monczak@users.noreply.github.com> Date: Sun, 19 Nov 2023 15:47:54 +0100 Subject: [PATCH 14/14] I forgot how ternary operators work for a sec --- SamSharp/Renderer/Renderer.CreateTransitions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SamSharp/Renderer/Renderer.CreateTransitions.cs b/SamSharp/Renderer/Renderer.CreateTransitions.cs index f702b10a..cc9177cc 100644 --- a/SamSharp/Renderer/Renderer.CreateTransitions.cs +++ b/SamSharp/Renderer/Renderer.CreateTransitions.cs @@ -179,7 +179,7 @@ void Interpolate(int width, int table, int frame, int change) } // Add the length of the last phoneme - return boundary + phonemes.Length > 0 ? phonemes[^1].Length!.Value : 0; + return boundary + (phonemes.Length > 0 ? phonemes[^1].Length!.Value : 0); } } } \ No newline at end of file