Hello,
I would like to share a proof-of-concept tool built around VirtualDJ that demonstrates advanced harmonic analysis and pitch correction features which could potentially be integrated directly into the software.
This script has been tested and works with VirtualDJ versions starting from BUILD 9295 (April 19, 2026), which introduced the updated library/database format.
---
This AppleScript + Python workflow allows the user to:
• Select a VirtualDJ database.xml file (on the drive where tracks and analysis data are stored)
• Batch process an entire folder of audio files
• Perform harmonic analysis (chord detection) on each track
• Detect fine pitch deviation from standard tuning (A=440 Hz)
• Automatically generate VirtualDJ POIs (Points of Interest)
---
At playback, the result is:
• Tracks are automatically pitch-corrected to 440 Hz
→ This allows them to be played alongside acoustic instruments (piano, synths, etc.) tuned to standard pitch
• Chord changes are injected as POIs directly into the VirtualDJ database
→ These appear on the timeline and can be used for harmonic mixing, live accompaniment, or visual reference
• A dedicated POI action applies pitch correction automatically on load
→ Using VirtualDJ scripting (example: pitch_zero & wait 10ms & pitch ±x.xx%)
---
This demonstrates that:
→ Harmonic analysis + pitch correction can be embedded at the database level
→ VirtualDJ already supports the necessary scripting infrastructure
→ It would be feasible to integrate this as an optional native feature (e.g. “Auto Tune to 440 Hz” or “Chord Analysis”)
---
Download (AppleScript):
MODERATOR Link removed because app writes to database - if you want to try it contact olivier in PMs
---
Requirements:
• macOS
• Script runs via the Apple Script Editor (built-in macOS utility)
• Python must be installed with required libraries (notably librosa and numpy)
• The Python binary path must be adjusted inside the script to match the user’s environment
---
The goal here is not to replace VirtualDJ’s internal analysis, but to demonstrate that:
→ Fine pitch detection + correction
→ Chord detection
→ Musical POI injection
can all coexist cleanly inside the current database structure.
This could open the door to new performance workflows, especially for musicians who want to play live instruments alongside DJ sets.
Feel free to test it or use it as a reference for potential future features.
Best regards,
Olivier F.
I would like to share a proof-of-concept tool built around VirtualDJ that demonstrates advanced harmonic analysis and pitch correction features which could potentially be integrated directly into the software.
This script has been tested and works with VirtualDJ versions starting from BUILD 9295 (April 19, 2026), which introduced the updated library/database format.
---
This AppleScript + Python workflow allows the user to:
• Select a VirtualDJ database.xml file (on the drive where tracks and analysis data are stored)
• Batch process an entire folder of audio files
• Perform harmonic analysis (chord detection) on each track
• Detect fine pitch deviation from standard tuning (A=440 Hz)
• Automatically generate VirtualDJ POIs (Points of Interest)
---
At playback, the result is:
• Tracks are automatically pitch-corrected to 440 Hz
→ This allows them to be played alongside acoustic instruments (piano, synths, etc.) tuned to standard pitch
• Chord changes are injected as POIs directly into the VirtualDJ database
→ These appear on the timeline and can be used for harmonic mixing, live accompaniment, or visual reference
• A dedicated POI action applies pitch correction automatically on load
→ Using VirtualDJ scripting (example: pitch_zero & wait 10ms & pitch ±x.xx%)
---
This demonstrates that:
→ Harmonic analysis + pitch correction can be embedded at the database level
→ VirtualDJ already supports the necessary scripting infrastructure
→ It would be feasible to integrate this as an optional native feature (e.g. “Auto Tune to 440 Hz” or “Chord Analysis”)
---
Download (AppleScript):
MODERATOR Link removed because app writes to database - if you want to try it contact olivier in PMs
---
Requirements:
• macOS
• Script runs via the Apple Script Editor (built-in macOS utility)
• Python must be installed with required libraries (notably librosa and numpy)
• The Python binary path must be adjusted inside the script to match the user’s environment
---
The goal here is not to replace VirtualDJ’s internal analysis, but to demonstrate that:
→ Fine pitch detection + correction
→ Chord detection
→ Musical POI injection
can all coexist cleanly inside the current database structure.
This could open the door to new performance workflows, especially for musicians who want to play live instruments alongside DJ sets.
Feel free to test it or use it as a reference for potential future features.
Best regards,
Olivier F.
geposted 7 hours ago
Please note that for the script to correctly analyze chords and write them into the VirtualDJ database.xml, the selected tracks or folders must already be analyzed by VirtualDJ and exist in the database file.
V7.2 – Improved Version
This version allows you to either analyze an entire folder in batch, analyze a single file, or analyze a group of files filtered by a keyword.
The script will first ask you to select the location of the VirtualDJ database.xml file (make sure to choose the correct one — typically the one on the SSD where your audio files are stored, especially if you use multiple drives within the VIRTUALDJ folder).
Then, you can choose what to analyze, and the script will write the detected chords directly into the VirtualDJ database.
⚠️ Important: The tracks must already have been analyzed by VirtualDJ and be present in the database.xml.
If you encounter error messages, it usually means that some required Python libraries are missing, or that the Python path has not been correctly set in the script.
You must update this line at the beginning of the script according to your system:
property pythonBin : "/Users/your_username/.venvs/.../bin/python"
Applescript (only on MAC)
MODERATOR Link removed because app writes to database - if you want to try it contact olivier in PMs
V7.2 – Improved Version
This version allows you to either analyze an entire folder in batch, analyze a single file, or analyze a group of files filtered by a keyword.
The script will first ask you to select the location of the VirtualDJ database.xml file (make sure to choose the correct one — typically the one on the SSD where your audio files are stored, especially if you use multiple drives within the VIRTUALDJ folder).
Then, you can choose what to analyze, and the script will write the detected chords directly into the VirtualDJ database.
⚠️ Important: The tracks must already have been analyzed by VirtualDJ and be present in the database.xml.
If you encounter error messages, it usually means that some required Python libraries are missing, or that the Python path has not been correctly set in the script.
You must update this line at the beginning of the script according to your system:
property pythonBin : "/Users/your_username/.venvs/.../bin/python"
Applescript (only on MAC)
MODERATOR Link removed because app writes to database - if you want to try it contact olivier in PMs
geposted 5 hours ago





