gpt4 book ai didi

php - 如何使用PHP更改音频文件的速度?

转载 作者:行者123 更新时间:2023-12-03 00:04:30 25 4
gpt4 key购买 nike

有没有什么方法可以使用PHP设置音频文件的速度?

随着下面

How to detect the BPM of a song in php

我们可以检测到bpm(获取bpm),但我找不到设置音频mp3文件速度的方法。

最佳答案

人们不只是设置音频文件的速度。如果提高其播放速度,则相同数量的声波峰值将在更短的时间内塞满;它们被挤压在一起,波长必须减小,这意味着频率成比例地增加,并且正如Niyaz等观察到的那样,您会听到较高的“音调”。

如果要使速度提高一倍,则需要将波形压缩一半的时间,然后将其设置回原始宽度,则需要将其降低一半(一分为二)。 在PHP 中无法(轻松)完成此操作。

例如,您可以使用SoX or ffmpeg (强调我)来执行此操作:

FFmpeg has a built-in audio filter for changing the tempo without changing the pitch. We need to encode the file to some format your phone plays. This depends on the phone of course. Many modern smartphones like AAC audio:

ffmpeg -i weird.wma -filter:a "atempo=1.7" -c:a libfaac -q:a 100

final.m4a



当然,您将使用.mp3而非wma或m4a作为输入和输出。

在PHP中,您只需调用ffmpeg:
$results = shell_exec("/path/to/wherever/is/ffmpeg -i '{$inputFile}' -filter:a 'atempo={$newTempo}' -q:a {$percentQuality} '{$outputFile}' 2>&1");

并检查 $results以及输出文件是否正常。

关于php - 如何使用PHP更改音频文件的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37050756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com