我知道如何用atempo改变速度,但音频文件有点失真,我找不到一种可靠的改变音高的方法。 (比如说,将节奏和音高一起提高140%)
Sox有一个速度选项,但截断音量并不像ffmpeg那样广泛使用。 mplayer有一个完美的速度选项,但没有额外的库我就无法输出。
我似乎明白ffmpeg没有办法改变音高(也许它最近会改变?)但是有没有办法改变频率或其他一些标志来模仿改变音高?看得很远,找不到合适的解决方案。
编辑:asetrate:48k * 1.4(假设最初48k)似乎不起作用,仍然失真和音高并没有太大变化。
Edit2:https://superuser.com/a/1076762此答案有效,但质量远低于public class CustomAdapter extends ArrayAdapter<String> {
public CustomAdapter(Context context, ArrayList<String> names) {
super(context, R.layout.custom_layout, names);
}
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(getContext());
View customView = inflater.inflate(R.layout.custom_layout, parent, false);
String singleName = getItem(position);
TextView tv = (TextView) customView.findViewById(R.id.sNametv);
tv.setText(singleName);
return customView;
}
}
选项
答案 0 :(得分:4)
foo
似乎对我有用。我用ffprobe检查了输入和输出文件的属性,似乎没有任何可能影响其质量的差异。虽然我已经运行了几次并且其中一些产生的文件有一些工件,即使代码行相同,所以它可能是由一些ffmpeg错误造成的;如果您对质量不满意,请尝试再次运行。