A web-based tool for acoustic phonetic analysis that visualizes vowel spaces through formant extraction and comparison with native speaker reference data.
🎯 Perfect for: Linguistics research, language learning, speech therapy, phonetics education
- Browser-Based Voice Recording - No external software needed
- Formant Extraction - F1, F2, F3 using Linear Predictive Coding
- IPA Vowel Charts - Traditional vowel trapezoid visualization
- Multi-Language Support - 41 languages with 301 vowels (Turkic, Uralic, Mongolic, Indo-European, and more)
- Session Management - Save/load sessions as JSON
- Audio Playback - Replay your recordings
- Detailed Formant Tables - View F1, F2, F3 for all recordings
- Accuracy Scoring - Compare to native speaker targets
- Practice Mode - Interactive pronunciation training
- Visual Feedback - Real-time performance indicators
- PNG/PDF Charts - Publication-quality vowel spaces (300 DPI)
- CSV Data - Formant values for statistical analysis
- JSON Sessions - Complete session data with timestamps
- Vowel Space Analysis - Record and visualize vowels
- Audio Visualization - Waveforms, spectrograms, MFCCs
- Feature Extraction - MFCC, spectral features, ZCR
- Practice Mode - Interactive pronunciation training
See FEATURES.md for complete feature list.
- Frontend: HTML5, CSS3, JavaScript (Web Audio API)
- Backend: Python (Flask/FastAPI)
- Audio Processing: Praat-Python, librosa, scipy
- Visualization: D3.js, Chart.js
- Database: SQLite/PostgreSQL
- Deployment: Docker, GitHub Actions
audioforge/
├── frontend/
│ ├── index.html
│ ├── css/
│ ├── js/
│ └── assets/
├── backend/
│ ├── app.py
│ ├── formant_analysis/
│ ├── database/
│ └── utils/
├── data/
│ ├── reference_vowels/
│ └── language_configs/
├── tests/
├── docs/
├── docker/
├── requirements.txt
├── README.md
└── LICENSE
- Python 3.8+
- Node.js 14+
- Praat (for formant analysis)
# Clone the repository
git clone https://github.com/canayter/audioforge.git
cd audioforge
# Install dependencies
pip install -r requirements.txt
# Run the Streamlit web app
streamlit run streamlit_app.py
# Or use the provided scripts
# Windows:
run_app.bat
# Mac/Linux:
./run_app.shThe app will open in your browser at http://localhost:8501
The Streamlit app provides three modes:
-
Vowel Space Analysis
- Record vowels directly in your browser
- Extract formants (F1, F2, F3) automatically
- Visualize on an IPA-style vowel chart
- Compare with reference vowels
- Download your vowel space chart
-
Audio Visualization
- Record or upload audio files
- View waveforms, spectrograms, and MFCCs
- Apply audio processing (trim, normalize, filter)
-
Feature Extraction
- Extract MFCC, spectral features, and ZCR
- View feature statistics and visualizations
See STREAMLIT_GUIDE.md for detailed instructions.
For advanced users, run the Python modules directly:
from vowel_space_recorder import VowelRecorder, VowelSpaceVisualizer
recorder = VowelRecorder()
y = recorder.record_audio()
# ... extract formants and visualize- Second Language Acquisition: Compare L2 vowel production to native speakers
- Dialectal Studies: Analyze regional vowel variations
- Speech Therapy: Track vowel production improvements
- Cross-linguistic Research: Compare vowel systems across languages
This project draws on my background in computational linguistics and phonetics research, applying similar techniques used in my Master's thesis on Turkish vowel spaces to general audio analysis.
- All recordings are processed locally and deleted after analysis
- Only anonymized formant data and metadata are stored
- No personally identifiable information is collected
- Research data export follows ethical guidelines
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you use this tool in your research, please cite:
@software{audioforge,
title={AUDIOFORGE: An Interactive Formant Analysis Tool},
author={Can Ayter},
year={2025},
url={https://github.com/canayter/audioforge}
}- Based on established phonetic analysis methodologies
- Reference vowel data from published acoustic studies
- Inspired by Praat and other acoustic analysis tools