Mercurial > hg > audio-features-catalogue
changeset 8:09aa2f0d33d0
fuxi file share
author | nothing@tehis.net |
---|---|
date | Wed, 03 Apr 2013 15:57:25 +0100 |
parents | d7fe070157fb |
children | c76f261a021a |
files | fuxi/af-rules.n3 fuxi/convertImplicationstoN3.py |
diffstat | 2 files changed, 262 insertions(+), 29 deletions(-) [+] |
line wrap: on
line diff
--- a/fuxi/af-rules.n3 Wed Apr 03 13:37:48 2013 +0100 +++ b/fuxi/af-rules.n3 Wed Apr 03 15:57:25 2013 +0100 @@ -2,50 +2,229 @@ @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . -af:CepstralDomain a owl:Class ; - rdfs:subClassOf af:Domain . +af:Attack a owl:Class . -af:DenseOutput a owl:Class ; - rdfs:subClassOf af:Output . +af:AttackSlope a owl:Class . + +af:AutoCorrelation a owl:Class ; + af:domain af:TimeDomain ; + af:output af:DenseOutput . + +af:AverageMagnitudeDifferenceFunction a owl:Class ; + af:domain af:TimeDomain ; + af:output af:DenseOutput . + +af:BeatHistogram a owl:Class ; + af:dimensionality af:MultidimensionalDimensionality ; + af:domain af:ModulationFrequencyDomain ; + af:level af:PerceptualLevel ; + af:temporalscale af:InterframeTemporalscale . + +af:Chromagram a owl:Class ; + af:dimensionality af:MultidimensionalDimensionality ; + af:domain af:FrequencyDomain ; + af:level af:PerceptualLevel ; + af:output af:DenseOutput ; + af:temporalscale af:IntraframeTemporalscale . + +af:Crest a owl:Class . + +af:CrossCorrelation a owl:Class . + +af:EffectiveDuration a owl:Class . af:EigendomainDomain a owl:Class ; rdfs:subClassOf af:Domain . -af:FrequencyDomain a owl:Class ; - rdfs:subClassOf af:Domain . +af:Energy a owl:Class . + +af:FundamentalFrequency a owl:Class ; + af:domain af:TimeDomain ; + af:output af:DenseOutput . af:GlobalTemporalscale a owl:Class ; rdfs:subClassOf af:Temporalscale . -af:InterframeTemporalscale a owl:Class ; - rdfs:subClassOf af:Temporalscale . +af:HarmonicSpectralCentroid a owl:Class . -af:IntraframeTemporalscale a owl:Class ; - rdfs:subClassOf af:Temporalscale . +af:HarmonicSpectralDeviation a owl:Class . -af:ModulationFrequencyDomain a owl:Class ; - rdfs:subClassOf af:Domain . +af:HarmonicSpectrum a owl:Class ; + af:domain af:FrequencyDomain ; + af:output af:DenseOutput . -af:MultidimensionalDimensionality a owl:Class ; - rdfs:subClassOf af:Dimensionality . +af:Inharmonicity a owl:Class ; + af:dimensionality af:OnedimensionalDimensionality ; + af:domain af:FrequencyDomain ; + af:level af:PerceptualLevel ; + af:output af:DenseOutput ; + af:temporalscale af:IntraframeTemporalscale . -af:OnedimensionalDimensionality a owl:Class ; - rdfs:subClassOf af:Dimensionality . +af:Key a owl:Class ; + af:domain af:TimeDomain ; + af:output af:SparseOutput . -af:PerceptualLevel a owl:Class ; - rdfs:subClassOf af:Level . +af:LinearPredictionCepstralCoefficients a owl:Class ; + af:dimensionality af:MultidimensionalDimensionality ; + af:domain af:CepstralDomain, + af:TimeDomain ; + af:level af:PhysicalLevel ; + af:output af:DenseOutput ; + af:temporalscale af:IntraframeTemporalscale . + +af:LinearPredictiveCoding a owl:Class ; + af:dimensionality af:MultidimensionalDimensionality ; + af:domain af:FrequencyDomain ; + af:level af:PhysicalLevel ; + af:temporalscale af:IntraframeTemporalscale . + +af:LogAttackTime a owl:Class . + +af:Loudness a owl:Class ; + af:domain af:FrequencyDomain ; + af:output af:DenseOutput . + +af:MagnitudeSpectrum a owl:Class . + +af:Mean a owl:Class ; + af:domain af:FrequencyDomain ; + af:output af:DenseOutput . + +af:MelscaleFrequencyCepstralCoefficients a owl:Class ; + af:dimensionality af:MultidimensionalDimensionality ; + af:domain af:CepstralDomain, + af:FrequencyDomain, + af:TimeDomain ; + af:level af:PhysicalLevel ; + af:model af:PsychoacousticModel ; + af:output af:DenseOutput ; + af:temporalscale af:IntraframeTemporalscale . + +af:Noisiness a owl:Class ; + af:domain af:FrequencyDomain ; + af:output af:DenseOutput . + +af:Nonzerocount a owl:Class ; + af:domain af:FrequencyDomain ; + af:output af:DenseOutput . + +af:OnsetDetectionFunction a owl:Class ; + af:domain af:FrequencyDomain ; + af:output af:DenseOutput . + +af:PeakSpectrum a owl:Class ; + af:domain af:FrequencyDomain ; + af:output af:DenseOutput . af:PhaseSpaceDomain a owl:Class ; rdfs:subClassOf af:Domain . -af:PhysicalLevel a owl:Class ; - rdfs:subClassOf af:Level . +af:Pitch a owl:Class ; + af:dimensionality af:OnedimensionalDimensionality ; + af:domain af:FrequencyDomain ; + af:level af:PerceptualLevel ; + af:temporalscale af:IntraframeTemporalscale . -af:PsychoacousticModel a owl:Class ; - rdfs:subClassOf af:Model . +af:Power a owl:Class . -af:SparseOutput a owl:Class ; - rdfs:subClassOf af:Output . +af:PowerSpectrum a owl:Class . + +af:RootMeanSquare a owl:Class . + +af:Sharpness a owl:Class ; + af:dimensionality af:OnedimensionalDimensionality ; + af:domain af:FrequencyDomain ; + af:level af:PerceptualLevel ; + af:model af:PsychoacousticModel ; + af:temporalscale af:IntraframeTemporalscale . + +af:SpectralCentroid a owl:Class ; + af:dimensionality af:OnedimensionalDimensionality ; + af:domain af:FrequencyDomain, + af:TimeDomain ; + af:level af:PerceptualLevel ; + af:output af:DenseOutput ; + af:temporalscale af:IntraframeTemporalscale . + +af:SpectralCrest a owl:Class ; + af:dimensionality af:MultidimensionalDimensionality ; + af:domain af:FrequencyDomain ; + af:level af:PerceptualLevel ; + af:output af:DenseOutput ; + af:temporalscale af:IntraframeTemporalscale . + +af:SpectralDecrease a owl:Class . + +af:SpectralFlatness a owl:Class ; + af:dimensionality af:MultidimensionalDimensionality ; + af:domain af:FrequencyDomain, + af:TimeDomain ; + af:level af:PerceptualLevel ; + af:output af:DenseOutput ; + af:temporalscale af:IntraframeTemporalscale . + +af:SpectralFlux a owl:Class ; + af:dimensionality af:OnedimensionalDimensionality ; + af:domain af:FrequencyDomain ; + af:level af:PhysicalLevel ; + af:temporalscale af:IntraframeTemporalscale . + +af:SpectralKurtosis a owl:Class ; + af:domain af:FrequencyDomain ; + af:output af:DenseOutput . + +af:SpectralRolloff a owl:Class ; + af:dimensionality af:OnedimensionalDimensionality ; + af:domain af:FrequencyDomain, + af:TimeDomain ; + af:level af:PerceptualLevel ; + af:output af:DenseOutput ; + af:temporalscale af:IntraframeTemporalscale . + +af:SpectralSkewness a owl:Class ; + af:domain af:FrequencyDomain ; + af:output af:DenseOutput . + +af:SpectralSlope a owl:Class ; + af:dimensionality af:MultidimensionalDimensionality ; + af:domain af:FrequencyDomain ; + af:level af:PhysicalLevel ; + af:output af:DenseOutput ; + af:temporalscale af:IntraframeTemporalscale . + +af:SpectralSpread a owl:Class ; + af:domain af:FrequencyDomain ; + af:output af:DenseOutput . + +af:SpectralVariation a owl:Class . + +af:Spectrum a owl:Class ; + af:domain af:TimeDomain ; + af:output af:DenseOutput . + +af:Tempo a owl:Class ; + af:domain af:FrequencyDomain, + af:TimeDomain ; + af:output af:DenseOutput, + af:SparseOutput . + +af:TemporalCentroid a owl:Class . + +af:Tonality a owl:Class ; + af:domain af:FrequencyDomain ; + af:output af:DenseOutput . + +af:Variance a owl:Class ; + af:domain af:FrequencyDomain ; + af:output af:DenseOutput . + +af:ZeroCrossingRate a owl:Class ; + af:dimensionality af:OnedimensionalDimensionality ; + af:domain af:TemporalDomain, + af:TimeDomain ; + af:level af:PhysicalLevel ; + af:output af:DenseOutput ; + af:temporalscale af:IntraframeTemporalscale . af:dimensionality a owl:ObjectProperty ; rdfs:domain af:AudioFeature ; @@ -71,8 +250,23 @@ rdfs:domain af:AudioFeature ; rdfs:range af:Temporalscale . +af:InterframeTemporalscale a owl:Class ; + rdfs:subClassOf af:Temporalscale . + +af:ModulationFrequencyDomain a owl:Class ; + rdfs:subClassOf af:Domain . + +af:CepstralDomain a owl:Class ; + rdfs:subClassOf af:Domain . + af:Model a owl:Class . +af:PsychoacousticModel a owl:Class ; + rdfs:subClassOf af:Model . + +af:SparseOutput a owl:Class ; + rdfs:subClassOf af:Output . + af:Dimensionality a owl:Class . af:Level a owl:Class . @@ -85,8 +279,28 @@ af:Domain a owl:Class . -?x a af:AudioFeature . +af:PhysicalLevel a owl:Class ; + rdfs:subClassOf af:Level . +af:OnedimensionalDimensionality a owl:Class ; + rdfs:subClassOf af:Dimensionality . + +af:MultidimensionalDimensionality a owl:Class ; + rdfs:subClassOf af:Dimensionality . + +af:PerceptualLevel a owl:Class ; + rdfs:subClassOf af:Level . + +af:IntraframeTemporalscale a owl:Class ; + rdfs:subClassOf af:Temporalscale . + +af:FrequencyDomain a owl:Class ; + rdfs:subClassOf af:Domain . + +af:DenseOutput a owl:Class ; + rdfs:subClassOf af:Output . + +?x a af:AudioFeature ; { ?x af:domain af:Cepstral . } => { ?x af:output af:Dense . ?x af:temporalscale af:Intraframe . ?x af:dimensionality af:MultiDimensional . ?x af:level af:Physical . } . { ?x af:temporalscale af:Interframe . } => { ?x af:domain af:ModulationFrequency . ?x af:dimensionality af:MultiDimensional . ?x af:level af:Perceptual . } . { ?x af:domain af:ModulationFrequency . } => { ?x af:temporalscale af:Interframe . ?x af:dimensionality af:MultiDimensional . ?x af:level af:Perceptual . } .
--- a/fuxi/convertImplicationstoN3.py Wed Apr 03 13:37:48 2013 +0100 +++ b/fuxi/convertImplicationstoN3.py Wed Apr 03 15:57:25 2013 +0100 @@ -33,7 +33,7 @@ return text def convertRules(rows): - n3 = "?x a af:AudioFeature . \n\n" + n3 = "?x a af:AudioFeature ; \n" for i in range(len(rows)-1): row = rows[i] if row != '': @@ -61,7 +61,7 @@ return n3 -def writeFacts(): +def writeProperties(): graph = Graph() af = Namespace('http://sovarr.c4dm.eecs.qmul.ac.uk/features/') @@ -115,8 +115,27 @@ RDFS.range, URIRef(objID) )) + + writeFeatures(graph) return graph.serialize(format="n3") - -writeN3(writeFacts() + convertRules(readFile(readpath)),writepath) +def writeFeatures(graph): + cataloguePath = '/Users/alo/MusicOntology/features/af-catalogue.rdf' + source = Graph() + source.parse(cataloguePath) + af = Namespace('http://sovarr.c4dm.eecs.qmul.ac.uk/features/') + #features = [] + ns = af['computedIn'] + for su in source.subjects(RDF.type, OWL.Class): + count = sum(1 for _ in source.objects(su,ns)) + if count > 1: + graph.add(( su, RDF.type, OWL.Class )) + for pr, ob in source.predicate_objects(su): + if cat.count(pr.split('/')[-1]) == 1: + graph.add((su, pr, + af[ob.replace("-", "").title().replace(" ", "") + pr.split('/')[-1].title()] + )) + + +writeN3(writeProperties() + convertRules(readFile(readpath)),writepath)