Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
adding-midi-file-to-musical-environment [2024/01/23 17:34] – [Syntax] steve.wang | adding-midi-file-to-musical-environment [2024/03/20 18:37] (current) – steve.wang | ||
---|---|---|---|
Line 3: | Line 3: | ||
**Overview: ** A midi file can be played via Konduktiva. During this process, the midi data will also be convert in forms to normal Konduktiva information (Quantized maps etc.) | **Overview: ** A midi file can be played via Konduktiva. During this process, the midi data will also be convert in forms to normal Konduktiva information (Quantized maps etc.) | ||
- | **Things To Note:** This tutorial assumes you have already installed Konduktiva successfully using the [[https:// | + | **Things To Note:** This tutorial assumes you have already installed Konduktiva successfully using the [[https:// |
+ | <code javascript> | ||
+ | const K = require(' | ||
+ | let e = K.setUpMusicalEnvironment(K.defaultConfigurationObject, | ||
+ | </ | ||
===== addMidiFileToMusicalEnvironment ===== | ===== addMidiFileToMusicalEnvironment ===== | ||
- | String -> String -> MusicalEnvironment -> | + | String -> String -> MusicalEnvironment -> Function |
- | This function will automatically create | + | This function will automatically create |
==== Syntax ==== | ==== Syntax ==== | ||
Line 27: | Line 31: | ||
== bwv849.mid == | == bwv849.mid == | ||
From: https:// | From: https:// | ||
+ | |||
Download: https:// | Download: https:// | ||
== two-bar-Cm-midi-test.mid == | == two-bar-Cm-midi-test.mid == | ||
From: Renick Bell | From: Renick Bell | ||
+ | |||
Download: | Download: | ||
Line 40: | Line 46: | ||
== Code == | == Code == | ||
+ | WARNING: Remember to change the file paths according to the place you have installed the MIDI files. Or place the downloaded MIDI files to the directory you have launched nodejs in. | ||
+ | |||
+ | For the first 3 examples, you will need 1 music synthesizer session listening to channel 1. However for the last example, you will need 7 music synthesizer sessions. Each music synthesizer should be listening to a number from 1 to 7 (Including 1 and 7). | ||
<code javascript> | <code javascript> | ||
- | K.addMidiFileToMusicalEnvironment(' | + | let twoCs = K.addMidiFileToMusicalEnvironment(' |
- | e.play(' | + | let cPlayers = twoCs([' |
- | e.stop(' | + | e.play(' |
+ | e.stop(' | ||
- | K.addMidiFileToMusicalEnvironment(' | + | let bwv = K.addMidiFileToMusicalEnvironment(' |
- | e.play('two-bar-Cm-midi-test') | + | let bwvPlayers = bwv([' |
- | e.stop('two-bar-Cm-midi-test') | + | e.playWithConnected('bwvPlayer1') |
+ | e.stopWithConnected('bwvPlayer1') | ||
- | K.addMidiFileToMusicalEnvironment(' | + | let scarbroFair = K.addMidiFileToMusicalEnvironment(' |
- | e.play('scarborough-fair') | + | let scarFairPlayers = scarbroFair([' |
- | e.stop('scarborough-fair') | + | e.playWithConnected('scarbroFairPlayer') |
+ | e.stopWithConnected('scarbroFairPlayer') | ||
- | K.addMidiFileToMusicalEnvironment(' | + | //7 music synthesizer sessions listening to channel 1 through 7. |
- | e.play('scarborough') | + | let scarBro = K.addMidiFileToMusicalEnvironment(' |
- | e.stop(' | + | let scarBroPlayers = scarBro(['scarBroPlayer1',' |
+ | scarBroPlayers.forEach(x => { | ||
+ | | ||
+ | }) | ||
+ | scarBroPlayers.forEach(x => { | ||
+ | e.stopWithConnected(x) | ||
+ | }) | ||
</ | </ | ||
+ | |||
+ | CPlayers alone should sound like this: | ||
+ | {{ : | ||
+ | |||
+ | bwvPlayers alone should sound like this: | ||
+ | {{ : | ||
+ | |||
+ | scarFairPlayers alone should sound like this: | ||
+ | {{ : | ||
+ | scarBroPlayers alone should sound like this: | ||
+ | |||
+ | {{ : |