protected override void OnCreate()
        {
            if (!WaveHelper.TryReadWav(
                    Path.Combine(Application.dataPath, "Music", "short.wav"),
                    //Path.Combine(Application.dataPath, "Music", "bensound-summer.wav"),
                    out var music
                    ))
            {
                return;
            }

            // try read uses temporary allocation so we resample with more persistant allocation
            this._music = new AudioSampleSet(music.Initialize(AudioSettings.outputSampleRate));
            music.Dispose();

            this.EntityManager.SetSharedComponentData(
                this.EntityManager.CreateEntity(typeof(ChangesMusicTrack)),
                new ChangesMusicTrack(this._music)
                );
        }
        private static IEnumerable <AudioSampleData> GetAudioSamples()
        {
            foreach (var file in Directory.GetFiles(Path.Combine(Application.dataPath, "Samples")))
            {
                var extension = Path.GetExtension(file);
                if (!extension.Equals(".wav", StringComparison.InvariantCultureIgnoreCase))
                {
                    continue;
                }

                if (!WaveHelper.TryReadWav(file, out var sample))
                {
                    continue;
                }

                Debug.Log($"Found and initialized '{file}'");
                var prepared = sample.Initialize(AudioSettings.outputSampleRate);
                sample.Dispose();
                yield return(prepared);
            }
        }