WebGL では使えないので注意
WebGL は AudioMixer に対応していない。
Unity の AudioSource の Pitch では音楽だけでなくピッチそのものが変わってしまうので、早いうえに音が高いみたいなことが起こる。
そこで AudioMixer の PitchShifter なる機能を使って音楽のはやさを早くしようということにした。
今回は最低速度を等倍に最大速度を二倍にする。(pitch の上限が2なので速度はこれ以上あがらない)
まずは AudioMixer を作る。

次に AudioMixer を選択して AudioMixer ウィンドウを開き、作った Mixer のカードみたいなやつの Add... から PitchShifter を選択して追加。選択ウィンドウで全部隠れてるけど下に作った Mixer のカードみたいなやつがいる。

次に カードみたいなやつ を選択して PitchShifter の Pitch を右クリックし Expose する。

あとは ExposeParamaters を適当に編集する。
Game の下にある ExposedParameters から編集したいやつを右クリックして名前を変えたりする。
今回は Shifter という名前にした。(スクリプトで使用するのでわかりやすい名前がいいと思われる)

あとは適当にスクリプト書いてはっつけていく。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;
using UnityEngine.UI;
public class PitchShifterScript : MonoBehaviour
{
public AudioSource source;
public AudioMixer mixer;
public Slider slider;
float pitch;
// Start is called before the first frame update
void Start()
{
source.Play();
source.loop = true;
}
// Update is called once per frame
void Update()
{
source.pitch = 1f + (float)(slider.value / slider.maxValue);
pitch = 1f / source.pitch;
mixer.SetFloat("Shifter",pitch);
}
}AudioSource , AudioMixer, Slider を UnityEditor で割り当てる。終わり。
実際のテスト動画。
https://youtu.be/vReTPUf7cfM