Замедлить скорость воспроизведения? - PullRequest
0 голосов
/ 25 августа 2010

Как можно замедлить аудиофайл (только для воспроизведения) в Mac OS X, но сохранить хорошее качество? Я пытался использовать QTKit для замедления звука, но качество плохое.

Редактировать: Я использую этот код:

QTMovie *audio = [[QTMovie alloc] initWithFile:mediaClipURL error:&error];
// ... (error handling)
[audio setRate:0.5];

Ответы [ 2 ]

1 голос
/ 25 августа 2010

Как и предполагал «markratledge», я также подозреваю, что вам нужна «регулировка скорости без изменения высоты тона». Это довольно просто обойтись без стороннего кода. Вы можете установить атрибут QTMovieRateChangesPreservePitchAttribute и просто настроить скорость фильма:

QTMovie = [[QTMovie alloc] initWithURL:mediaClipURL error:nil];
if (movie)
{
    // Set preserve-pitch attribute
    [movie setAttribute:[NSNumber numberWithBool:YES] forKey:QTMovieRateChangesPreservePitchAttribute];
    [movie setRate:0.5];
}
// ...

Примечание. Чем дальше от 1,0, тем больше искажений. Там действительно нет никакого способа обойти это. Сэмплы будут повторяться при медленном движении с одинаковым шагом, а сэмплы будут очень короткими при быстром движении с одинаковым шагом Это факт обработки звука - чем сильнее эффект, тем больше искажений вы получите.

0 голосов
/ 25 августа 2010

Аудиоредактор Audacity http://audacity.sourceforge.net/ обладает эффектом увеличения темпов снижения без изменения высоты тона и является открытым исходным кодом. Так что это может быть полезно для некоторого применимого кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...