{"id":13710218,"url":"https://github.com/jamesmontemagno/TextToSpeechPlugin","last_synced_at":"2025-05-06T18:34:39.592Z","repository":{"id":55370234,"uuid":"60303630","full_name":"jamesmontemagno/TextToSpeechPlugin","owner":"jamesmontemagno","description":"Text to Speech Plugin for Xamarin and Windows","archived":true,"fork":false,"pushed_at":"2023-04-03T20:36:23.000Z","size":1086,"stargazers_count":64,"open_issues_count":0,"forks_count":37,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-05-14T00:17:58.918Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jamesmontemagno.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"jamesmontemagno","patreon":"mergeconflictfm","custom":"https://www.buymeacoffee.com/jamesmontemagno"}},"created_at":"2016-06-02T23:18:36.000Z","updated_at":"2024-06-18T15:30:58.586Z","dependencies_parsed_at":"2024-06-18T15:30:57.041Z","dependency_job_id":"7cd2cd57-b4c4-4f84-af17-a6818309967f","html_url":"https://github.com/jamesmontemagno/TextToSpeechPlugin","commit_stats":{"total_commits":116,"total_committers":8,"mean_commits":14.5,"dds":0.3620689655172413,"last_synced_commit":"f5b2b2e9f5e8aa35d52cfef6d1bda218d28da897"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesmontemagno%2FTextToSpeechPlugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesmontemagno%2FTextToSpeechPlugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesmontemagno%2FTextToSpeechPlugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesmontemagno%2FTextToSpeechPlugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamesmontemagno","download_url":"https://codeload.github.com/jamesmontemagno/TextToSpeechPlugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224521653,"owners_count":17325274,"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","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":[],"created_at":"2024-08-02T23:00:53.182Z","updated_at":"2024-11-13T20:31:31.725Z","avatar_url":"https://github.com/jamesmontemagno.png","language":"C#","funding_links":["https://github.com/sponsors/jamesmontemagno","https://patreon.com/mergeconflictfm","https://www.buymeacoffee.com/jamesmontemagno"],"categories":["Plugins"],"sub_categories":[],"readme":"## Text To Speech Plugin for Xamarin and Windows\n\nSimple and elegant way of performing Text To Speech across Xamarin.iOS, Xamarin.tvOS, Xamarin.macOS Xamarin.Android, Windows, and Xamarin.Forms projects.\n\n\n\n### Setup\n* Available on NuGet: https://www.nuget.org/packages/Xam.Plugins.TextToSpeech/ [![NuGet](https://img.shields.io/nuget/v/Xam.Plugins.TextToSpeech.svg?label=NuGet)](https://www.nuget.org/packages/Xam.Plugins.TextToSpeech/)\n* **Install into your PCL project and Client projects**.\n\nBuild status: \n* ![](https://jamesmontemagno.visualstudio.com/_apis/public/build/definitions/6b79a378-ddd6-4e31-98ac-a12fcd68644c/23/badge)\n* CI NuGet Feed: http://myget.org/F/xamarin-plugins\n\n### Migrate to: [Xamarin.Essentials](https://docs.microsoft.com/xamarin/essentials/index?WT.mc_id=friends-0000-jamont) or [.NET MAUI](https://learn.microsoft.com/dotnet/maui/platform-integration/?WT.mc_id=friends-0000-jamont)\n\nI have been working on Plugins for Xamarin for a long time now. Through the years I have always wanted to create a single, optimized, and official package from the Xamarin team at Microsoft that could easily be consumed by any application. The time is now with [Xamarin.Essentials](https://docs.microsoft.com/xamarin/essentials/index?WT.mc_id=friends-0000-jamont), which offers over 50 cross-platform native APIs in a single optimized package. I worked on this new library with an amazing team of developers and I highly highly highly recommend you check it out. \n\nAdditionally, Xamarin.Essentials is now included in \u0026 [.NET MAUI](https://learn.microsoft.com/dotnet/maui/platform-integration/?WT.mc_id=friends-0000-jamont).\n\nDue to the functionality being included \"in the box\" I have decided to officially archive this repo.\n\n### Platform Support\n\n|Platform|Version|\n| ------------------- | :------------------: |\n|Xamarin.iOS|iOS 7+|\n|Xamarin.Android|API 10+|\n|Windows 10 UWP|10+|\n|Xamarin.Mac|All|\n|Xamarin tvOS|All|\n\n### Features\n* Speak back text\n* Pitch\n* Volume\n* Speak Rate\n* Locale/Language of Speech\n* Gather all available languages to speak in\n\n### Usage\n\n**Simple Text**\n```csharp\nawait CrossTextToSpeech.Current.Speak(\"Text to speak\");\n```\n\n**Advanced speech API**\n```csharp\n/// \u003csummary\u003e\n/// Speack back text\n/// \u003c/summary\u003e\n/// \u003cparam name=\"text\"\u003eText to speak\u003c/param\u003e\n/// \u003cparam name=\"crossLocale\"\u003eLocale of voice\u003c/param\u003e\n/// \u003cparam name=\"pitch\"\u003ePitch of voice (All 0.0 - 2.0f)\u003c/param\u003e\n/// \u003cparam name=\"speakRate\"\u003eSpeak Rate of voice (All) (0.0 - 2.0f)\u003c/param\u003e\n/// \u003cparam name=\"volume\"\u003eVolume of voice (0.0-1.0)\u003c/param\u003e\n/// \u003cparam name=\"cancelToken\"\u003eCancel the current speech\u003c/param\u003e\npublic async Task Speak(string text, CrossLocale crossLocale = null, float? pitch = null, float? speakRate = null, float? volume = null, CancellationToken cancelToken = default(CancellationToken))\n```  \n\n**CrossLocale**\nI developed the CrossLocale struct mostly to support Android, but is nice because I added a Display Name.\n\nYou can query a list of current support CrossLocales on the device:\n\n```csharp\n/// \u003csummary\u003e\n/// Get all installed and valide lanaguages\n/// \u003c/summary\u003e\n/// \u003creturns\u003eList of CrossLocales\u003c/returns\u003e\npublic Task\u003cIEnumerable\u003cCrossLocale\u003e\u003e GetInstalledLanguages()\n```\n\nEach local has the Language and Display Name. The Country code is only used in Android. If you pass in null to Speak it will use the default.\n\n#### Implementation\n\n* iOS: AVSpeechSynthesizer\n* Android: Android.Speech.Tts.TextToSpeech\n* Windows: SpeechSynthesizer + Ssml support for advanced playback\n\n\n**Windows Phone**\nYou must add ID_CAP_SPEECH_RECOGNITION permission\n\n\n### Branches\nMain branch is always the current development beta branch. This means that all new work can be done off this branch. For each release of a stable NuGet package a new release branch will be created so any additional hot fixes could be done off of that branch.\n\n#### License\nUnder MIT, see LICENSE file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesmontemagno%2FTextToSpeechPlugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamesmontemagno%2FTextToSpeechPlugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesmontemagno%2FTextToSpeechPlugin/lists"}