Announcement

Collapse
No announcement yet.

New Audio Engine: Early Access Quick-Start Guide

Collapse
This is a sticky topic.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    Originally posted by dan.reynolds View Post
    Hey folks, I just edited the Sound Source Effect post with steps on how to set up an Envelope Follower Listener.

    https://forums.unrealengine.com/show...l=1#post704435
    Very cool! I was wondering if it's possible to set up an envelope follower with sound that's not heard in the engine. So for example it should play some sound and generate float values for it but not actually be heard. I'm using this for a lipsync system, and you can use it like that even with sound being heard if you use the split audio files (for each phoneme) as is and just play all of the sounds at the same time. It would be nice if you could decouple this for some artistic freedom I guess, playing the original dialogue lines and just using the split audio files for setting morph targets. If you could use an envelope follower with sound not heard in the engine you could also draw curves by hand, if it doesn't need to sound nice.

    Leave a comment:


  • replied
    Hi guys. Thanks for Synthesis, its great. I have been thinking about procedural sound generation for some time and now i can play with this. Great.

    I made a project where i exposed some synth parameters to GUI so i can quickly see how things affect each other. In editor it works fine.



    I thought i would share it with others, but packaged project looks like this:

    Click image for larger version

Name:	Capture.PNG
Views:	1
Size:	458.3 KB
ID:	1127810

    Is problem on my side, or is it 4.16 preview thing? Any ideas?

    Leave a comment:


  • replied
    Originally posted by BrUnO XaVIeR View Post
    Now this is an intro documentation
    Woot!
    Attached Files

    Leave a comment:


  • replied
    Originally posted by PirateTony View Post
    For macOS different setup . Ive added to MacEngine.ini (Engine or Project ../Config/Mac/):

    [Audio]
    AudioDeviceModuleName=AudioMixerCoreAudio

    And im not sure about :
    It need or not? Bcoz audio engine works well w/o dat flag
    If you've already edited the ini file, you don't need the flag--but the flag offers people an easy way to A/B the difference between the new and old Audio Engines on existing projects.

    As far as CoreAudio, keep us posted on how it goes! We haven't had a chance to really test out mac!

    Leave a comment:


  • replied
    Now this is an intro documentation

    Leave a comment:


  • replied
    For macOS different setup . Ive added to MacEngine.ini (Engine or Project ../Config/Mac/):

    [Audio]
    AudioDeviceModuleName=AudioMixerCoreAudio

    And im not sure about :
    1. Open the project using command line flag: -audiomixer
    It need or not? Bcoz audio engine works well w/o dat flag

    Leave a comment:


  • replied
    Hey folks, I just edited the Sound Source Effect post with steps on how to set up an Envelope Follower Listener.

    https://forums.unrealengine.com/show...l=1#post704435

    Leave a comment:


  • replied
    Originally posted by kjekkbart View Post
    I did this today, it has several presets(in-game buttons for changing presets coming soon). The blueprint is very rough/elaborate and sorely needs more elegant solutions: https://youtu.be/aumCMQFEFoQ



    PS Nice guide! Appreciate it. Many many thanks!
    This is awesome... I love the idea of physical systems creating music. In this case a literal physical keyboard being played by rotating physics objects. Very interesting.
    https://twitter.com/minuskelvin/stat...41018956902400

    Leave a comment:


  • replied
    Originally posted by Shin_ji View Post
    Is there any videos showing these setups in action ?
    I did this today, it has several presets(in-game buttons for changing presets coming soon). The blueprint is very rough/elaborate and sorely needs more elegant solutions: https://youtu.be/aumCMQFEFoQ



    PS Nice guide! Appreciate it. Many many thanks!
    Last edited by ArthurBarthur; 05-05-2017, 11:32 AM.

    Leave a comment:


  • replied
    Looking very informative Dan, quick question though. Is there any videos showing these setups in action ?

    Will be diging into the setups once I get the chance to see for myself, many thanks for your time and effort !

    Leave a comment:


  • replied
    Amazing writeup, great to see such a nice thorough guide on the new features. Looking forward to try these out.

    Leave a comment:


  • replied
    Nice job Dan!
    Last edited by Minus_Kelvin; 05-04-2017, 08:31 PM.

    Leave a comment:


  • replied
    Getting Started with Submixes

    Submixes are analogous to Summing Busses or Auxiliary Busses. Submixes are multichannel surround busses that allow processing to occur after distance attenuation and spatialization. In the new Audio Engine, all sound is currently passed through a Master Submix which has an EQ and a Master Reverb Send/Return. This allows us to support the legacy approach of just having one EQ and one Reverb while at the same time allowing users the ability to expand their post-attenuation/post-spatialization processing chain.

    In the future we may make exceptions for hardware processed sounds or special hardware accelerated spatialization techniques—please be aware that the final architecture is still being worked out.

    The following cannot be over emphasized: Submixes are for post-attenuation/post-spatialization signal processing, it is recommended for performance sake to avoid overly elaborate Submix Graphs. Currently, Sound Classes (which utilize logical volume modification) is still how you want to manage volume—Submixes are for effects processing.


    Adding a Submix and Editing in the Submix Graph

    Similar to Sound Classes, Submixes are managed on a Graph. All Submixes ultimately pass into the Master Submix, whether they are connected or not on the graph.

    1. Right-click in the Content Browser
    2. Locate the Sounds submenu
    3. Select Sound Submix
    4. Name your newly created Sound Submix
    5. Double-click the Sound Submix
      1. The Submix Graph Editor will open displaying (if any) children Submixes or parent Submixes connected to this particular Sound Submix
      2. With a Sound Submix selected, you can see an array of children Submixes
      3. Also in the Details panel, you will see the Submix Effect Chain—similar to the Source Effect Chain
        1. Here you can add new entries for Sound Submix Effects




    Adding a Submix Effect Preset

    Similar to Source Effect Presets, we have Submix Effect Presets. The main differences being that Submix Effects are multichannel (7.1 surround) processors intended for post-attenuation/post-spatialization signal processing. Currently there are three available classic submix effects:

    • Dynamics Processor
      • Compressor
      • Limiter
      • Expander
      • Gate


    • Reverb
      • New algorithmic Plate Reverb (the same as the new Master Reverb)


    • Multiband EQ
      • Arbitrary array of EQ Bands (as many as you need--try not to go crazy)




    Adding a new Submix Effect Preset is easy:

    1. Right-click in the Content Browser and locate the Sounds submenu
    2. Select Submix Effect Preset
    3. From the subsequent menu, select the sub-class of Submix Effect (dynamics, reverb, eq)

    4. Name your newly created Submix Effect Preset
    5. Double-click on your Submix Effect Preset
    6. Edit the desired values (these can be edited during gameplay for effective auditioning of values)



    Adding and Removing a Master Dynamics Processor to the Master Submix in Blueprints

    With the implementation of a Master Submix, it was only practical to include a way to add dynamics to your master output. By default there is already a Master Reverb (separate Send/Return system) and Master (4-band) EQ—as a way to keep backward compatibility for people transitioning to the new engine—but you can add additional Master Submix Effects via Blueprints.

    To add an additional Submix Effect to the Master Submix:

    1. In your execution path, place an Add Master Submix Effect function
    2. Select your desired Submix Effect Preset and add it to the Submix Effect Preset value (or use a pin reference)


    To remove a Submix Effect from the Master Submix:

    1. In your execution path, place a Remove Master Submix Effect function
    2. Select your desired Submix Effect Preset and add it to the Submix Effect Preset value (or use a pin reference)


    To remove ALL Master Submix Effects:

    1. In your execution path, place a Clear Master Submix Effects function




    Setting up a Submix Destination on your Sound Source

    Unless otherwise set or specified, all Sound Sources output to the Master Submix (not visible on graph) by default. However, it will sometimes be desirable to have your sound source output into a different Submix.

    1. Access the details panel for your sound source
    2. Locate the Effects submenu
    3. Locate the entry called Sound Submix
      1. If this says “None,” then the sound defaults output to the Master Submix
      2. Here you can enter an alternate Submix
      3. Note the separate Default Master Reverb Send amount if you wish to simply send the source to the Master Reverb




    Setting up a Submix Send on your Sound Source

    One of the powerful aspects to having a Submix graph is being able to send portions of your source sound to multiple busses for further post-attenuation/post-spatialization processing. Currently, the most practical use for this is a second or third reverb effect so you can have two simultaneous reverbs (or parallel reverbs depending on the source sound)—but obviously, the Submix could include any Submix chain—for example an EQ then a Reverb so that you can control the spectral content of your sound before reverb processing without affecting the direct sound.

    1. Access the details panel for your sound source
    2. Locate the Effects submenu
    3. Locate the entry called Sound Submix Sends
    4. Add an Array Element
    5. Set the Sound Submix data member in that array to your desired Sound Submix
    6. Set the desired send amount





    Dynamically Managing Submix Send Values in Blueprints

    You can dynamically set the Submix Send Values on your Sound Source via Blueprints. This allows you to establish Sound Submix Sends in advance and then via gameplay values, drive the send amount.

    1. Get a reference to your sound source
      1. For non-synths, you will need to get a subsequent Audio Component reference

    2. Place a Set Submix Send function
    3. Connect your reference to the Target input
    4. Locate the desired Submix you wish to alter send amount for and enter it via dropdown or via pin reference in the Submix input
    5. Enter the desired send level in the Send Level input

    Attached Files
    Last edited by dan.reynolds; 05-04-2017, 09:33 PM.

    Leave a comment:


  • replied
    Getting Started with Source Effects

    Source Effects are processors that affect the audio at the sound source, pre-distance attenuation and pre-spatialization. (Think of them like a pre-fader insert) This means that if you add a Source Effect dynamics processor, its thresholds will be acting on the Unity levels of your Source Sound (which may be a SoundWave, a SoundCue, a Synth, etc.) instead of the levels after distance attenuation/spatialization.

    An Effect Chain is an array of Effects processors which are executed incrementally. So if you have a Source Effect Chain with 3 Source Effects in it, the processing will occur first at 0, then 1, then 2—essentially processing the source sound in an ordered chain. (Much like an insert chain on a channel strip).


    Create a Source Effect Preset Chain Asset

    A Source Effect Chain is an Asset, this empowers you to add the same Source Effect Chain to multiple sound sources in your project and to then edit, bypass, or modulate them all at once.

    1. Right-click in the Content Browser and locate the Sounds submenu
    2. Select the Source Effect Preset Chain
    3. Name your newly created Source Effect Preset Chain





    Create a Source Effect Preset Asset

    A Source Effect is a superclass for our Source based processors. Currently there are about a dozen and we’re eager to both create more ourselves and also hear what the community will create.

    1. Right-click in the Content Browser and locate the Sounds submenu
    2. Select the Source Effect Preset
    3. From the list of possible processors, select the one you desire

    4. Name your newly created Source Effect Preset
    5. Double-click on your Source Effect Preset to edit initial values

      (Each effect has different parameters)


    Preset values can be edited in run-time to allow you to audition effect chains during gameplay.


    Add a Source Effect Preset to a Source Effect Chain Preset

    As mentioned before, Source Effects are processed in order as listed by your chain, so take care in how you wish to process the audio.

    1. Double-click your Source Effect Preset Chain Asset
    2. Add an array element to your Chain
    3. Add your Source Effect Preset to the Preset data member in your Chain element



      * Play Effect Chain Tails allows the sound to continue playing out using an envelope follower, use responsibly.


    You can toggle Bypass on or off in runtime to allow auditioning Effect Chains during gameplay.


    Designating a Default Source Effect Chain on your Sound Source

    1. Access the Details of your SoundBase object
      1. On SoundWaves, this is done by double-clicking the asset in the browser and opening into the details panel
      2. On SoundCues, this is done by opening the SoundCue editor and not selecting any specific node
      3. On Components, this is done by selecting the component and accessing the details panel

    2. Locate and expand the Effects sub-menu
    3. Locate the Source Effect Chain entry
    4. Add your Source Effect Chain to that default entry





    Dynamically Bypassing Source Effects within a Source Effect Chain in Blueprints

    You can bypass source effects during gameplay, this can be useful for creating effects that only occur based on gameplay events (like radio/comm effects when the player is in another room or some distance away from a character).

    However, in order to access the specific Source Effect Preset Entry you will need to know the Entry Index number.

    1. Get a reference to your Source Effect Chain Preset
    2. Place a Set Bypass Source Effect Chain Entry function
    3. Connect your reference to the Preset Chain input, or select your Preset Chain from the drop down
    4. Indicate the desired Entry Index value
    5. Set the Bypassed boolean variable



    There are other useful functions for dynamically adding or removing entries to the chain.


    Dynamically Setting Source Effect Values in Blueprints

    You can modulate or drive Source Effect properties during gameplay. This can be a powerful way to create an intimate relationship between gameplay events and sound and music processing.

    In order to do this, you will need to get a reference to the Preset you wish to modulate.
    1. Get a reference to your Source Effect Preset (you will want to specify which specific type of Source Effect Preset Reference if creating a Blueprint Variable)
    2. Place a Set Settings function
    3. There will be an In Settings data struct pin
    4. Drag a pin off the In Settings pin and Make SourceEffect______________Settings where the blank would be filled in by your specific type of Source Effect Preset




    Setting Up an Envelope Follower Listener Delegate

    One of the more interesting Source Effects introduced is the Envelope Follower. An Envelope Follower allows the designer to analyze the amplitude data and create a dynamic, custom curve (envelope) of values that they can use to modulate some other parameter. However, in the case of UE4 through the power of Blueprints, this means you can have the amplitude data from a Source Sound drive the parameters of a game object!


    1. Create a new Source Effect Envelope Follower Preset



    2. Add your new Source Effect Preset to your Source Effect Chain of choice. (Keep in mind that you will want to add it in the order where you wish to analyze the amplitude data)

    3. Add your Source Effect Chain to the Sound Source you want to drive parameter data.



      Once you've set up the Envelope Follower, then you need to set up the Envelope Follower Listener.

    4. Add an Envelope Follower Listener Component to the Actor you want to use the envelope data.
    5. Then add a reference to your Source Effect Envelope Follower Preset.

    6. Place a Register Envelope Follower Listener Function to your Blueprint Graph
    7. Set your Target Input to the Envelope Follower Source Effect Reference
    8. Attach a reference to your Envelope Follower Listener Component to the Envelope Follower Listener Input Pin

      Once Registered (you'll note you can Un-Register dynamically with the Unregister function), you can add your delegate event:

    9. Add to your graph, an On Envelope Follower Update Event that is Assigned to your Envelope Follower Listener Component


    Attached Files
    Last edited by dan.reynolds; 05-05-2017, 02:12 PM.

    Leave a comment:


  • replied
    Getting Started with Granular Synthesis

    A Granular Synthesizer is a special type of synth that allows for the creative playback of wavetable (or in our case a SoundWave file). It does this by playing (usually) small pieces of the file (called grains) and in many ways is analogous to an audio particle effect. Just like a visual particle effect, you can play grains forward, backward, control pitch, duration, shape, etc. Each grain can have its own settings, so in this way, it’s possible to play back dozens or even hundreds of audio grains from a single file all with different parameters.


    Adding a Granular Synth to an Actor

    The Granular Synth is a Component which can be added to an existing Actor or a custom Blueprint Actor.

    The fastest way to get started is to do the following:
    1. Type “Granular Synth” in the Add Componet Dropdown menu search prompt to locate the Granular Synth Component.

    2. While selected, in the Details panel, expand the Synth > Preset submenu to expose the default Sound Wave value (if you wish, give it a default Sound Wave)
      SoundWave references are now made using the Set SoundWave Blueprint Function
      .
    3. While selected, in the Details panel, edit your Sound Base properties as needed.




    Dynamically Setting Granular Synth Values in Blueprints

    The Granular Synth does not have as many parameters to control as the Subtractive Synth, but similarly, you can locate Set Functions in the Synth > Components > Audio blueprint categories—it is recommended to set an initial value for these functions before playing the synth.









    Playing the Granular Synth in Blueprints

    Similar to the Modular Subtractive Synth, the Granular Synth utilizes MIDI-like playback functions such as Note On and Note Off. Start and Stop are necessary for full stop and start of the Granular Synth playback functionality.

    Last edited by dan.reynolds; 09-22-2017, 06:31 PM.

    Leave a comment:

Working...
X