Unreal Engine Livestream - TimeSynth in Blueprints - April 25 - Live from HQ

This week we are following up from the Post-GDC show and will be covering more audio! Reynolds will show us an advanced demonstration on how you can create interactive music in Blueprints, and follow up with a simple example on how to get started.

Thursday, April 25 @ 2:00PM ET - Countdown


TimeSynth project files (you must be logged in to the forums to access this)
Slide deck
4.22 Release Notes
Post-GDC show with Aaron McLeran and Reynolds

Reynolds - Technical Sound Designer - @dannthr](https://twitter.com/dannthr)
Victor Brodin - Community Manager - @victor1erp](http://twitter.com/victor1erp)
Amanda Bott - Community Manager - @amandambott](http://twitter.com/amandambott)


Save Your Nuts

Wolves In The Walls

Retro Rockets

TimeSynth in Blueprints | Live Training | Inside Unreal - YouTube

Awesome I’m excited

I too have excitement

Will the stream example project be available for download, to follow along with the stream, or to better understand the shown features?

translated by google translation
I have a question, is it possible for your game engine to expand the languages with a plugin?
There are more than 18 programming languages Is it possible to expand your engine for example under the python?

Further, your programming language as a visual is not translated into Russian because they can not use
Is it really difficult to translate your program into 45 languages like an android?

I could not interact with your programming blocks
I also found it not convenient, is it possible to replace it with a scratch?
https://scratch.mit.edu/ ?
for example, I spent only an hour of time creating this game https://youtu.be/Lk1ZG65dqC8
in your environment, I can not create more than one game

and the problem here is only one software

can you maintain a plugin for programming on scratch?

Argh what to do for 5 hours

The post which this is replying to has a link to download the project.

Right here, and the slide deck is also available under “RESOURCES” at the top!


Hey. It looks like example project is not the same as in the steam. It does not work as it supposed, and I can’t open anything except blueprint PrototypeTimeSynthActor, which is not commented at all.

@Farkette The project was made in 4.22.1, you will need at least that to open it.

If you try to open the project in 4.22.0 then the project will open without complaint. But, when you try to open a map (or anything else) you will get a ‘failed to load assets’ error. It will suggest you look at the message log but the message log is empty and gives you no clue.
It took me a little while to realise that the downloaded and extracted project had associated itself with my copy of engine 4.22 downloaded editor and had ignored my compiled from source 4.22.1 engine. Had to right click the .uproject and switch unreal engine version.
Works nice now.

Hi @.reynolds I love the TimeSynth! This is something Unreal has needed for a long time… I’ve been stalling almost 4 years, working on other areas in my project, waiting for someone like you to come along and build this. :wink: I’m so happy you’re working on it. I’ve got a few questions, though… can you help?

Firstly, I’m a bit confused on defining time signatures and tempos… for example, in my DAW (Ableton), I’m creating loops at 100BPM in 9/4 time, but no matter what I put in the TimeSynth settings, the BPM is always off (slower) and it seems it won’t count anything but 4/4 accurately. See attached.

Secondly, when I pull “Num Bars” and “Beat” info from the “On Beat Event” delegate, this is my output:

LogBlueprintUserMessages: [Music_BP_C_0] Bar# 0 Beat# 2.0
LogBlueprintUserMessages: [Music_BP_C_0] Bar# 0 Beat# 4.0
LogBlueprintUserMessages: [Music_BP_C_0] Bar# 0 Beat# 6.0
LogBlueprintUserMessages: [Music_BP_C_0] Bar# 0 Beat# 0.0
LogBlueprintUserMessages: [Music_BP_C_0] Bar# 1 Beat# 2.0
LogBlueprintUserMessages: [Music_BP_C_0] Bar# 1 Beat# 4.0
LogBlueprintUserMessages: [Music_BP_C_0] Bar# 1 Beat# 6.0
LogBlueprintUserMessages: [Music_BP_C_0] Bar# 1 Beat# 0.0
LogBlueprintUserMessages: [Music_BP_C_0] Bar# 2 Beat# 2.0
LogBlueprintUserMessages: [Music_BP_C_0] Bar# 2 Beat# 4.0
LogBlueprintUserMessages: [Music_BP_C_0] Bar# 2 Beat# 6.0
LogBlueprintUserMessages: [Music_BP_C_0] Bar# 2 Beat# 0.0

I was expecting to see beats #1 - 9, for each bar… am I misunderstanding? And why are these counting in twos? Lastly, what does beat 0 translate to? Is that suppose to be the start of the bar (conventionally counted as 1)?

If I’m misunderstanding, how should I define the TimeSynth settings to align with 9/4 @ 100BPM?


Thanks for alerting us to these issues. I’ll take a look at reproducing them locally. Currently we consider the TimeSynth to be in Early Access, hopefully with help from early adopters like you, we’ll make a truly useful tool.

Thanks , I know you’re busy… happy to help however I can!

Hey @.reynolds Any luck replicating the issues I described?

@SVR33, we haven’t had a chance to look at the counting bug yet. As a work around in the meantime, you could ignore bar Events and focus entirely on Beat quantization and do beat counting locally in your script.

Hey @.reynolds, I tried your suggestion, but it seems the Beat Event doesn’t count correctly with anything other than 4 beats per bar.


Trying 5/4 still creates a 4 count, skipping the final beat (counts 1,2,3,4)
Trying 6/4 still creates a 4 count and skips beats 3 and 6 (counts 1,2,4,5)
Trying 9/4 still creates a 4 count and skips beats 2, 4, 6, 8 & 9 (counts 1,3,5,7)

So, I have a crazy issue that I almost can’t believe I can’t find anywhere, but…it’s here.

It’s as simple as this: in a packaged game (not editor), Unreal will crash if you attempt to open level while a TimeSynth component is playing (or even after you stop it).

I took this project and the only thing I did was wire the “Play Hit” button to load another map, put the two maps in the packaged build, and built it. You can change maps if you don’t hit the play button, but if you hit the play button and then try, it crashes immediately, with the crash log:

[2019.12.14-21.59.56:106][355]LogOutputDevice: Error: Ensure condition failed: 0 [File: C:/Build/++UE4/Sync/Engine/Source/Runtime/CoreUObject/Private/UObject/GarbageCollection.cpp] [Line: 1547]
[2019.12.14-21.59.56:106][355]LogOutputDevice: Error: Spent to much time waiting for FinishDestroy for 2 object(s) (last object: SoundWave None.None), check log for details

Admittedly I’m running this in 4.23.1, not 4.22, but I can’t downgrade my actual project where this is relevant, so.

Is there any possible workaround to this? Kind of need to change maps. :frowning:

@.reynolds Still looking for an answer on this. Any luck?