{"id":18271995,"url":"https://github.com/KingOfBrian/VocalKit","last_synced_at":"2025-04-05T02:30:57.203Z","repository":{"id":63866308,"uuid":"640685","full_name":"KingOfBrian/VocalKit","owner":"KingOfBrian","description":"Objective-C shim layer for Speech Recognition","archived":false,"fork":false,"pushed_at":"2011-06-04T01:14:14.000Z","size":32202,"stargazers_count":250,"open_issues_count":2,"forks_count":50,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-11-05T11:54:28.409Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KingOfBrian.png","metadata":{"files":{"readme":"README.mdown","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-04-30T22:16:38.000Z","updated_at":"2023-12-25T22:36:50.000Z","dependencies_parsed_at":"2022-11-27T23:21:09.226Z","dependency_job_id":null,"html_url":"https://github.com/KingOfBrian/VocalKit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KingOfBrian%2FVocalKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KingOfBrian%2FVocalKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KingOfBrian%2FVocalKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KingOfBrian%2FVocalKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KingOfBrian","download_url":"https://codeload.github.com/KingOfBrian/VocalKit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247279322,"owners_count":20912865,"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-11-05T11:39:38.902Z","updated_at":"2025-04-05T02:30:52.147Z","avatar_url":"https://github.com/KingOfBrian.png","language":"C","funding_links":[],"categories":["etc"],"sub_categories":[],"readme":"VocalKit\n========\n\nI no longer advise using VocalKit, as a much better project, Open Ears has come out.   http://www.politepix.com/openears/\n\n\n\n\nVocalKit is a wrapper for available open source Speech related packages.   It's goal is to ease the development of voice recognition solutions for the iPhone by providing a nice, simple Objective-C API.\n\nCurrently VocalKit is in an Alpha version and just wraps [Pocket Sphinx][].  When enabled, it will post notifications for the recognized speech.  It does not currently configure Pocket Sphinx programmatically, it just configures ps from a file.   It also does not trigger speech processing when the user stops speaking.  Anyone interested in helping is greatly appreciated.\n\nPlease review the wiki if you run into any problems.\n\nExample:\n\n        [vk startListening];\n        ....\n        [vk stopListening];\n\n    ....\n\n    - (void) recognizedTextNotification:(NSNotification*)notification {\n        NSDictionary *dict = [notification userInfo];\n        NSString *phrase = [dict objectForKey:VKRecognizedPhraseNotificationTextKey];\n        [textView setText:phrase];\n    }\n\n\nIf you want to help, the following area's could use input:\n\n1. Help define the API for Finite State Gramar creation\n\n2. Add another (or better) pocket sphinx configuration.   An FSG example would be great.\n\n3. Add better HMM models or models for other languages.\n\n\nDiscussion and Questions about VocalKit should go to the [Google Group][] or as an issue here. \n\n  \nAllowing support for Julius is a design goal, but not priorities.   \n \n \nGetting Started with VocalKit\n=============================\n\nTo get started, clone the resository and open 'VocalKit/VocalKitTest/VocalKitText.xcodeproj'.   This project is setup with the WSJ 5k word corpus.  The test is not a great representation of Pocket Sphinx's capabilities, and I hope to get a better tuned example up soon.  Copying this project is the simplest way to get started with Pocket Sphinx.\n\n\n\nAdding VocalKit to your project (Thanks to [Three20][])\n===========================================================================\n\nVocalKit is compiled as a static library, and the easiest way to add it to your\nproject is to use Xcode's \"dependent project\" facilities.  Here is how:  \n**Estimated time:** 5 minutes.\n\n1. Clone the vocalkit git repository: `git clone git://github.com/KingOfBrian/VocalKit.git`.  Make sure \n   you store the repository in a permanent place because Xcode will need to reference the files\n   every time you compile your project.\n\n2. Locate the \"VocalKit.xcodeproj\" file under \"VocalKit/\".  Drag VocalKit.xcodeproj and\n   drop it onto the root of your Xcode project's \"Groups and Files\"  sidebar.  A dialog will\n   appear -- make sure \"Copy items\" is unchecked and \"Reference Type\" is \"Relative to Project\"\n   before clicking \"Add\".\n\n3. Now you need to link the VocalKit static library to your project.  Click the \"VocalKit.xcodeproj\" \n   item that has just been added to the sidebar.  Under the \"Details\" table, you will see a single\n   item: libVocalKit.a.  Check the checkbox on the far right of libVocalKit.a.\n\n4. Now you need to add VocalKit as a dependency of your project, so Xcode compiles it whenever\n   you compile your project.  Expand the \"Targets\" section of the sidebar and double-click your\n   application's target.  Under the \"General\" tab you will see a \"Direct Dependencies\" section. \n   Click the \"+\" button, select \"VocalKit\", and click \"Add Target\".\n\n5. Now you need to add the Audio Toolbox and iconv framework to your project.  Right click on the\n   \"Frameworks\" group in your project (or equivalent) and select Add \u003e Existing Frameworks. \n   Then locate AudioToolbox.framework and libiconv.dylib and add it to the project.\n\n6. Finally, we need to tell your project where to find the VocalKit and pocketsphinx headers.  Open your\n   \"Project Settings\" and go to the \"Build\" tab. Look for \"Header Search Paths\" and double-click\n   it.  Add the following:\n     - The relative path from your project's directory to the VocalKit directory.\n\t - The relative path from your project's directory to the VocalKit/include directory.\n\n7. While you are in Project Settings, go to \"Other Linker Flags\" under the \"Linker\" section, and\n   add \"-ObjC\" and \"-all_load\" to the list of flags.\n\n8. You're ready to go.  Just #import \"VKController.h\" anywhere you want to use VocalKit Wrapper class\n\n\n\nModifying VocalKit to build from Pocket Sphinx or Flite sources\n===============================================\n\nVocalKit comes with multi-architecture static libraries for Pocket Sphinx and Flite.   \nFollow these steps to configure VocalKit to compile from your custom built libraries.\n\n1. Build Pocket Sphinx and Sphinx Base using the 'build_for_iphone.sh' shell script.   \n   This will place the libraries in a platform selectable directory.   Follow the README for more information.\n\n2. Remove include, libflite*, libpocketsphinx, and libsphinxbase from the Frameworks folder\n\n3. In project settings, search for \"Header Search Paths\" and add these paths:\n\n- \"$(HOME)$(SDK_DIR)/include/pocketsphinx\"\n- \"$(HOME)$(SDK_DIR)/include/sphinxbase\"\n- \"$(HOME)$(SDK_DIR)/include/flite\"\n\n4. In project settings, search for \"Library Search Paths\" and add \"$(HOME)$(SDK_DIR)/lib\"\n\n5. While you are in Project Settings, go to \"Other Linker Flags\" under the \"Linker\" section, and\n   add \"-lpocketsphinx\", \"-lsphinxbase\", \"-lflite\", \"-lflite_cmu_us_slt\", \"-lflite_cmulex\", \"-lflite_usenglish\"\n   \n\nPackaging Considerations\n=======================\n\nPocketsphinx and Flite are LARGE -- 16MB for all the multi-architecture static libraries!  Bundled into your app \nit should strip out unused symbols and shrink down to around 5MB.  If you are submitting to the app store, only \ninclude both flite and pocket sphinx if you are actually using features from pocketsphinx and flite.  \n\n\n\n\n[Pocket Sphinx]: http://cmusphinx.sourceforge.net/\n[Google Group]: http://groups.google.com/group/vocalkit\n[Three20]: http://github.com/facebook/three20\n[CMU]: http://cmusphinx.sourceforge.net/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKingOfBrian%2FVocalKit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKingOfBrian%2FVocalKit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKingOfBrian%2FVocalKit/lists"}