{"id":24802980,"url":"https://github.com/ovoshatchery/ovosaurus","last_synced_at":"2025-03-25T05:37:26.161Z","repository":{"id":162209731,"uuid":"636509472","full_name":"OVOSHatchery/ovosaurus","owner":"OVOSHatchery","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-06T02:26:47.000Z","size":69580,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"dev","last_synced_at":"2025-01-30T05:16:51.325Z","etag":null,"topics":["proof-of-concept"],"latest_commit_sha":null,"homepage":"","language":"Python","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/OVOSHatchery.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2023-05-05T02:27:13.000Z","updated_at":"2024-02-09T20:28:30.000Z","dependencies_parsed_at":"2024-02-09T21:25:52.949Z","dependency_job_id":"a1a89060-1f33-4286-bca9-b2c24fef9315","html_url":"https://github.com/OVOSHatchery/ovosaurus","commit_stats":null,"previous_names":["ovoshatchery/ovosaurus"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OVOSHatchery%2Fovosaurus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OVOSHatchery%2Fovosaurus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OVOSHatchery%2Fovosaurus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OVOSHatchery%2Fovosaurus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OVOSHatchery","download_url":"https://codeload.github.com/OVOSHatchery/ovosaurus/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245407759,"owners_count":20610232,"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":["proof-of-concept"],"created_at":"2025-01-30T05:16:52.806Z","updated_at":"2025-03-25T05:37:26.131Z","avatar_url":"https://github.com/OVOSHatchery.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OVOSAURUS\n\n*WIP* - just a fun idea, open during construction, might lead nowhere\n\nclassify language from spoken audio\n\nOVOSAURUS turns an audio classification problem into a text classification problem, allowing for new models to be quickly trained on limited data for different language combinations on demand\n\n1 - turn audio into a sequence of IPA phonemes, this step should be lang agnostic\n\n2 - train a classic machine learning classifier on the phonemes (initial dataset [allosaurusVoxLingua_v0.1.csv](https://github.com/OpenVoiceOS/ovos-datasets/blob/master/text/allosaurusVoxLingua_v0.1.csv))\n\n\nsupported phonemizers:\n\n- https://github.com/OpenVoiceOS/ovos-audio2ipa-plugin-allosaurus\n- https://github.com/OpenVoiceOS/ovos-audio2ipa-plugin-wav2vec2gruut  (default)\n- https://github.com/OpenVoiceOS/ovos-audio2ipa-plugin-wav2vec2espeak\n\n# OVOS usage\n\nlanguage detector for ovos dinkum listener\n\nsee [models branch for pretrained models](https://github.com/OpenVoiceOS/ovosaurus/tree/models/pretrained), download one and provide path\n\n\n```javascript\n\"audio2ipa\": {\"module\": \"ovos-audio2ipa-plugin-wav2vec2gruut\"},\n\"listener\": {\n    \"audio_transformers\": {\n        \"ovos-audio-transformer-plugin-ovosaurus\": {\n            \"model\": \"https://github.com/OpenVoiceOS/ovosaurus/raw/models/pretrained/svc_de_en_es_fi_fr_pt.pkl\"\n        }\n    }\n}\n```\n\n# Training\n\nsee [models branch](https://github.com/OpenVoiceOS/ovosaurus/tree/models#training)\n\n# Usage\n\nnot ready, open during construction, browse the code or something\n\n```python\nfrom speech_recognition import Recognizer, AudioFile\n\nname = \"https://github.com/OpenVoiceOS/ovosaurus/raw/models/pretrained/svc_de_en_es_fi_fr_pt.pkl\"\nengine = OVOSaurus.from_file(name)\n\n# inference\njfk = \"/home/miro/PycharmProjects/ovos-stt-plugin-fasterwhisper/jfk.wav\"\nwith AudioFile(jfk) as source:\n    audio = Recognizer().record(source)\n\npred = engine.recognize(audio)\nprint(pred)  # all langs\n# [('de', 0.2966126259614516), ('en', 0.32389020726666456), ('es', 0.07285172650618475), ('fi', 0.09471670467904182), ('fr', 0.08266133731016057), ('pt', 0.12926739827649664)]\nprint(max(pred, key=lambda k: k[1]))  # best lang\n# ('en', 0.32389020726666456)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fovoshatchery%2Fovosaurus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fovoshatchery%2Fovosaurus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fovoshatchery%2Fovosaurus/lists"}