Difference between revisions of "Changing sounds"

From XStoryPlayer Wiki
Jump to: navigation, search
 
(14 intermediate revisions by the same user not shown)
Line 6: Line 6:
  
 
* XStoryPlayer character sound files are in .wav format.
 
* XStoryPlayer character sound files are in .wav format.
* XStoryPlayer scene sound files that are long are in .mp3 format.
+
* XStoryPlayer scene sound files that have long duration are in .mp3 format.
 +
* Most sounds are 3d, so there have a location in the scene.
 +
* We have support for .lwv files, but because Microsoft decided to stop using them as well.
  
 
===Adding talking sound===
 
===Adding talking sound===
Line 19: Line 21:
 
talk.text  = false;        // Do not show text in dialog window
 
talk.text  = false;        // Do not show text in dialog window
 
</syntaxhighlight>
 
</syntaxhighlight>
First the <code>ai/speech/saiko/</code> location is tried. If the file is not there the <code>ai/speech/default/</code> location is used.<br>
+
First the <code>ai/speech/saiko/</code> location is tried to find the sound file. If the file is not there the <code>ai/speech/default/</code> location is used.<br>
 
This allows you to add girl specific sounds.
 
This allows you to add girl specific sounds.
 
</li>
 
</li>
 +
<li>Open the <code>/ai/speech</code> directory and create a sub-directory called <code>/saiko</code>.</li>
 +
<li>Add the <code>alien_sound/alien_hello1.wav</code> from the '[[Tutorial resource pack]]' to the newly created <code>/ai/speech/saiko</code> directory.</li>
 +
<li>Now we want Saiko to say 'hello' in her alien voice when you say 'hello' to her.<br>
 +
Open the <code>/init/std/base/char/brain/code/run/basic_func_sentence.dat</code> file. This file contains functions for basic responses.</li>
 +
<li>Locate these functions and change the code as follows.
 +
<syntaxhighlight lang="cpp">
 +
<talk_say_hello>
 +
 +
// Add these lines
 +
talk.file = "alien_hello1";
 +
talk.volume = 0.95;
 +
 +
...
 +
 +
</talk_say_hello>
 +
 +
 +
//----------------------------------
 +
 +
 +
<talk_say_helloagain>
 +
 +
// Add these lines
 +
talk.file = "alien_hello1";
 +
talk.volume = 0.95;
 +
 +
...
 +
 +
</talk_say_helloagain>
 +
</syntaxhighlight>
 +
</li>
 +
<li>Now start the mod dungeon Saiko scene and say 'hello' to Saiko. She should respond by saying something back in her alien sounding voice.</li>
 +
</ol>
 +
 +
===Adding scene sound===
 +
 +
<ol>
 +
<li>The easiest way to add a sound to a scene is to use the radio object. There are other ways to add a sound to a scene but we will come to that in more advanced tutorials.</li>
 +
<li>Open the <code>/scenes/sounds</code> directory and create a sub-directory called <code>/alien</code>.</li>
 +
<li>Add the <code>alien_sound/alien_abient1.mp3</code> from the 'Tutorial Resource Pack' to the newly created <code>/scenes/sounds/alien</code> directory.</li>
 +
<li>Now we want the sound to play in the dungeon scene.<br>
 +
To do this add a radio object to the <code>/init/stories/dungeon/scenes/dungeon1.dat</code> file like this:
 +
<syntaxhighlight lang="cpp">
 +
tv_objecti:PSCREEN PSCREEN1
 +
{
 +
...
 +
}
 +
 +
// Add this code under the PSCREEN1 tv object
 +
radio_objecti:RADIO RADIO1
 +
{  
 +
  obj_name = "object_table3:table2"; // Uses table object as sound location
 +
 +
  status = true; // Radio is turned on
 +
 
 +
  channel = 0; // Active channel
 +
 +
  // The channel file, it starts with # to indicate that the file can be found within the pack directory.
 +
  channels
 +
  {
 +
    file      = "#scenes/sounds/alien/alien_abient1.mp3";
 +
    pos3d_min = 6.0; // From this distance 3d volume will decrease
 +
    volume    = 1.0; // Volume
 +
  }
 +
}
 +
