{"id":20879159,"url":"https://github.com/eldersantos/phonix","last_synced_at":"2025-08-26T11:32:19.845Z","repository":{"id":25097781,"uuid":"28518857","full_name":"eldersantos/phonix","owner":"eldersantos","description":"Phonetic libray for .NET","archived":false,"fork":false,"pushed_at":"2020-02-13T22:40:14.000Z","size":977,"stargazers_count":77,"open_issues_count":3,"forks_count":22,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-08-12T02:25:34.960Z","etag":null,"topics":["algorithm","c-sharp","caverphone","dotnet","metaphone","phonetic-algorithms","soundex"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eldersantos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-26T19:06:27.000Z","updated_at":"2024-09-21T22:06:32.000Z","dependencies_parsed_at":"2022-08-23T19:00:57.250Z","dependency_job_id":null,"html_url":"https://github.com/eldersantos/phonix","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eldersantos/phonix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldersantos%2Fphonix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldersantos%2Fphonix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldersantos%2Fphonix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldersantos%2Fphonix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eldersantos","download_url":"https://codeload.github.com/eldersantos/phonix/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldersantos%2Fphonix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272214419,"owners_count":24893201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-26T02:00:07.904Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","c-sharp","caverphone","dotnet","metaphone","phonetic-algorithms","soundex"],"created_at":"2024-11-18T07:15:27.110Z","updated_at":"2025-08-26T11:32:19.823Z","avatar_url":"https://github.com/eldersantos.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"Welcome to Phonix\n======\n\n[![Build Status](https://travis-ci.org/eldersantos/phonix.svg?branch=master)](https://travis-ci.org/eldersantos/phonix)\n\nA Phonetic open source libray for .NET, no dependencies, it is pure C# code ;)\n\nNow with support for .NET Core (thanks @ysilvestrov) and VS 2017 (thanks to @spboyer)\n\nLatest Version\n--------------\n\nThe quickest way to get the latest release of Phonix is to add it to your project using \nNuGet (\u003chttp://nuget.org/List/Packages/Phonix\u003e).\n\nImplemented algorithms\n----------------\n\nToday Phonix implements the following algorithms:\n\n* Caverphone [http://en.wikipedia.org/wiki/Caverphone] - Created by David Hood, the algorithm is optimised for accents.\n* Double Metaphone [http://en.wikipedia.org/wiki/Metaphone] - Phonetic encoding algorithm is the second generation of the Metaphone algorithm\n* Metaphone [http://en.wikipedia.org/wiki/Metaphone] - Published by Lawrence Philips in 1990, for indexing words by their English pronunciation.\n* Match Rating [http://en.wikipedia.org/wiki/Match_rating_approach] - Is a phonetic algorithm developed by Western Airlines in 1977 for the indexation and comparison of homophonous names\n* Soundex [http://en.wikipedia.org/wiki/Soundex] - Is a phonetic algorithm for indexing names by sound, as pronounced in English.\n\nHow to use\n---------------\n\nBelow there are examples on how to use the MatchRating, DoubleMetaphone and Soundex algorithms:\n\n```\n\n    using Phonix;\n    \n    public class MatchRatingApproachTests\n    {\n        private static readonly string[] Words = new[] { \"Spotify\", \"Spotfy\", \"Sputfy\",\"Sputfi\" };\n\n        readonly MatchRatingApproach _generator = new MatchRatingApproach();\n       \n        public void Should_Be_Similar()\n        {\n            Console.Writeline(_generator.IsSimilar(Words));\n        }\n    }\n    \n    public class SoundexTests\n    {\n        private static readonly string[] Words = new[] { \"Spotify\", \"Spotfy\", \"Sputfi\", \"Spotifi\" };\n        private static readonly string[] Words2 = new[] { \"United Air Lines\", \"United Aire Lines\", \"United Air Line\" };\n\n        readonly Soundex _generator = new Soundex();\n\n        public void Should_Be_Similar()\n        {\n            Console.Writeline(_generator.IsSimilar(Words));\n            Console.Writeline(_generator.IsSimilar(Words2));\n        }\n    }\n    \n    public class DoubleMetaphoneTests\n    {\n        private static readonly string[] Words = new[] {\"Spotify\", \"Spotfy\", \"Sputfi\", \"Spotifi\"};\n        private static readonly string[] Words2 = new[] { \"United Air Lines\", \"United Aire Lines\", \"Unitid Air Line\"};\n\n        readonly DoubleMetaphone _generator =  new DoubleMetaphone();\n              \n        public void Should_Return_Same_Keys()\n        {\n            string[][] keys =  new string[Words.Length][];\n            for (int n = 0; n \u003c Words.Length; n++)\n            {\n                keys[n] =  _generator.BuildKeys(Words[n]);\n            }\n\n            for (int n = 0; n \u003c Words.Length; n++)\n            {\n                for (int m = 0; m \u003c keys[n].Length; m++)\n                {\n                    if (n \u003e 0)\n                    {\n                        Console.Writeline(keys[n][m], keys[n - 1][m]);\n                    }\n                }\n            }\n\n            string[][] keys2 = new string[Words2.Length][];\n            for (int n = 0; n \u003c Words2.Length; n++)\n            {\n                keys2[n] = _generator.BuildKeys(Words2[n]);\n            }\n\n            for (int n = 0; n \u003c Words2.Length; n++)\n            {\n                for (int m = 0; m \u003c keys2[n].Length; m++)\n                {\n                    Console.WriteLine(keys2[n][m]);\n                    if (n \u003e 0)\n                    {\n                        Console.Writeline(keys2[n][m], keys2[n - 1][m]);\n                    }\n                }\n            }\n        }\n    }\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feldersantos%2Fphonix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feldersantos%2Fphonix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feldersantos%2Fphonix/lists"}