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
first_steps [2024/03/09 21:44] steve.wangfirst_steps [2025/08/01 22:39] (current) steve.wang
Line 1: Line 1:
 ====== First Steps with Konduktiva====== ====== First Steps with Konduktiva======
 **Overview: ** This tutorial will act as a guide about how to get started after installating Konduktiva. See how to [[https://github.com/renickbell/konduktiva/blob/main/README.md|install Konduktiva on the Konduktiva Github page]] **Overview: ** This tutorial will act as a guide about how to get started after installating Konduktiva. See how to [[https://github.com/renickbell/konduktiva/blob/main/README.md|install Konduktiva on the Konduktiva Github page]]
 +
 +To check the version of Konduktiva which is installed, run this in the directory:
 +<code javascript>
 +npm show konduktiva version
 +</code>
  
 **Things To Note: ** Only follow this tutorial after you have correctly followed the installation instructions.  **Things To Note: ** Only follow this tutorial after you have correctly followed the installation instructions. 
Line 12: Line 17:
 </code> </code>
  
-OR +NOTE: await import is not supported 
-<code javascript> + 
-const K = await import('konduktiva') +After this is loaded, you will need to open your DAW and set it up. Here [[https://ardour.org/|Ardour]] will be used and tutorial to set up up is [[ardour-setup-tutorial|here]].  
-</code>+
  
-After this is loaded, you will need to open one instance of MIDI output. Next, setup a default/example MusicalEnvironment with+ Next, setup a default/example MusicalEnvironment with
  
 <code javascript> <code javascript>
Line 51: Line 55:
 </code> </code>
 You should here something like this: You should here something like this:
 +
 {{ :default-config-obj-audio.mp3 |}} {{ :default-config-obj-audio.mp3 |}}
  
 You can also restart the node session by pressing CTRL + D in the terminal and typing node again. Then you might want to try some of these other functions: You can also restart the node session by pressing CTRL + D in the terminal and typing node again. Then you might want to try some of these other functions:
  
-<code> +If there is no sound check out [[connecting-konduktiva-to-music-synthesizer-using-carla#still_no_sound|this section]] 
-let e = K.setUpMusicalEnvironment(0) + 
-e.play('exampleMidiPlayer1') +The configuration object (first argument controls the type of sound you hearTry passing in a different configuration object and some extra configurations (last argument). 
-//OR + 
-let e = K.setUpMusicalEnvironment(1+<code javascript> 
-e.play('exampleMidiPlayer1'+let e = K.setUpMusicalEnvironment(K.lsystemData,1,'exampleMidiPlayer'K.exampleMusicalEnvironmentsExtraConfig)
-//OR +
-let e = K.setUpMusicalEnvironment(3) +
-e.play('exampleMidiPlayer1')+
 </code> </code>
-REMEMBER to restart nodejs everytime you run one of those functions. As you learn more about Konduktiva, you will learn other ways to do this so you do not have to restart node every single time.  
  
-Konduktiva can send MIDI messages to more than one music synthesizer sessionTry opening another session of your music synthesizer and configure the new one to listen to channel 2. Then, try this function: +{{ :yoshimi-10_lsystem_session_2024-03-12.mp3 |}}
  
-<code> +Konduktiva can send MIDI messages to more than one music synthesizer sessionTry opening another session of your music synthesizer and configure the new one to listen to channel 2. To hear a more obvious difference configure the second music synthesizer to use a different voiceThen, try this function: 
-let e = K.setUpMusicalEnvironment(2+
-e.play('exampleMidiPlayer1'+
-e.play('exampleMidiPlayer2')+
  
-</code>+<code javascript> 
 +let e = K.setUpMusicalEnvironment(K.defaultConfigurationObject,2,'exampleMidiPlayer')
  
-You should here both your music synthesizer sessions playing different things. It should sound something like this: 
- 
-{{ :setuptwoplayermusicalenvironment-audio.mp3 |}} 
-Next open 2 more music synthesizer session. One of the new ones should be listening to channel 3. The other new one should be listening to channel 4. 4 in total and run the code below: 
-<code> 
-let e = K.setUpMusicalEnvironment(4) 
 e.play('exampleMidiPlayer1') e.play('exampleMidiPlayer1')
 e.play('exampleMidiPlayer2') e.play('exampleMidiPlayer2')
-e.play('exampleMidiPlayer3'+
-e.play('exampleMidiPlayer4')+
 </code> </code>
  
 +You should hear both your music synthesizer sessions playing the same thing but with different voices. It should sound something like this:
 +{{ :ardour-very-many-surge.wav |}}
  
-This might sound something like this: 
-{{ :l-system-session-1-player.mp3 |}} 
  
-You can allow multiple players to play simultaneously:+To stop all players:
 <code javascript> <code javascript>
-e.play('exampleMidiPlayer3'+e.stopAll()
-e.play('exampleMidiPlayer4'+
-e.play('exampleMidiPlayer2')+
 </code> </code>
  
-All the exampleMidiPlayers should be playing now. +To here different sounds try these function callsRemember to restart nodejs and Konduktiva everytime you run one of these funcitonsAs you learn more about Konduktiva, you will learn other ways to do this so you do not have to restart node every single time
- +
-After each line you should here an extra layer of sound. +
- +
-It might sound something like this+
- +
-{{ :all-sessions-audio.mp3 |}} +
- +
-To stop a specific session. This will stop exampleMidiPlayer3 player:+
 <code javascript> <code javascript>
-e.stop('exampleMidiPlayer3') +let = K.setUpMusicalEnvironment(K.circleOfFifthChords,1,'exampleMidiPlayer', K.exampleMusicalEnvironmentsExtraConfig)
-</code>+
  
-To stop all players: +let = K.setUpMusicalEnvironment(K.circleOfFifthMelody,1,'exampleMidiPlayer', K.exampleMusicalEnvironmentsExtraConfig)
-<code javascript> +
-e.stopAll()+
 </code> </code>
  
-Explanation of K.setUpMusicalEnvironment function:+circleOfFifthChords: 
 +{{ :yoshimi-10_circleoffifthchords_session_2024-03-12.mp3 |}} 
 + 
 +circleOfFifthMelody: 
 +{{ :yoshimi-10_circleoffifthmelody_session_2024-03-12.mp3 |}}
  
-Argument 0 is for the most basic. 
-Argument 1 is for one player 
-Argument 2 is for two players. 
-Argument 3 is for simple musical environment 
-Argument 4 is for 4 players 
-Argument 5 is for a more complex/longer player 
-Argument 6 is for a musical environment with multiple copies of the same player. Add another argument to control amount of copies. The default will be four. Here is an example: 
-<code javascript> 
-let e = K.setUpMusicalEnvironment(6, 7) 
-console.log(K.all(e.players)) 
-</code> 
  
 All the variables that control the music can be set by using the beginner friendly musicalEnvironment configuration objects. Example configuration objects can be found in the file [[https://github.com/renickbell/konduktiva/blob/main/example-melodies-data.js|example-melodies-data.js]] and documentation on the musicalEnvironment configuration objects can be found in the file [[https://github.com/renickbell/konduktiva/blob/main/konduktiva-documentation.md|Konduktiva-documentation.md]]. All the variables that control the music can be set by using the beginner friendly musicalEnvironment configuration objects. Example configuration objects can be found in the file [[https://github.com/renickbell/konduktiva/blob/main/example-melodies-data.js|example-melodies-data.js]] and documentation on the musicalEnvironment configuration objects can be found in the file [[https://github.com/renickbell/konduktiva/blob/main/konduktiva-documentation.md|Konduktiva-documentation.md]].
  • first_steps.1710049461.txt.gz
  • Last modified: 2024/03/09 21:44
  • by steve.wang