A beginner-to-intermediate level AI ChatBot project built in Java with advanced features like Swing GUI, GPT API integration, text-to-speech, and chat logging.
AIChatBot/
├── src/
│ └── com/
│ └── wearl/
│ └── aichatbot/
│ ├── ChatBotGUI.java // Swing-based GUI
│ ├── GPTService.java // OpenAI GPT API handler
│ ├── TTSUtil.java // FreeTTS integration
│ ├── ChatLogger.java // Chat history logger
│ └── Main.java // Entry point to launch GUI
│
├── lib/ // FreeTTS JAR dependencies
│ ├── freetts-1.2.2.jar // FreeTTS Core Engine
│ ├── cmulex.jar // Lexicon data
│ ├── cmutimelex.jar // Timing lexicon
│ └── cmu_us_kal.jar // Voice (Kevin16)
│
├── config/
│ └── config.properties // Stores OpenAI API Key
│
├── chat_logs/ // Daily chat history
│ └── chat_2025-07-19.txt // Example log file
│
├── .nb-configuration/ // NetBeans project config
│
├── target/ // Compiled classes (Maven)
│ └── ... // auto-generated
│
├── README.md // Project overview & setup
├── pom.xml // Maven project file
└── .gitignore // (optional) Git exclusions
- GUI-based chat interface using Java Swing
- Connects to OpenAI GPT API for smart responses
- Speaks responses using FreeTTS (offline)
- Saves chat history in
.txt
files with date-based naming - FreeTTS 1.2.2 integrated
- Uses system scope for local JARs
- Simple Java console app
- Maven-compatible
- Clone or download the repository.
- Open in NetBeans (or any Java IDE).
- Add the FreeTTS JAR to your classpath.
- Add your OpenAI API key in
config/config.properties
. - Run
Main.java
.
- Java 8+
- FreeTTS JAR
- Internet connection (for GPT API)
- NetBeans or IntelliJ IDEA (recommended)
- Dark mode UI toggle
- Personalized memory feature
- Voice input support
"Hello Saurabh! Your Java AI chatbot is ready to speak using FreeTTS."