Spaces:
Sleeping
Sleeping
ShebMichel
Add professional README with animated SVG banner, features table, and architecture diagram
8dcd60e A newer version of the Gradio SDK is available: 6.21.0
metadata
title: GeoTalk
emoji: π
colorFrom: green
colorTo: yellow
sdk: gradio
sdk_version: 6.19.0
python_version: '3.13'
app_file: app.py
pinned: false
π¬ What is GeoTalk?
GeoTalk is an AI-powered geoscience podcast generator that turns your geological data into an engaging debate between AI scientists β complete with animated 3D robot avatars, text-to-speech voices, and live captions.
Upload a core photo, well log, or outcrop image, and watch two AI geoscientists (plus a moderator) debate the interpretation in real-time.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ποΈ GeoTalk Live β LIVE β
βββββββββββββββ¬βββββββββββ¬βββββββββββββββββββββββββββββββββ€
β β β β
β π€ Robot A β ποΈ Chair β π€ Robot B β
β (Speaker 1) β(Moderator)β (Speaker 2) β
β β β β
βββββββββββββββ΄βββββββββββ΄βββββββββββββββββββββββββββββββββ€
β Dr. Vasquez: "The laminations suggest a tidal flat..." β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βΈ ββββββββββββββββββββββββ 2:34 / 5:12 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β¨ Features
| Feature | Description |
|---|---|
| π¬ Core Talk | Two petrographers debate your core/thin section photo |
| π©Ί Log Doctor | Two analysts diagnose your well log data (LAS files) like doctors diagnosing a patient |
| ποΈ Field Trip FM | A professor and student narrate a virtual field trip to your outcrop |
| ποΈ Chair/Moderator | A professional host introduces the topic, speakers, and guides the debate |
| π€ 3D Robot Avatars | Reachy Mini-inspired robots animate per speaker turn (Three.js) |
| π£οΈ Multi-voice TTS | Each character has a distinct voice (Edge-TTS) |
| π Live Captions | Real-time subtitles synced to audio playback |
| βΆοΈ Auto-play | Episode starts automatically when ready |
ποΈ Architecture
ββββββββββββββββ ββββββββββββββββββββ βββββββββββββββ
β User Input ββββββΆβ Vision Model ββββββΆβ LLM Script β
β (Image/LAS) β β (Qwen2.5-VL) β β Generator β
ββββββββββββββββ ββββββββββββββββββββ ββββββββ¬βββββββ
β
ββββββββββββββββββββ β
β Edge-TTS βββββββββββββββ
β (Multi-voice) β
ββββββββββ¬ββββββββββ
β
ββββββββββΌββββββββββ
β Robot Viewer β
β (Three.js + β
β Audio Sync) β
βββββββββββββββββββ
Pipeline:
- Vision Analysis β Qwen2.5-VL-72B describes the uploaded geological image
- Script Generation β Qwen2.5-72B writes a multi-character debate script (with Chair)
- Text-to-Speech β Edge-TTS generates distinct voices for each character
- Live Viewer β Three.js renders animated robots synced to audio playback
π Quick Start
Run locally
git clone https://github.com/ShebMichel/GeoTalk.git
cd GeoTalk
pip install -r requirements.txt
export HF_TOKEN="your_huggingface_token"
python app.py
Try the live demo
π Launch GeoTalk on Hugging Face Spaces
π Project Structure
GeoTalk/
βββ app.py # Gradio UI + tab functions
βββ backend.py # LLM client, TTS generation, script parsing
βββ robot_viewer.html # Three.js robot viewer (self-contained)
βββ requirements.txt # Python dependencies
βββ README.md # This file
π€ Robot Avatars
The 3D robot avatars are inspired by Reachy Mini from the Small Talk project. They feature:
- Procedural Three.js geometry β no external model files needed
- Per-speaker animations β talking (head bob, antenna wiggle), listening (head tilt), idle (gentle sway)
- Visual feedback β active speaker panel highlighted with colored border
- Chair indicator β center panel with pulsing microphone icon
π οΈ Tech Stack
- Frontend: Three.js, Gradio, HTML5 Audio
- LLM: Qwen2.5-72B-Instruct (script generation)
- Vision: Qwen2.5-VL-72B-Instruct (image analysis)
- TTS: Edge-TTS (Microsoft Neural voices)
- Hosting: Hugging Face Spaces
π License
MIT
Built with β€οΈ for the geoscience community