diff --git a/flask-dev-api/.idea/.gitignore b/flask-dev-api/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/flask-dev-api/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/flask-dev-api/.idea/flask-dev-api.iml b/flask-dev-api/.idea/flask-dev-api.iml
new file mode 100644
index 0000000..e118c1d
--- /dev/null
+++ b/flask-dev-api/.idea/flask-dev-api.iml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/flask-dev-api/.idea/inspectionProfiles/Project_Default.xml b/flask-dev-api/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..0077c35
--- /dev/null
+++ b/flask-dev-api/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/flask-dev-api/.idea/inspectionProfiles/profiles_settings.xml b/flask-dev-api/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/flask-dev-api/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/flask-dev-api/.idea/misc.xml b/flask-dev-api/.idea/misc.xml
new file mode 100644
index 0000000..db8786c
--- /dev/null
+++ b/flask-dev-api/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/flask-dev-api/.idea/modules.xml b/flask-dev-api/.idea/modules.xml
new file mode 100644
index 0000000..5fc8ec9
--- /dev/null
+++ b/flask-dev-api/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/flask-dev-api/.idea/vcs.xml b/flask-dev-api/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/flask-dev-api/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/flask-dev-api/.idea/webResources.xml b/flask-dev-api/.idea/webResources.xml
new file mode 100644
index 0000000..a629b2c
--- /dev/null
+++ b/flask-dev-api/.idea/webResources.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/flask-dev-api/app.py b/flask-dev-api/app.py
index 76cdb3e..8d68b1c 100644
--- a/flask-dev-api/app.py
+++ b/flask-dev-api/app.py
@@ -15,7 +15,7 @@ from blueprints import pin_tu_bp, base64_bp, down_video_bp, fen_ci_bp, content_t
from utils.stats_db import init_db, record_call, get_total_count, get_avg_duration, get_daily_counts, get_monthly_counts, get_available_years, get_available_months, get_daily_counts_by_month, get_hourly_counts, get_endpoint_stats, get_today_count, get_yesterday_count, get_month_count, get_success_rate, get_duration_distribution, get_slowest_endpoints, get_week_compare, get_recent_calls, get_active_days
from utils.stats_db import ALLOWED_TABLES, get_table_info, get_table_rows, get_table_count, insert_row, update_row, delete_rows, clear_table
-TOOL_COUNT = 19
+TOOL_COUNT = 18
def create_app():
diff --git a/flask-dev-api/config/audio_slicer_config.json b/flask-dev-api/config/audio_slicer_config.json
index 07633b0..bd14e3a 100644
--- a/flask-dev-api/config/audio_slicer_config.json
+++ b/flask-dev-api/config/audio_slicer_config.json
@@ -1,7 +1,7 @@
{
"threshold": -41,
"min_length": 5000,
- "min_interval": 300,
+ "min_interval": 500,
"hop_size": 10,
"max_sil_kept": 1000
}
\ No newline at end of file
diff --git a/flask-dev-api/config/rvc_config.json b/flask-dev-api/config/rvc_config.json
index c19871c..a3f39c7 100644
--- a/flask-dev-api/config/rvc_config.json
+++ b/flask-dev-api/config/rvc_config.json
@@ -4,13 +4,13 @@
"model_dir_mode": "absolute",
"index_dir": "E:\\AI\\RVC\\rvc_con\\index",
"index_dir_mode": "absolute",
- "last_model": "",
- "last_index": "",
+ "last_model": "bubu-sing.pth",
+ "last_index": "E:\\AI\\RVC\\rvc_con\\index\\bubu-sing_v2.index",
"f0_up_key": 0,
"f0_method": "rmvpe",
- "index_rate": 0.75,
+ "index_rate": 1,
"filter_radius": 3,
- "resample_sr": 22050,
- "rms_mix_rate": 0.25,
- "protect": 0.33
+ "resample_sr": 32000,
+ "rms_mix_rate": 0.5,
+ "protect": 0.37
}
\ No newline at end of file
diff --git a/flask-dev-api/stats.db b/flask-dev-api/stats.db
index e936fc2..54262d3 100644
Binary files a/flask-dev-api/stats.db and b/flask-dev-api/stats.db differ
diff --git a/flask-dev-api/templates/audio_slicer.html b/flask-dev-api/templates/audio_slicer.html
index f0a247a..723c4be 100644
--- a/flask-dev-api/templates/audio_slicer.html
+++ b/flask-dev-api/templates/audio_slicer.html
@@ -280,6 +280,56 @@
position: absolute; top: 0; left: 0; width: 100%; height: 100%;
border-radius: 8px; pointer-events: none;
}
+ #segmentOverlay {
+ position: absolute; top: 0; left: 0; width: 100%; height: 100%;
+ border-radius: 8px; pointer-events: none; z-index: 1;
+ }
+ .seg-gray {
+ position: absolute; top: 0; height: 100%;
+ background: rgba(0,0,0,0.18); pointer-events: none;
+ }
+ #playCursor {
+ position: absolute; top: 0; height: 100%; width: 10px;
+ transform: translateX(-5px); z-index: 5;
+ pointer-events: auto; cursor: col-resize;
+ display: none;
+ }
+ #playCursor::after {
+ content: ''; position: absolute; left: 50%; top: 0; bottom: 0;
+ width: 2px; transform: translateX(-50%);
+ background: #e53935; box-shadow: 0 0 4px rgba(229,57,53,0.4);
+ pointer-events: none;
+ }
+ #cursorHandle {
+ position: absolute; left: 50%; top: -6px; transform: translateX(-50%);
+ width: 12px; height: 12px; border-radius: 50%;
+ background: #e53935; border: 2px solid #fff;
+ box-shadow: 0 1px 4px rgba(0,0,0,0.25);
+ pointer-events: none;
+ }
+ .player-controls {
+ display: flex; align-items: center; gap: 10px;
+ padding: 6px 12px; margin-top: 4px;
+ background: #fff; border: 1px solid #e0e0e0; border-radius: 8px;
+ font-size: 12px; color: #555;
+ }
+ .player-controls button {
+ width: 30px; height: 30px; border: none; border-radius: 50%;
+ background: #0078d4; color: #fff; cursor: pointer;
+ display: flex; align-items: center; justify-content: center;
+ font-size: 12px; transition: background 0.15s;
+ }
+ .player-controls button:hover { background: #005fa3; }
+ .player-controls .p-time { font-variant-numeric: tabular-nums; min-width: 36px; text-align: center; }
+ .player-controls input[type="range"] {
+ flex: 1; height: 4px; -webkit-appearance: none; appearance: none;
+ background: #e0e0e0; border-radius: 2px; outline: none; cursor: pointer;
+ }
+ .player-controls input[type="range"]::-webkit-slider-thumb {
+ -webkit-appearance: none; appearance: none;
+ width: 14px; height: 14px; border-radius: 50%;
+ background: #0078d4; cursor: pointer;
+ }
.cut-marker {
position: absolute; top: 0; width: 24px; height: 100%;
transform: translateX(-50%); z-index: 2; cursor: grab;
@@ -431,6 +481,12 @@
+
+
+ 0:00
+
+ 0:00
+