This study proposes Speak2UI, a voice-based mobile UI control system that leverages pre-trained large language models to reduce data dependency and enable direct voice control of low-level UI elements. The system comprises speech recognition with GPT-4o-mini-based command parsing supporting ten action types with context-aware filtering, and UI control modules.
Test Environment: Samsung S8+ (Android API level 34)
This section outlines the environment settings required to build the project successfully.
- Compile Sdk Version: 36
- Min Sdk Version: 30
- Java Version: 21
- Kotlin Compiler Extension Version: 1.5.0
-
Clone the project
git clone https://github.com/Jin-A-Park/speak2ui.git
-
Set up the API Key This project requires an OpenAI API key to function.
- Create a file named
local.propertiesin the root directory of the project. - Add your OpenAI API key to the file as shown below:
OPENAI_API_KEY=YOUR_OPENAI_API_KEY_HERE - Create a file named
-
Open the project in Android Studio
- Launch Android Studio and select
Opento open the cloned project folder. - Wait for the Gradle sync to complete.
- Launch Android Studio and select
-
Run the app
- Select your desired emulator or physical device.
- Click the 'Run' button to build and run the application.
- Enable
Speak2UIin Settings > Accessibility. - Turn on
Display over other appsin Settings > App info > Speak2UI. - Tap the MIC button in the top-left corner.
- Tap
On, and you’re all set!
@article{Park23102026,
author = {Sungjin Park and Jin A. Park and Jooyoung Lim and Hayoung Oh},
title = {Speak2UI: Voice-Driven Low-Level Mobile Interaction Using Context-Aware LLM Command Parsing},
journal = {International Journal of Human--Computer Interaction},
pages = {1--14},
year = {2026},
publisher = {Taylor \& Francis},
doi = {10.1080/10447318.2026.2745091},
url = {https://doi.org/10.1080/10447318.2026.2745091}
}