</syntaxhighlight>
 +
</li>
 +
<li>Now start the mod dungeon Saiko scene and you should hear an alien ambient sound.</li>
 +
<li>Ok now you are ready to start the next tutorial '[[creating a story]]'.</li>
 
</ol>
 
</ol>

Latest revision as of 13:16, 9 January 2015

The scene sounds can be found in the ./pack/pack_dungeon/scenes/sounds directory.

The character sounds can be found in the ./pack/pack_dungeon/ai/speech/default directory.

Sound format

  • XStoryPlayer character sound files are in .wav format.
  • XStoryPlayer scene sound files that have long duration are in .mp3 format.
  • Most sounds are 3d, so there have a location in the scene.
  • We have support for .lwv files, but because Microsoft decided to stop using them as well.

Adding talking sound

  1. At the moment the girls only make sounds during sex and in other special situations. It is however possible to add sound files to sentences.
    To let a character make a sound the following code can be used:
    talk.s      = "aaaahhhhhhh"; // The mouth movement is derived from this text
    talk.file   = "scream1";     // The file in the ai/speech directory
    talk.volume = 1.050;         // The sound volume
    talk.text   = false;         // Do not show text in dialog window

    First the ai/speech/saiko/ location is tried to find the sound file. If the file is not there the ai/speech/default/ location is used.
    This allows you to add girl specific sounds.

  2. Open the /ai/speech directory and create a sub-directory called /saiko.
  3. Add the alien_sound/alien_hello1.wav from the 'Tutorial resource pack' to the newly created /ai/speech/saiko directory.
  4. Now we want Saiko to say 'hello' in her alien voice when you say 'hello' to her.
    Open the /init/std/base/char/brain/code/run/basic_func_sentence.dat file. This file contains functions for basic responses.
  5. Locate these functions and change the code as follows.
    <talk_say_hello>
     
    // Add these lines
    talk.file = "alien_hello1";
    talk.volume = 0.95;
     
    ...
     
    </talk_say_hello>
     
     
    //----------------------------------
     
     
    <talk_say_helloagain>
     
    // Add these lines
    talk.file = "alien_hello1";
    talk.volume = 0.95;
     
    ...
     
    </talk_say_helloagain>
  6. Now start the mod dungeon Saiko scene and say 'hello' to Saiko. She should respond by saying something back in her alien sounding voice.

Adding scene sound

  1. The easiest way to add a sound to a scene is to use the radio object. There are other ways to add a sound to a scene but we will come to that in more advanced tutorials.
  2. Open the /scenes/sounds directory and create a sub-directory called /alien.
  3. Add the alien_sound/alien_abient1.mp3 from the 'Tutorial Resource Pack' to the newly created /scenes/sounds/alien directory.
  4. Now we want the sound to play in the dungeon scene.
    To do this add a radio object to the /init/stories/dungeon/scenes/dungeon1.dat file like this:
    tv_objecti:PSCREEN PSCREEN1
    {
     ...
    }
     
    // Add this code under the PSCREEN1 tv object
    radio_objecti:RADIO RADIO1
    {	  
      obj_name = "object_table3:table2"; // Uses table object as sound location
     
      status = true; // Radio is turned on
     
      channel = 0; // Active channel
     
      // The channel file, it starts with # to indicate that the file can be found within the pack directory.
      channels
      {
        file      = "#scenes/sounds/alien/alien_abient1.mp3";
        pos3d_min = 6.0; // From this distance 3d volume will decrease
        volume    = 1.0; // Volume
      }
    }
  5. Now start the mod dungeon Saiko scene and you should hear an alien ambient sound.
  6. Ok now you are ready to start the next tutorial 'creating a story'.