Нет, этот алгоритм не совсем подходит.
Наложение не получается.
Например, если был сигнал
__|--|__|--|__|--|
то после сдвига тона на октаву вверх получится
_|-|_|-|_|-|
Так как звук, тон которого надо сдвинуть не такой простой, то удлинить его нельзя.