3

このように聞こえるはずです。

私が試してみました:

NSURL* url = [[NSBundle mainBundle] URLForResource:@"Justin Bieber - U Smile" withExtension:@"mp3"];

    self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:
                             url error:nil];
    self.player.volume = 1.0f;
    self.player.enableRate=YES;
    [self.player prepareToPlay];
    [self.player setNumberOfLoops:0];
    self.player.rate=0.16f;

    [self.player play];

しかし、それはひどく聞こえます。

4

2 に答える 2

2

あなたが尋ねるのは簡単な作業ではありません。その理由は、ピッチが本質的にオーディオの再生速度に関連しているからです。たとえば、100 Hzでの10秒の正弦波は、2倍遅くなると、20秒の50 Hzの波になります(Hzは、波の速度と聞こえるピッチの両方に関連しています)。ピッチに影響を与えずにこの正弦波を2倍遅くするには、アルゴリズムによって、挿入する10秒間のオーディオから欠落しているサウンドを特定し、このオーディオを生成して、そこにあるものとメッシュ化する必要があります。それは簡単ではありません、実際それは本当に難しいです。

優れたオーディオ編集プログラム(たとえば、Logic Pro)は、いくつかの複雑なアルゴリズムを使用して、かなり優れた仕事をすることができます。しかし、数倍以上のことはかなり恐ろしい結果を生むでしょう。その理由は、以前には存在しなかったオーディオを生成し、それを良い音にするのが難しいからです。


しかし、これが私がそれについて行く方法です

(そして、上記のリンクはどのように良いと思いますか):

まず、非常に高品質のオーディオから始めます。128 kpbs mp3を避けてください、彼らはそれを切るつもりはありません。音の情報が多ければ多いほど、アルゴリズムが良い音を作成しやすくなります。

次に、600〜900%の係数でうまく機能するアルゴリズムを研究します。これをチェックしてください:http://hypermammut.sourceforge.net/paulstretch/-オープンソースなので、そこから多くを学ぶことができるはずです。さらに、このアルゴリズムは特に大規模な要素のために作られています。ビンゴ!

ある種の効果(またはいくつか)がYouTubeビデオの最終結果に適用されたと思います。上でリンクしたウェブサイトには、「スペクトルスムージング」がオーディオに適用されていると記載されています。また、リバーブのようなものは、結果に、より良い、またはより興味深いテクスチャを与える可能性があります。


特にうまくやるのは簡単なことではありません。でも面白い/楽しいはずです-頑張ってください!

于 2013-01-13T12:40:29.467 に答える
0

ウィキペディアには、何をする必要があるかをある程度説明している記事があります: link。スケーリング効果を補正するには、タイム スケールとそれに応じてピッチを調整する必要があります。些細なことではないように思えますが、既存のオープン ソース フィルター プロジェクトでソース コードを見つけてみてください。

于 2013-01-13T12:22:39.450 に答える