Нашел решение, если кому-то интересно ... Проблема в том, что onKeyDown запускает новый экземпляр, пока он нажат. Таким образом, функция создает новый объект «Beep» ПОВЕРХ существующего. Таким образом, когда срабатывает функция stopTransission, она останавливает только последний осциллятор, оставляя работающими остальные под ним. 'как только создается первый осциллятор, а затем не позволяет функции создавать больше осцилляторов. Затем этот флаг должен быть сброшен на «false», когда функция запускается при нажатии клавиши.