Step 6 – Query the MICO – RDF annotations (~10 minutes) Step 6 – Give up ( and hide from your boss 😛 )
NOTE: Deleted text means that we did it during the first integration attempt with the old platform versions, due to the limitations of the previous API. Don’t try this at home!
In the previous blogs, we reported all the steps necessary for integrating our components into the MICO platform:
- MICO Extractor design
- MICO Workflow creation
- Extension of the MICO Metadata model
- Implementation of the MICO/AudioTrust+ C++ extractors
- Implementation of the MICO/AudioTrust+ Java annotation helper
A last question, however, still remained open: “How to query the results?”
There are several ways for doing it, among which the Anno4J Java library developed by one of the MICO partners. As a Proof of Concept, we however relied only on the SPARQL query interface of Apache Marmotta, which is always available in every distribution of the MICO platform:
By replacing the element “<item-id>” with an item URI, we could retrieve all the results for a single item, e.g.:
SourceDetector | InconsistentFeature | Timestamp |
---|---|---|
StableToneAnalysis | Phase | #t=npt: 00:00:02.99 , 00:00:02.99 |
InverseDecoding | FrameOffset | #t=npt: 00:00:03.40 , 00:00:03.40 |
StableToneAnalysis | Frequency | #t=npt: 00:00:05.31 , 00:00:05.31 |
InverseDecoding | FrameOffset | #t=npt: 00:00:05.40 , 00:00:05.40 |
InverseDecoding | FrameOffset | #t=npt: 00:00:11.00 , 00:00:11.00 |
InverseDecoding | FrameOffset | #t=npt: 00:00:11.80 , 00:00:11.80 |
StableToneAnalysis | Frequency | #t=npt: 00:00:13.28 , 00:00:13.28 |
InverseDecoding | FrameOffset | #t=npt: 00:00:15.20 , 00:00:15.20 |
StableToneAnalysis | Phase | #t=npt: 00:00:15.27 , 00:00:15.27 |
InverseDecoding | FrameOffset | #t=npt: 00:00:17.40 , 00:00:17.40 |
MicrophoneDiscrimination | CorrelationCoefficient | #t=npt: 00:00:18.75 , 00:00:18.75 |
InverseDecoding | FrameOffset | #t=npt: 00:00:18.80 , 00:00:18.80 |
StableToneAnalysis | Phase | #t=npt: 00:00:22.57 , 00:00:22.57 |
StableToneAnalysis | Frequency | #t=npt: 00:00:23.90 , 00:00:23.90 |
InverseDecoding | FrameOffset | #t=npt: 00:00:28.00 , 00:00:28.00 |
MicrophoneDiscrimination | CorrelationCoefficient | #t=npt: 00:00:29.50 , 00:00:29.50 |
StableToneAnalysis | Frequency | #t=npt: 00:00:29.54 , 00:00:29.54 |
StableToneAnalysis | Phase | #t=npt: 00:00:39.17 , 00:00:39.17 |
MicrophoneDiscrimination | CorrelationCoefficient | #t=npt: 00:00:50.11 , 00:00:50.11 |
In the table, we highlighted the rows where two different AudioTrust+ components agreed on the presence of a cut — i.e., those points were the likelihood that a tampering occurred is higher. At the sole cost of integrating our components in the MICO platform, we could retrieve a clearly readable outcome, aggregating all the partial results obtained by our set of separate components!
That’s all for”MICO meets AudioTrust+” series, thanks for staying with us all the way long!
You must be logged in to post a comment.