adding-midi-file-to-musical-environment

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
adding-midi-file-to-musical-environment [2024/02/23 05:13] steve.wangadding-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://github.com/renickbell/konduktiva|Konduktiva installation]] instructions and have read through and understood the [[:first_steps|first steps tutorial]]. The tutorial also assumes that you have imported Konduktiva to the //K// variable and assigned any of the example MusicalEnvironments to the //e// variable.+**Things To Note:** This tutorial assumes you have already installed Konduktiva successfully using the [[https://github.com/renickbell/konduktiva|Konduktiva installation]] instructions and have read through and understood the [[:first_steps|first steps tutorial]]. The tutorial also assumes 2 things. One, Konduktiva has been assigned to the //K// variable. Two, user created a Musical Environment using the //setUpMusicalEnvironment// function using //K.defaultConfigurationObject// as the first argument and //'exampleMidiPlayer'// as the third argument then, assigned the output to the //e// variable. 
 +<code javascript> 
 +const K = require('konduktiva'
 +let e = K.setUpMusicalEnvironment(K.defaultConfigurationObject,4,'exampleMidiPlayer', K.exampleMusicalEnvironmentsExtraConfig) 
 +</code>
  
 ===== addMidiFileToMusicalEnvironment ===== ===== addMidiFileToMusicalEnvironment =====
Line 43: Line 47:
 == 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. 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>
 +let twoCs = K.addMidiFileToMusicalEnvironment('./two-bar-Cm-midi-test.mid', 'C', e)
 +let cPlayers = twoCs(['CPlayers'])
 +e.play('CPlayers')
 +e.stop('CPlayers')
 +
 let bwv = K.addMidiFileToMusicalEnvironment('./bwv849.mid', 'C#', e) let bwv = K.addMidiFileToMusicalEnvironment('./bwv849.mid', 'C#', e)
-e.play('bwv849') +let bwvPlayers = bwv(['bwvPlayer1']) 
-e.stop('bwv849')+e.playWithConnected('bwvPlayer1') 
 +e.stopWithConnected('bwvPlayer1')
  
-K.addMidiFileToMusicalEnvironment('./two-bar-Cm-midi-test.mid', 'C', e) +let scarbroFair = K.addMidiFileToMusicalEnvironment('./scarborough-fair.mid', 'D', e
-e.play('two-bar-Cm-midi-test') +let scarFairPlayers = scarbroFair(['scarbroFairPlayer']
-e.stop('two-bar-Cm-midi-test')+e.playWithConnected('scarbroFairPlayer') 
 +e.stopWithConnected('scarbroFairPlayer')
  
-K.addMidiFileToMusicalEnvironment('./scarborough-fair.mid', 'D', e) +//7 music synthesizer sessions listening to channel 1 through 7. 
-e.play('scarborough-fair') +let scarBro = K.addMidiFileToMusicalEnvironment('./scarborough.mid', 'D', e) 
-e.stop('scarborough-fair')+let scarBroPlayers = scarBro(['scarBroPlayer1','scarBroPlayer2','scarBroPlayer3','scarBroPlayer4','scarBroPlayer5','scarBroPlayer6','scarBroPlayer7',]
 +scarBroPlayers.forEach(x => { 
 +    e.playWithConnected(x) 
 +}) 
 +scarBroPlayers.forEach(x => { 
 +    e.stopWithConnected(x) 
 +}) 
 +</code>
  
-K.addMidiFileToMusicalEnvironment('/home/steve/Downloads/scarborough.mid', 'D', e) +CPlayers alone should sound like this: 
-e.play('scarborough') +{{ :midi-playback-two-cs.mp3 |}}
-e.stop('scarborough')+
  
-//Open 7 Music Synthesizer sessions first +bwvPlayers alone should sound like this: 
-K.addMidiFileToMusicalEnvironment('/home/steve/Downloads/scarborough.mid', 'D', e) +{{ :midi-playback-bwv849.mp3 |}}
-let scarPlayers = ['scarborough1', 'scarborough2', 'scarborough3', 'scarborough4', 'scarborough5', 'scarborough6', 'scarborough7'+
-e.playN(scarPlayers) +
-e.stopN(scarPlayers)+
  
-</code>+scarFairPlayers alone should sound like this:  
 +{{ :midi-playback-scarbrofair.mp3 |}} 
 +scarBroPlayers alone should sound like this:  
 + 
 +{{ :midi-playback-scarbro.mp3 |}}
  • adding-midi-file-to-musical-environment.1708693993.txt.gz
  • Last modified: 2024/02/23 05:13
  • by steve.wang