The Smart Musical Instruments (SMIs) is an emerging category of musical instruments that belongs to the wider class of Musical Things within the Internet of Musical Things paradigm. SMIs encompass sensors, actuators, embedded intelligence, and wireless connectivity to local networks and to the Internet. Interoperability represents a key issue within this domain, where heterogeneous SMIs are envisioned to exchange information between each other and a plethora of Musical Things. This paper proposes an ontology for the representation of the knowledge related to SMIs, with the aim of facilitating interoperability between SMIs as well as with other Musical Things interacting with them. There was no previous comprehensive data model for the SMIs domain, however the new ontology relates to existing ontologies, including the SOSA Ontology for the representation of sensors and actuators, the Audio Effects Ontology dealing with the description of digital audio effects, and the IoMusT Ontology for the representation Musical Things and IoMusT ecosystems. This paper documents the design of the ontology and its evaluation with respect to specific requirements gathered from an extensive literature review, which was based on scenarios involving SMIs stakeholders, such as performers and studio producers.
This ontology has the following namespaces.
smi | <http://purl.org/ontology/iomust/smi#> |
iot | <http://purl.org/ontology/iomust/internet_of_things> |
iomust | <http://purl.org/ontology/iomust/internet_of_things/iomust> |
studio | <http://purl.org/ontology/studio> |
device | <http://purl.org/ontology/studio/device> |
mixer | <http://purl.org/ontology/studio/mixer> |
multitrack | <http://purl.org/ontology/studio/multitrack> |
microphone | <http://purl.org/ontology/studio/microphone> |
fx | <https://w3id.org/aufx/ontology/1.0> |
sosa | <http://www.w3.org/ns/sosa> |
connectivity | <http://purl.org/ontology/studio/connectivity> |
sigproc | <http://purl.org/ontology/spd/sigproc> |
mo | <http://purl.org/ontology/mo> |
spd | <http://purl.org/ontology/studio/sigproc> |
event | <http://purl.org/NET/c4dm/event.owl> |
time | <http://www.w3.org/2006/time> |
foaf | <http://xmlns.com/foaf/0.1> |
schema | <http://schema.org> |
dc | <http://purl.org/dc/elements/1.1> |
ns | <http://www.w3.org/2003/06/sw-vocab-status/ns> |
owl | <http://www.w3.org/2002/07/owl> |
dcam | <http://purl.org/dc/dcam> |
keys | <http://purl.org/NET/c4dm/keys.owl> |
xsd | <http://www.w3.org/2001/XMLSchema> |
bio | <http://purl.org/vocab/bio/0.1> |
skos | <http://www.w3.org/2004/02/skos/core> |
rdfs | <http://www.w3.org/2000/01/rdf-schema> |
prov-o-inverses-20130430 | <http://www.w3.org/ns/prov-o-inverses-20130430> |
qudt | <http://qudt.org/schema/qudt> |
note-prov-aq-20130430 | <http://www.w3.org/TR/2013/NOTE-prov-aq-20130430> |
terms | <http://purl.org/dc/terms> |
xml | <http://www.w3.org/XML/1998/namespace> |
prov-dc-20130430 | <http://www.w3.org/ns/prov-dc-20130430> |
vann | <http://purl.org/vocab/vann> |
wot | <http://xmlns.com/wot/0.1> |
cc | <http://web.resource.org/cc> |
prov-links-20130430 | <http://www.w3.org/ns/prov-links-20130430> |
label | <http://purl.org/net/vocab/2004/03/label> |
prov-o-20130430 | <http://www.w3.org/ns/prov-o-20130430> |
rdf | <http://www.w3.org/1999/02/22-rdf-syntax-ns> |
prov-dictionary | <http://www.w3.org/ns/prov-dictionary> |
terms1 | <http://open.vocab.org/terms> |
core | <http://purl.org/ontology/ao/core> |
This ontology has the following classes and properties.
The ontology is described in the scientific paper listed in the references.
IRI: http://purl.org/ontology/iomust/smi#Accelerometer
IRI: http://purl.org/ontology/iomust/smi#AcousticGuitar
IRI: http://purl.org/ontology/iomust/smi#AcousticInstrument
IRI: http://purl.org/ontology/iomust/smi#AcousticPiano
IRI: http://purl.org/ontology/iomust/smi#AcousticSaxophone
IRI: http://purl.org/ontology/iomust/smi#AcousticViolin
IRI: http://www.w3.org/ns/sosa/Actuator
IRI: http://purl.org/ontology/iomust/smi#ADCaudio
IRI: http://purl.org/ontology/iomust/smi#ADCsensor
Analog to Digital converter for gesture tracking sensors
IRI: http://purl.org/ontology/iomust/smi#AudioActuator
IRI: http://purl.org/ontology/iomust/smi#AudioInputInterface
IRI: http://purl.org/ontology/iomust/smi#AudioTrackingSensor
A sensor that detects audio signals
IRI: http://purl.org/ontology/iomust/smi#DACactuator
Digital to Analog converter for haptic signals
IRI: http://purl.org/ontology/iomust/smi#DACaudio
Digital to Analog converter for audio signals
IRI: http://purl.org/ontology/iomust/smi#DistanceSensor
IRI: http://purl.org/ontology/iomust/smi#DrumMachine
IRI: http://purl.org/ontology/iomust/smi#ElectricGuitar
IRI: http://purl.org/ontology/iomust/smi#ElectricInstrument
IRI: http://purl.org/ontology/iomust/smi#ElectricPiano
IRI: http://purl.org/ontology/iomust/smi#ElectricSaxophone
IRI: http://purl.org/ontology/iomust/smi#ElectricViolin
IRI: http://purl.org/ontology/iomust/smi#ElectroacousticGuitar
IRI: http://purl.org/ontology/iomust/smi#ElectroacousticInstrument
IRI: http://purl.org/ontology/iomust/smi#ElectroacousticPiano
IRI: http://purl.org/ontology/iomust/smi#ElectroacousticSaxophone
IRI: http://purl.org/ontology/iomust/smi#ElectroacousticViolin
IRI: http://purl.org/ontology/iomust/smi#EmbeddedLoudspeakerSystem
IRI: http://purl.org/ontology/iomust/smi#EmbeddedVibrationSpeakerSystem
IRI: http://purl.org/ontology/iomust/smi#GestureInterface
IRI: http://purl.org/ontology/iomust/smi#GestureSensorHandler
A piece of software which carries out observations through sensors (like a microphone or a pressure sensor). Typically an SMI sensor observer acts upon the digital values of an ADC (analogue to digital converter).
IRI: http://purl.org/ontology/iomust/smi#GestureSensorTransform
A transformation applied by a SMI Gesture Sensor Handler to the signal observed by a sensor tracking a player's gesture
IRI: http://purl.org/ontology/iomust/smi#GestureTrackingSensor
A sensor that detects the performer's gestures
IRI: http://purl.org/ontology/iomust/smi#Guitar
IRI: http://purl.org/ontology/iomust/smi#Gyroscope
IRI: http://purl.org/ontology/iomust/smi#HapticActuator
IRI: http://purl.org/ontology/iomust/smi#HapticDeliverySystem
IRI: http://purl.org/ontology/iomust/smi#HapticEngine
A piece of software that handles haptic processing
IRI: http://purl.org/ontology/iomust/smi#InertialMeasurementUnit
IRI: http://purl.org/ontology/iomust/smi#Loudspeaker
IRI: http://purl.org/ontology/iomust/smi#MIDIScore
IRI: http://purl.org/ontology/iomust/smi#Magnetometer
IRI: http://purl.org/ontology/iomust/smi#MappingHandler
A piece of software that handles the mapping functions from sensor values to plugin parameters
IRI: http://purl.org/ontology/iomust/smi#MappingTransform
A MappingTransform is the function which transforms a signal which results from an Observation of a Sensor into a parameter of a plugin.
IRI: http://purl.org/ontology/iomust/smi#Piano
IRI: http://purl.org/ontology/studio/device/Plugin
IRI: http://purl.org/ontology/iomust/smi#Potentiometer
IRI: http://purl.org/ontology/iomust/smi#PressureSensor
IRI: http://purl.org/ontology/iomust/smi#PushButton
IRI: http://purl.org/ontology/iomust/smi#RE
Rack Extensions for a plugin API (by Propellerheads)
IRI: http://purl.org/ontology/iomust/smi#RibbonSensor
IRI: http://purl.org/ontology/iomust/smi#SMIApplication
An application associated to a smart musical instrument
IRI: http://purl.org/ontology/iomust/smi#SMIService
A service associated to a smart musical instrument
IRI: http://purl.org/ontology/iomust/smi#Sampler
IRI: http://purl.org/ontology/iomust/smi#Saxophone
IRI: http://purl.org/ontology/iomust/smi#Screen
IRI: http://www.w3.org/ns/sosa/Sensor
IRI: http://purl.org/ontology/iomust/smi#SingleBoardComputer
The SMI Single Board Computer is an hardware component which is embedded into a SMI and runs software devices, including the SMI Sound Engine
IRI: http://purl.org/ontology/iomust/smi#SmartElectricGuitar
IRI: http://purl.org/ontology/iomust/smi#SmartElectricPiano
IRI: http://purl.org/ontology/iomust/smi#SmartElectricSaxophone
IRI: http://purl.org/ontology/iomust/smi#SmartElectricViolin
IRI: http://purl.org/ontology/iomust/smi#SmartElectroacousticGuitar
IRI: http://purl.org/ontology/iomust/smi#SmartElectroacousticPiano
IRI: http://purl.org/ontology/iomust/smi#SmartElectroacousticSaxophone
IRI: http://purl.org/ontology/iomust/smi#SmartElectroacousticViolin
IRI: http://purl.org/ontology/iomust/smi#SmartGuitar
IRI: http://purl.org/ontology/iomust/smi#SmartPiano
IRI: http://purl.org/ontology/iomust/smi#SmartSaxophone
IRI: http://purl.org/ontology/iomust/smi#SmartViolin
IRI: http://purl.org/ontology/iomust/smi#SmartVirtualRealityGuitar
IRI: http://purl.org/ontology/iomust/smi#SmartVirtualRealityPiano
IRI: http://purl.org/ontology/iomust/smi#SmartVirtualRealitySaxophone
IRI: http://purl.org/ontology/iomust/smi#SmartVirtualRealityViolin
IRI: http://purl.org/ontology/iomust/smi#SMIElectricInstrument
IRI: http://purl.org/ontology/iomust/smi#SMIElectroacousticIntrument
IRI: http://purl.org/ontology/iomust/smi#SMIHardwareDevice
Any hardware components of a smart musical instrument
IRI: http://purl.org/ontology/iomust/smi#SMISoftwareDevice
Any software component of a smart musical instrument
IRI: http://purl.org/ontology/iomust/smi#SMITransform
IRI: http://purl.org/ontology/iomust/smi#SMIVirtualRealityMusicalInstrument
IRI: http://purl.org/ontology/iomust/smi#SoftwareMultitrackProject
IRI: http://purl.org/ontology/iomust/smi#SoundDeliverySystem
IRI: http://purl.org/ontology/iomust/smi#SoundEngine
A piece of software that handles audio processing
IRI: http://purl.org/ontology/iomust/smi#Synthesizer
IRI: http://purl.org/ontology/iomust/smi#Touchscreen
IRI: http://purl.org/ontology/iomust/smi#VibrationMotor
IRI: http://purl.org/ontology/iomust/smi#VibrationSpeaker
IRI: http://purl.org/ontology/iomust/smi#Violin
IRI: http://purl.org/ontology/iomust/smi#VirtualRealityMusicalInstrument
IRI: http://purl.org/ontology/iomust/smi#VirtualRealityViolin
IRI: http://purl.org/ontology/iomust/smi#VisualActuator
IRI: http://purl.org/ontology/iomust/smi#VisualDeliverySystem
IRI: http://purl.org/ontology/iomust/smi#VisualEngine
A piece of software that handles visual processing
IRI: http://purl.org/ontology/iomust/smi#executes
IRI: http://www.w3.org/ns/sosa/hasResult
We added Signal as a possible result of the SOSA "hasResult" object property. This is done to align the SOSA with the MusicOntology: this way we link the result of an Observation produced by a sensor to a Signal.
IRI: http://purl.org/ontology/iomust/smi#hosts_plugin
IRI: http://purl.org/ontology/iomust/smi#implementation
IRI: https://w3id.org/aufx/ontology/1.0#implementation
IRI: http://purl.org/ontology/iomust/smi#in_channel
IRI: http://purl.org/ontology/iomust/smi#mapping_function
This predicate associates a sensor tracking a gesture to a Mapping Transform, i.e., the mapping function from sensor signal to a plugin feedback parameter
IRI: http://purl.org/ontology/iomust/smi#mapping_implementation
A SMI's MappingTransform is implemented by a SMI's MappingHandler. Following the convention of the Audio Effects Ontology, a Mapping Handler is a software component of a SMI, while a Mapping Transform is the method which transforms a signal which results from an Observation of a Sensor into a parameter of a plugin.
IRI: http://purl.org/ontology/iomust/smi#maps
IRI: http://purl.org/ontology/iomust/smi#midi_score
IRI: http://purl.org/ontology/iomust/smi#plugin_type
Associates an audio plugin to a plugin category (e.g., audio effect, synthesizer, sampler, drum machine)
IRI: http://purl.org/ontology/iomust/smi#processes_sensor_signal
Both the SMI Audio Input Handler and the SMI Gesture Sensor Handler process the (simple) results of an Observation
IRI: http://purl.org/ontology/iomust/smi#sensor_handler_implementation
This object property is used to express the relation betweem a GestureSensorHandler with a GestureSensorTransform
IRI: http://purl.org/ontology/iomust/smi#smi_application
Relates a smart musica instrument to an application
IRI: http://purl.org/ontology/iomust/smi#smi_component
Associates a software or hardware device to a smart musical instrument
IRI: http://purl.org/ontology/iomust/smi#smi_component_of
Inverse property of smi_component
IRI: http://purl.org/ontology/iomust/smi#SMIhosts
IRI: http://purl.org/ontology/iomust/smi#smi_service
Relates a smart musica instrument to a service it provides
IRI: http://purl.org/ontology/iomust/smi#converter_sample_rate
IRI: http://purl.org/ontology/iomust/smi#cutoff_frequency
IRI: http://purl.org/ontology/iomust/smi#filter_type
IRI: http://purl.org/ontology/iomust/smi#mapping_function_parameter
A parameter of the mapping function (e.g., the exponential coefficient of an exponential function)
IRI: http://purl.org/ontology/iomust/smi#mapping_function_type
A mathematical function that can be e.g., linear, exponential, logarithmic
IRI: http://purl.org/ontology/iomust/smi#midi_port
IRI: http://purl.org/ontology/iomust/smi#name_plugin
IRI: http://purl.org/ontology/iomust/smi#smi_application_purpose
IRI: http://purl.org/ontology/iomust/smi#smi_service_purpose
IRI: http://purl.org/ontology/iomust/smi#threshold
IRI: http://purl.org/ontology/iomust/smi#works_at_audio_sampling_rate
IRI: http://purl.org/ontology/iomust/smi#works_at_sensor_sampling_rate
IRI: http://purl.org/dc/terms/abstract
IRI: http://purl.org/dc/elements/1.1/contributor
IRI: http://purl.org/dc/terms/created
IRI: http://purl.org/dc/elements/1.1/creator
IRI: http://web.resource.org/cc/license
IRI: http://schema.org/rangeIncludes
IRI: http://purl.org/dc/elements/1.1/rights
IRI: http://purl.org/dc/terms/title
Luca Turchet, Paolo Bouquet, Andrea Molinari, George Fazekas. The Smart Musical Instruments Ontology. Journal of Web Semantics, 2021.
L. Turchet. Smart Musical Instruments: vision, design principles, and future directions. IEEE Access, 7, 8944–8963, 2019.
PDF of the paper "Smart Musical Instruments: vision, design principles, and future directions" is freely available at: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8501898
The authors would like to thank Silvio Peroni for developing LODE, a Live OWL Documentation Environment, which is used for representing the Cross Referencing Section of this document and Daniel Garijo for developing Widoco, the program used to create the template used in this documentation.
Audio to Digital converter for audio signals