ACRTool is a lightweight Windows Forms application designed to batch identify audio files using the ACRCloud Audio Fingerprinting API. Built on the .NET Framework 4.0, it allows users to queue multiple audio files, scan them against ACRCloud buckets, and view formatted JSON results.
- Batch Processing: Queue multiple audio files (
.mp3,.wav,.flac) for sequential identification. - Asynchronous Scanning: Processes files without freezing the user interface.
- Visual Feedback: Color-coded queue system to indicate processing status.
- JSON Syntax Highlighting: auto-formats and colorizes the JSON response from the API for better readability.
- Configuration Management: Easily configure API Host, Access Key, and Secret via a settings GUI.
- Persistent Settings: Saves credentials to a local
config.inifile. - Export Results: Save the identification results to
.jsonor.txtfiles.
- Operating System: Windows (XP, 7, 8, 10, 11)
- Runtime: .NET Framework 4.0 or higher.
- ACRCloud Account: You need a project created in the ACRCloud Console to obtain API credentials.
- Clone this repository or download the source code.
- Open the project using Visual Studio or SharpDevelop.
- Open
ACRTool.csproj. - Build the solution (Target:
x86orAnyCPU). - The executable will be located in
bin\Debug\orbin\Release\.
The project relies on standard .NET 4.0 libraries (System.Windows.Forms, System.Security.Cryptography, System.Net, etc.). No external NuGet packages are required.
Before scanning files, you must configure your ACRCloud credentials:
- Launch ACRTool.exe.
- Click the Configure button at the bottom right.
- Enter your ACRCloud details:
- Host: (e.g.,
identify-ap-southeast-1.acrcloud.com) - Access Key: Your project's access key.
- Access Secret: Your project's access secret.
- Host: (e.g.,
- Click Save.
Note: These settings are stored in a
config.inifile in the application directory. Do not share yourconfig.inifile publicly.
- Add Files: Click + Add To Queue to select audio files from your computer.
- Review Queue: The selected files will appear in the list on the left.
- Start Scan: Click the Start button to begin processing.
- View Results:
- Click on any file in the queue to view its specific identification result in the main text box.
- The JSON result is automatically beautified and syntax-highlighted.
- Save: Click Save result to export the current text view to a file.
- Clear: Use the Clear button to empty the current queue.
- MainForm.cs: The primary entry point and UI logic. Handles the file queue and displays results.
- AcrCloudIdentify.cs: The core logic wrapper for the ACRCloud API. Handles HTTP POST requests, HMAC-SHA1 signature generation, and file uploading.
- Configuration.cs: Form for managing API credentials.
- GlobalVariables.cs: Holds application-wide state and access to the INI helper.
- IniHelper.cs: A utility class using
kernel32.dllP/Invoke to read/write.iniconfiguration files. - JsonHelper.cs: Contains logic to beautify and format raw JSON strings.
- UserControl1.cs: The custom UI widget representing a single file in the queue.
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is a third-party client and is not officially affiliated with ACRCloud. ensure you comply with ACRCloud's Terms of Service regarding API usage limits and data handling.