40 lines
998 B
C++
40 lines
998 B
C++
#pragma once
|
|
|
|
#include <QString>
|
|
|
|
struct AudioAnalysisReport {
|
|
bool ok = false;
|
|
QString error;
|
|
QString rawReport;
|
|
QString conclusion = "Unknown";
|
|
QString accuracy = "0%";
|
|
int confidence = 0;
|
|
double cutoffKhz = 0.0;
|
|
int sampleRate = 0;
|
|
int channels = 0;
|
|
int bitsPerSample = 0;
|
|
qint64 sampleFrames = 0;
|
|
double spectralFlatness = 0.0;
|
|
double highBandRatio = 0.0;
|
|
double veryHighBandRatio = 0.0;
|
|
double rolloffKhz = 0.0;
|
|
double loCutHz = 0.0;
|
|
double hiCutHz = 0.0;
|
|
double loBoundaryHz = 0.0;
|
|
double hiBoundaryHz = 0.0;
|
|
double probableBoundaryHz = 0.0;
|
|
double phaseNonlinearity = 0.0;
|
|
double firstOrderSmoothness = 0.0;
|
|
double secondOrderSmoothness = 0.0;
|
|
int analyzedWindows = 0;
|
|
int informativeWindows = 0;
|
|
int suspectWindows = 0;
|
|
int genuineWindows = 0;
|
|
double suspectRatio = 0.0;
|
|
};
|
|
|
|
class AudioAnalyzer final {
|
|
public:
|
|
AudioAnalysisReport analyzeFile(const QString &path) const;
|
|
};
|