kallaballa / MidiPatch

MidiPatch is a scriptable and modular real-time software synthesizer using the PatchScript API
GNU Affero General Public License v3.0
12 stars 2 forks source link

Research a cross platform way of identifying the hardware (and possibly its performance) #120

Open kallaballa opened 4 years ago

kallaballa commented 4 years ago

We'd like to record for each patch the hardware it is designed to run on. We'd like the user to be able to

  1. Choose from a pre-compiled list of known hardware platforms (e.g. MasterPatch or Raspberry Pi 4) 2. Manually enter a hardware specifier
  2. Select the current hardware as target

For the third option we need to find a cross platform way of generating a meaningful hardware identifier. A hardware identifier should reflect the performance of the platform (and therefore the number of voices that it can generate simultaneously with the current patch)

kallaballa commented 4 years ago

One way we could go about this is to have a representative benchmark that at least roughly gives us an idea of what the hardware is capable of. In detail we could identify the different kind of loads a synthesizer model imposes on systems and create a benchmark for each of those. e.g.: oscillator performance, filter performance, arithmetical operations on signals... That way we could generate a profile that makes platforms comparable.

What are the other was of achieving this? Should we instead of the above approach simply use a generic benchmark library?