liveflowai 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- liveflowai-0.1.0/PKG-INFO +253 -0
- liveflowai-0.1.0/README.md +225 -0
- liveflowai-0.1.0/pyproject.toml +42 -0
- liveflowai-0.1.0/pyproject.toml.orig +38 -0
- liveflowai-0.1.0/src/liveflowai/__init__.py +0 -0
- liveflowai-0.1.0/src/liveflowai/__main__.py +5 -0
- liveflowai-0.1.0/src/liveflowai/audio/__init__.py +0 -0
- liveflowai-0.1.0/src/liveflowai/audio/audio_file_selector.py +153 -0
- liveflowai-0.1.0/src/liveflowai/audio/chord_analyzer.py +1342 -0
- liveflowai-0.1.0/src/liveflowai/audio/tempo_analyzer.py +248 -0
- liveflowai-0.1.0/src/liveflowai/database/__init__.py +0 -0
- liveflowai-0.1.0/src/liveflowai/database/database.py +403 -0
- liveflowai-0.1.0/src/liveflowai/detection/__init__.py +0 -0
- liveflowai-0.1.0/src/liveflowai/detection/chord_detector.py +1146 -0
- liveflowai-0.1.0/src/liveflowai/detection/song_predictor.py +753 -0
- liveflowai-0.1.0/src/liveflowai/main.py +494 -0
- liveflowai-0.1.0/src/liveflowai/output/__init__.py +0 -0
- liveflowai-0.1.0/src/liveflowai/output/iem_manager.py +1284 -0
- liveflowai-0.1.0/src/liveflowai/transition/__init__.py +1 -0
- liveflowai-0.1.0/src/liveflowai/transition/engine.py +5 -0
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: liveflowai
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: A Python-based audio analysis toolkit for real-time tempo and chord detection from music files and live microphone input.
|
|
5
|
+
Author: Hioe Gregorius Owen, Petrus Aria Prakoso Widarto
|
|
6
|
+
Author-email: Hioe Gregorius Owen <bloggerzz231@gmail.com>, Petrus Aria Prakoso Widarto <ariaprakoso@proton.me>
|
|
7
|
+
Requires-Dist: librosa>=0.10.0
|
|
8
|
+
Requires-Dist: numpy<2.0
|
|
9
|
+
Requires-Dist: scipy>=1.13.0
|
|
10
|
+
Requires-Dist: scikit-learn>=1.4.0
|
|
11
|
+
Requires-Dist: harmonyscope>=1.0.0
|
|
12
|
+
Requires-Dist: soundfile>=0.12.0
|
|
13
|
+
Requires-Dist: audioread>=3.0.0
|
|
14
|
+
Requires-Dist: resampy>=0.4.0
|
|
15
|
+
Requires-Dist: cython>=0.25
|
|
16
|
+
Requires-Dist: mido>=1.2.6
|
|
17
|
+
Requires-Dist: basic-pitch>=0.4.0
|
|
18
|
+
Requires-Dist: matplotlib>=3.10.9
|
|
19
|
+
Requires-Dist: ffmpeg-python>=0.2.0
|
|
20
|
+
Requires-Dist: pathlib>=1.0.1
|
|
21
|
+
Requires-Dist: typing>=3.10.0.0
|
|
22
|
+
Requires-Dist: pyaudio>=0.2.14
|
|
23
|
+
Requires-Dist: pytest>=9.1.1
|
|
24
|
+
Requires-Dist: sounddevice>=0.5.5
|
|
25
|
+
Requires-Dist: pyttsx3>=2.99
|
|
26
|
+
Requires-Python: >=3.10
|
|
27
|
+
Description-Content-Type: text/markdown
|
|
28
|
+
|
|
29
|
+
# LiveFlowAI
|
|
30
|
+
|
|
31
|
+
A Python-based audio analysis toolkit for real-time tempo and chord detection from music files and live microphone input. Designed for music production, live performance analysis, and audio research.
|
|
32
|
+
|
|
33
|
+
## Features
|
|
34
|
+
|
|
35
|
+
- **Tempo Detection**: Accurately detect BPM and beat tracking for audio files
|
|
36
|
+
- **Chord Analysis**: Automatic chord recognition and harmonic content analysis
|
|
37
|
+
- **Real-time Live Detection**: Process live microphone input for immediate chord detection
|
|
38
|
+
- **Database Storage**: Persist analysis results in SQLite with easy querying
|
|
39
|
+
- **Visualization**: Visual representations of tempo and beat patterns
|
|
40
|
+
- **IEM Integration**: Announce song information for in-ear monitor systems
|
|
41
|
+
- **Multi-file Processing**: Batch analyze multiple audio files
|
|
42
|
+
- **Confidence Metrics**: Get confidence scores for all detections
|
|
43
|
+
|
|
44
|
+
## Quick Start
|
|
45
|
+
|
|
46
|
+
### Prerequisites
|
|
47
|
+
|
|
48
|
+
- Python 3.10 or higher
|
|
49
|
+
- `uv` package manager (or pip as alternative)
|
|
50
|
+
- FFmpeg (for audio format support)
|
|
51
|
+
|
|
52
|
+
### Installation
|
|
53
|
+
|
|
54
|
+
1. **Clone the repository**
|
|
55
|
+
```bash
|
|
56
|
+
git clone https://github.com/yourusername/liveflowai.git
|
|
57
|
+
cd liveflowai
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
2. **Set up Python environment**
|
|
61
|
+
```bash
|
|
62
|
+
# Using uv (recommended)
|
|
63
|
+
uv venv
|
|
64
|
+
source venv/bin/activate # On Windows: venv\Scripts\activate
|
|
65
|
+
uv sync
|
|
66
|
+
|
|
67
|
+
# Or using pip
|
|
68
|
+
python -m venv venv
|
|
69
|
+
source venv/bin/activate
|
|
70
|
+
pip install -e .
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Basic Usage
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Run the interactive analysis tool
|
|
77
|
+
python -m liveflowai
|
|
78
|
+
|
|
79
|
+
# Or using the installed command
|
|
80
|
+
liveflowai
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
The tool presents an interactive menu with options to:
|
|
84
|
+
- Analyze audio files from your system
|
|
85
|
+
- View all analyzed songs and their data
|
|
86
|
+
- Store results in the local database
|
|
87
|
+
- Visualize tempo patterns
|
|
88
|
+
|
|
89
|
+
### Example Workflow
|
|
90
|
+
|
|
91
|
+
```python
|
|
92
|
+
from liveflowai.audio.tempo_analyzer import TempoAnalyzer
|
|
93
|
+
from liveflowai.audio.chord_analyzer import ChordAnalyzer
|
|
94
|
+
from liveflowai.database.database import DatabaseLogic
|
|
95
|
+
|
|
96
|
+
# Initialize analyzers
|
|
97
|
+
tempo_analyzer = TempoAnalyzer()
|
|
98
|
+
chord_analyzer = ChordAnalyzer()
|
|
99
|
+
db = DatabaseLogic()
|
|
100
|
+
|
|
101
|
+
# Analyze an audio file
|
|
102
|
+
audio_file = "path/to/song.mp3"
|
|
103
|
+
|
|
104
|
+
# Detect tempo and beats
|
|
105
|
+
tempo_data = tempo_analyzer.detect_tempo(audio_file)
|
|
106
|
+
print(f"BPM: {tempo_data['tempo_bpm']}")
|
|
107
|
+
|
|
108
|
+
# Analyze chords
|
|
109
|
+
chords = chord_analyzer.analyze_chords(audio_file)
|
|
110
|
+
for chord in chords:
|
|
111
|
+
print(f"{chord.timestamp:.2f}s: {chord}")
|
|
112
|
+
|
|
113
|
+
# Store results
|
|
114
|
+
db.MakeDB()
|
|
115
|
+
db.PushDB(
|
|
116
|
+
filename="song.mp3",
|
|
117
|
+
duration=tempo_data['duration'],
|
|
118
|
+
bpm=tempo_data['tempo_bpm'],
|
|
119
|
+
chords=", ".join(str(c) for c in chords)
|
|
120
|
+
)
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Project Structure
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
liveflowai/
|
|
127
|
+
├── src/liveflowai/
|
|
128
|
+
│ ├── audio/ # Audio processing modules
|
|
129
|
+
│ │ ├── tempo_analyzer.py # BPM and beat detection
|
|
130
|
+
│ │ ├── chord_analyzer.py # Chord recognition
|
|
131
|
+
│ │ └── audio_file_selector.py # File selection UI
|
|
132
|
+
│ ├── detection/ # Real-time detection modules
|
|
133
|
+
│ │ ├── chord_detector.py # Live chord detection
|
|
134
|
+
│ │ └── song_predictor.py # Song/music prediction
|
|
135
|
+
│ ├── database/ # Data persistence
|
|
136
|
+
│ │ └── database.py # SQLite database operations
|
|
137
|
+
│ ├── output/ # Output handling
|
|
138
|
+
│ │ └── iem_manager.py # IEM announcements
|
|
139
|
+
│ ├── transition/ # Audio transition analysis
|
|
140
|
+
│ └── main.py # CLI entry point
|
|
141
|
+
├── config/ # Configuration files
|
|
142
|
+
├── data/ # Data storage (databases, audio files)
|
|
143
|
+
├── tests/ # Unit tests
|
|
144
|
+
└── pyproject.toml # Project metadata and dependencies
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Core Modules
|
|
148
|
+
|
|
149
|
+
### Audio Analysis
|
|
150
|
+
- **TempoAnalyzer**: Detects BPM, beat tracking, and generates tempo visualizations using librosa
|
|
151
|
+
- **ChordAnalyzer**: Identifies chord progressions and harmonic content with confidence metrics
|
|
152
|
+
|
|
153
|
+
### Real-time Detection
|
|
154
|
+
- **LiveChordDetector**: Process microphone input for real-time chord detection with temporal smoothing
|
|
155
|
+
- **SongPredictor**: Identify or predict songs based on audio characteristics
|
|
156
|
+
|
|
157
|
+
### Data Management
|
|
158
|
+
- **DatabaseLogic**: SQLite database for storing analysis results with query methods
|
|
159
|
+
- **AudioFileSelector**: Interactive file selection interface for batch processing
|
|
160
|
+
|
|
161
|
+
## Dependencies
|
|
162
|
+
|
|
163
|
+
Core dependencies include:
|
|
164
|
+
- `librosa` - Audio analysis and processing
|
|
165
|
+
- `numpy`, `scipy` - Numerical computations
|
|
166
|
+
- `scikit-learn` - Machine learning utilities
|
|
167
|
+
- `basic-pitch` - Pitch detection
|
|
168
|
+
- `sounddevice` - Real-time audio I/O
|
|
169
|
+
- `mido` - MIDI file support
|
|
170
|
+
- `matplotlib` - Visualization
|
|
171
|
+
|
|
172
|
+
See [pyproject.toml](pyproject.toml) for the complete list and versions.
|
|
173
|
+
|
|
174
|
+
## Configuration
|
|
175
|
+
|
|
176
|
+
Configuration can be customized in `config/config.yaml`. Currently minimal configuration is required, but this can be expanded for:
|
|
177
|
+
- Sample rate settings
|
|
178
|
+
- Analysis window sizes
|
|
179
|
+
- Confidence thresholds
|
|
180
|
+
- Output paths
|
|
181
|
+
|
|
182
|
+
## Development
|
|
183
|
+
|
|
184
|
+
### Running Tests
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
pytest tests/
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Project Structure Notes
|
|
191
|
+
|
|
192
|
+
- The database is stored in `data/liveflow.db`
|
|
193
|
+
- Put song files specifically in `data/songs/` before running the analysis tool
|
|
194
|
+
- Visualizations are generated in the output directory
|
|
195
|
+
- The project uses `uv_build` as the build backend
|
|
196
|
+
|
|
197
|
+
## Troubleshooting
|
|
198
|
+
|
|
199
|
+
### Audio File Not Found
|
|
200
|
+
Ensure the audio file path is correct and the file format is supported (MP3, WAV, FLAC, etc.)
|
|
201
|
+
|
|
202
|
+
### No Chords Detected
|
|
203
|
+
- Verify the audio has clear harmonic content
|
|
204
|
+
- Try different chord detection confidence thresholds
|
|
205
|
+
- Check that audio sample rate is appropriate (22050 Hz default)
|
|
206
|
+
|
|
207
|
+
### Real-time Detection Issues
|
|
208
|
+
- Ensure microphone is properly connected and enabled
|
|
209
|
+
- Check system audio input settings
|
|
210
|
+
- Verify PyAudio/PortAudio installation
|
|
211
|
+
|
|
212
|
+
## Support & Documentation
|
|
213
|
+
|
|
214
|
+
- **Issues & Bugs**: Report via GitHub Issues
|
|
215
|
+
- **Discussions**: Ask questions in GitHub Discussions
|
|
216
|
+
|
|
217
|
+
## Authors & Maintainers
|
|
218
|
+
|
|
219
|
+
- **Hioe Gregorius Owen** - [bloggerzz231@gmail.com](mailto:bloggerzz231@gmail.com)
|
|
220
|
+
- **Petrus Aria Prakoso Widarto** - [ariaprakoso@proton.me](mailto:ariaprakoso@proton.me)
|
|
221
|
+
|
|
222
|
+
## License
|
|
223
|
+
|
|
224
|
+
This project is licensed under the MIT License. See [LICENSE.txt](LICENSE.txt) for details.
|
|
225
|
+
|
|
226
|
+
Copyright © 2026 bloggerzz231-jpg & Arialize
|
|
227
|
+
|
|
228
|
+
## Acknowledgments
|
|
229
|
+
|
|
230
|
+
Built with:
|
|
231
|
+
- [Librosa](https://librosa.org/) - Audio analysis
|
|
232
|
+
- [Basic Pitch](https://github.com/spotify/basic-pitch) - Pitch detection
|
|
233
|
+
- [HarmonyScope](https://github.com/harmonic-analysis/harmonioscope) - Harmonic analysis
|
|
234
|
+
- [Sonic Visualizer](https://www.sonicvisualiser.org/) - Visualization reference
|
|
235
|
+
|
|
236
|
+
## Citation
|
|
237
|
+
|
|
238
|
+
If you use LiveFlowAI in your research, please cite:
|
|
239
|
+
|
|
240
|
+
```bibtex
|
|
241
|
+
@software{liveflowai2025,
|
|
242
|
+
title={LiveFlowAI: Real-time Audio Analysis Toolkit},
|
|
243
|
+
author={Hioe Gregorius Owen and Petrus Aria Prakoso Widarto},
|
|
244
|
+
year={2026},
|
|
245
|
+
url={https://github.com/LurckeA/liveflowai}
|
|
246
|
+
}
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
**Status**: Research Project - Active Development
|
|
252
|
+
|
|
253
|
+
For questions or issues, please open a GitHub issue or contact the maintainers.
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
# LiveFlowAI
|
|
2
|
+
|
|
3
|
+
A Python-based audio analysis toolkit for real-time tempo and chord detection from music files and live microphone input. Designed for music production, live performance analysis, and audio research.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Tempo Detection**: Accurately detect BPM and beat tracking for audio files
|
|
8
|
+
- **Chord Analysis**: Automatic chord recognition and harmonic content analysis
|
|
9
|
+
- **Real-time Live Detection**: Process live microphone input for immediate chord detection
|
|
10
|
+
- **Database Storage**: Persist analysis results in SQLite with easy querying
|
|
11
|
+
- **Visualization**: Visual representations of tempo and beat patterns
|
|
12
|
+
- **IEM Integration**: Announce song information for in-ear monitor systems
|
|
13
|
+
- **Multi-file Processing**: Batch analyze multiple audio files
|
|
14
|
+
- **Confidence Metrics**: Get confidence scores for all detections
|
|
15
|
+
|
|
16
|
+
## Quick Start
|
|
17
|
+
|
|
18
|
+
### Prerequisites
|
|
19
|
+
|
|
20
|
+
- Python 3.10 or higher
|
|
21
|
+
- `uv` package manager (or pip as alternative)
|
|
22
|
+
- FFmpeg (for audio format support)
|
|
23
|
+
|
|
24
|
+
### Installation
|
|
25
|
+
|
|
26
|
+
1. **Clone the repository**
|
|
27
|
+
```bash
|
|
28
|
+
git clone https://github.com/yourusername/liveflowai.git
|
|
29
|
+
cd liveflowai
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
2. **Set up Python environment**
|
|
33
|
+
```bash
|
|
34
|
+
# Using uv (recommended)
|
|
35
|
+
uv venv
|
|
36
|
+
source venv/bin/activate # On Windows: venv\Scripts\activate
|
|
37
|
+
uv sync
|
|
38
|
+
|
|
39
|
+
# Or using pip
|
|
40
|
+
python -m venv venv
|
|
41
|
+
source venv/bin/activate
|
|
42
|
+
pip install -e .
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Basic Usage
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Run the interactive analysis tool
|
|
49
|
+
python -m liveflowai
|
|
50
|
+
|
|
51
|
+
# Or using the installed command
|
|
52
|
+
liveflowai
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
The tool presents an interactive menu with options to:
|
|
56
|
+
- Analyze audio files from your system
|
|
57
|
+
- View all analyzed songs and their data
|
|
58
|
+
- Store results in the local database
|
|
59
|
+
- Visualize tempo patterns
|
|
60
|
+
|
|
61
|
+
### Example Workflow
|
|
62
|
+
|
|
63
|
+
```python
|
|
64
|
+
from liveflowai.audio.tempo_analyzer import TempoAnalyzer
|
|
65
|
+
from liveflowai.audio.chord_analyzer import ChordAnalyzer
|
|
66
|
+
from liveflowai.database.database import DatabaseLogic
|
|
67
|
+
|
|
68
|
+
# Initialize analyzers
|
|
69
|
+
tempo_analyzer = TempoAnalyzer()
|
|
70
|
+
chord_analyzer = ChordAnalyzer()
|
|
71
|
+
db = DatabaseLogic()
|
|
72
|
+
|
|
73
|
+
# Analyze an audio file
|
|
74
|
+
audio_file = "path/to/song.mp3"
|
|
75
|
+
|
|
76
|
+
# Detect tempo and beats
|
|
77
|
+
tempo_data = tempo_analyzer.detect_tempo(audio_file)
|
|
78
|
+
print(f"BPM: {tempo_data['tempo_bpm']}")
|
|
79
|
+
|
|
80
|
+
# Analyze chords
|
|
81
|
+
chords = chord_analyzer.analyze_chords(audio_file)
|
|
82
|
+
for chord in chords:
|
|
83
|
+
print(f"{chord.timestamp:.2f}s: {chord}")
|
|
84
|
+
|
|
85
|
+
# Store results
|
|
86
|
+
db.MakeDB()
|
|
87
|
+
db.PushDB(
|
|
88
|
+
filename="song.mp3",
|
|
89
|
+
duration=tempo_data['duration'],
|
|
90
|
+
bpm=tempo_data['tempo_bpm'],
|
|
91
|
+
chords=", ".join(str(c) for c in chords)
|
|
92
|
+
)
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Project Structure
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
liveflowai/
|
|
99
|
+
├── src/liveflowai/
|
|
100
|
+
│ ├── audio/ # Audio processing modules
|
|
101
|
+
│ │ ├── tempo_analyzer.py # BPM and beat detection
|
|
102
|
+
│ │ ├── chord_analyzer.py # Chord recognition
|
|
103
|
+
│ │ └── audio_file_selector.py # File selection UI
|
|
104
|
+
│ ├── detection/ # Real-time detection modules
|
|
105
|
+
│ │ ├── chord_detector.py # Live chord detection
|
|
106
|
+
│ │ └── song_predictor.py # Song/music prediction
|
|
107
|
+
│ ├── database/ # Data persistence
|
|
108
|
+
│ │ └── database.py # SQLite database operations
|
|
109
|
+
│ ├── output/ # Output handling
|
|
110
|
+
│ │ └── iem_manager.py # IEM announcements
|
|
111
|
+
│ ├── transition/ # Audio transition analysis
|
|
112
|
+
│ └── main.py # CLI entry point
|
|
113
|
+
├── config/ # Configuration files
|
|
114
|
+
├── data/ # Data storage (databases, audio files)
|
|
115
|
+
├── tests/ # Unit tests
|
|
116
|
+
└── pyproject.toml # Project metadata and dependencies
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Core Modules
|
|
120
|
+
|
|
121
|
+
### Audio Analysis
|
|
122
|
+
- **TempoAnalyzer**: Detects BPM, beat tracking, and generates tempo visualizations using librosa
|
|
123
|
+
- **ChordAnalyzer**: Identifies chord progressions and harmonic content with confidence metrics
|
|
124
|
+
|
|
125
|
+
### Real-time Detection
|
|
126
|
+
- **LiveChordDetector**: Process microphone input for real-time chord detection with temporal smoothing
|
|
127
|
+
- **SongPredictor**: Identify or predict songs based on audio characteristics
|
|
128
|
+
|
|
129
|
+
### Data Management
|
|
130
|
+
- **DatabaseLogic**: SQLite database for storing analysis results with query methods
|
|
131
|
+
- **AudioFileSelector**: Interactive file selection interface for batch processing
|
|
132
|
+
|
|
133
|
+
## Dependencies
|
|
134
|
+
|
|
135
|
+
Core dependencies include:
|
|
136
|
+
- `librosa` - Audio analysis and processing
|
|
137
|
+
- `numpy`, `scipy` - Numerical computations
|
|
138
|
+
- `scikit-learn` - Machine learning utilities
|
|
139
|
+
- `basic-pitch` - Pitch detection
|
|
140
|
+
- `sounddevice` - Real-time audio I/O
|
|
141
|
+
- `mido` - MIDI file support
|
|
142
|
+
- `matplotlib` - Visualization
|
|
143
|
+
|
|
144
|
+
See [pyproject.toml](pyproject.toml) for the complete list and versions.
|
|
145
|
+
|
|
146
|
+
## Configuration
|
|
147
|
+
|
|
148
|
+
Configuration can be customized in `config/config.yaml`. Currently minimal configuration is required, but this can be expanded for:
|
|
149
|
+
- Sample rate settings
|
|
150
|
+
- Analysis window sizes
|
|
151
|
+
- Confidence thresholds
|
|
152
|
+
- Output paths
|
|
153
|
+
|
|
154
|
+
## Development
|
|
155
|
+
|
|
156
|
+
### Running Tests
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
pytest tests/
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Project Structure Notes
|
|
163
|
+
|
|
164
|
+
- The database is stored in `data/liveflow.db`
|
|
165
|
+
- Put song files specifically in `data/songs/` before running the analysis tool
|
|
166
|
+
- Visualizations are generated in the output directory
|
|
167
|
+
- The project uses `uv_build` as the build backend
|
|
168
|
+
|
|
169
|
+
## Troubleshooting
|
|
170
|
+
|
|
171
|
+
### Audio File Not Found
|
|
172
|
+
Ensure the audio file path is correct and the file format is supported (MP3, WAV, FLAC, etc.)
|
|
173
|
+
|
|
174
|
+
### No Chords Detected
|
|
175
|
+
- Verify the audio has clear harmonic content
|
|
176
|
+
- Try different chord detection confidence thresholds
|
|
177
|
+
- Check that audio sample rate is appropriate (22050 Hz default)
|
|
178
|
+
|
|
179
|
+
### Real-time Detection Issues
|
|
180
|
+
- Ensure microphone is properly connected and enabled
|
|
181
|
+
- Check system audio input settings
|
|
182
|
+
- Verify PyAudio/PortAudio installation
|
|
183
|
+
|
|
184
|
+
## Support & Documentation
|
|
185
|
+
|
|
186
|
+
- **Issues & Bugs**: Report via GitHub Issues
|
|
187
|
+
- **Discussions**: Ask questions in GitHub Discussions
|
|
188
|
+
|
|
189
|
+
## Authors & Maintainers
|
|
190
|
+
|
|
191
|
+
- **Hioe Gregorius Owen** - [bloggerzz231@gmail.com](mailto:bloggerzz231@gmail.com)
|
|
192
|
+
- **Petrus Aria Prakoso Widarto** - [ariaprakoso@proton.me](mailto:ariaprakoso@proton.me)
|
|
193
|
+
|
|
194
|
+
## License
|
|
195
|
+
|
|
196
|
+
This project is licensed under the MIT License. See [LICENSE.txt](LICENSE.txt) for details.
|
|
197
|
+
|
|
198
|
+
Copyright © 2026 bloggerzz231-jpg & Arialize
|
|
199
|
+
|
|
200
|
+
## Acknowledgments
|
|
201
|
+
|
|
202
|
+
Built with:
|
|
203
|
+
- [Librosa](https://librosa.org/) - Audio analysis
|
|
204
|
+
- [Basic Pitch](https://github.com/spotify/basic-pitch) - Pitch detection
|
|
205
|
+
- [HarmonyScope](https://github.com/harmonic-analysis/harmonioscope) - Harmonic analysis
|
|
206
|
+
- [Sonic Visualizer](https://www.sonicvisualiser.org/) - Visualization reference
|
|
207
|
+
|
|
208
|
+
## Citation
|
|
209
|
+
|
|
210
|
+
If you use LiveFlowAI in your research, please cite:
|
|
211
|
+
|
|
212
|
+
```bibtex
|
|
213
|
+
@software{liveflowai2025,
|
|
214
|
+
title={LiveFlowAI: Real-time Audio Analysis Toolkit},
|
|
215
|
+
author={Hioe Gregorius Owen and Petrus Aria Prakoso Widarto},
|
|
216
|
+
year={2026},
|
|
217
|
+
url={https://github.com/LurckeA/liveflowai}
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
**Status**: Research Project - Active Development
|
|
224
|
+
|
|
225
|
+
For questions or issues, please open a GitHub issue or contact the maintainers.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "liveflowai"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
description = "A Python-based audio analysis toolkit for real-time tempo and chord detection from music files and live microphone input."
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
requires-python = ">=3.10"
|
|
7
|
+
dependencies = [
|
|
8
|
+
"librosa>=0.10.0",
|
|
9
|
+
"numpy<2.0",
|
|
10
|
+
"scipy>=1.13.0",
|
|
11
|
+
"scikit-learn>=1.4.0",
|
|
12
|
+
"harmonyscope>=1.0.0",
|
|
13
|
+
"soundfile>=0.12.0",
|
|
14
|
+
"audioread>=3.0.0",
|
|
15
|
+
"resampy>=0.4.0",
|
|
16
|
+
"cython>=0.25",
|
|
17
|
+
"mido>=1.2.6",
|
|
18
|
+
"basic-pitch>=0.4.0",
|
|
19
|
+
"matplotlib>=3.10.9",
|
|
20
|
+
"ffmpeg-python>=0.2.0",
|
|
21
|
+
"pathlib>=1.0.1",
|
|
22
|
+
"typing>=3.10.0.0",
|
|
23
|
+
"pyaudio>=0.2.14",
|
|
24
|
+
"pytest>=9.1.1",
|
|
25
|
+
"sounddevice>=0.5.5",
|
|
26
|
+
"pyttsx3>=2.99",
|
|
27
|
+
]
|
|
28
|
+
|
|
29
|
+
[[project.authors]]
|
|
30
|
+
name = "Hioe Gregorius Owen"
|
|
31
|
+
email = "bloggerzz231@gmail.com"
|
|
32
|
+
|
|
33
|
+
[[project.authors]]
|
|
34
|
+
name = "Petrus Aria Prakoso Widarto"
|
|
35
|
+
email = "ariaprakoso@proton.me"
|
|
36
|
+
|
|
37
|
+
[project.scripts]
|
|
38
|
+
liveflowai = "liveflowai.main:main"
|
|
39
|
+
|
|
40
|
+
[build-system]
|
|
41
|
+
requires = ["uv_build>=0.12.3,<0.13.0"]
|
|
42
|
+
build-backend = "uv_build"
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "liveflowai"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
description = "A Python-based audio analysis toolkit for real-time tempo and chord detection from music files and live microphone input."
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
authors = [
|
|
7
|
+
{ name = "Hioe Gregorius Owen", email = "bloggerzz231@gmail.com" },
|
|
8
|
+
{ name = "Petrus Aria Prakoso Widarto", email = "ariaprakoso@proton.me" }
|
|
9
|
+
]
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
dependencies = [
|
|
12
|
+
"librosa>=0.10.0",
|
|
13
|
+
"numpy<2.0",
|
|
14
|
+
"scipy>=1.13.0",
|
|
15
|
+
"scikit-learn>=1.4.0",
|
|
16
|
+
"harmonyscope>=1.0.0",
|
|
17
|
+
"soundfile>=0.12.0",
|
|
18
|
+
"audioread>=3.0.0",
|
|
19
|
+
"resampy>=0.4.0",
|
|
20
|
+
"cython>=0.25",
|
|
21
|
+
"mido>=1.2.6",
|
|
22
|
+
"basic-pitch>=0.4.0",
|
|
23
|
+
"matplotlib>=3.10.9",
|
|
24
|
+
"ffmpeg-python>=0.2.0",
|
|
25
|
+
"pathlib>=1.0.1",
|
|
26
|
+
"typing>=3.10.0.0",
|
|
27
|
+
"pyaudio>=0.2.14",
|
|
28
|
+
"pytest>=9.1.1",
|
|
29
|
+
"sounddevice>=0.5.5",
|
|
30
|
+
"pyttsx3>=2.99",
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
[project.scripts]
|
|
34
|
+
liveflowai = "liveflowai.main:main"
|
|
35
|
+
|
|
36
|
+
[build-system]
|
|
37
|
+
requires = ["uv_build>=0.12.3,<0.13.0"]
|
|
38
|
+
build-backend = "uv_build"
|
|
File without changes
|
|
File without changes
|