Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Audio 使用软件或命令行从音频/视频中删除人声_Audio_Video - Fatal编程技术网

Audio 使用软件或命令行从音频/视频中删除人声

Audio 使用软件或命令行从音频/视频中删除人声,audio,video,Audio,Video,我正在寻找一种从视频中删除人声的方法。最初,我有以下几点: 视频1.mp4 voice1.mp3 video1有图像,只有人声,而voice1只有一个人声,然后我将video1与voice1结合创建了video2.m4,因此在video2中,我可以听到video1和voice1的音频。值得一提的是,video1和voice1都有大约2分钟的相同长度 这是一年前的事了。我无意中删除了video1.mp4,但我仍然有video2和voice1。。现在我需要再次获得video1.mp4。换句话说,

我正在寻找一种从视频中删除人声的方法。最初,我有以下几点:

  • 视频1.mp4
  • voice1.mp3
video1有图像,只有人声,而voice1只有一个人声,然后我将video1与voice1结合创建了video2.m4,因此在video2中,我可以听到video1和voice1的音频。值得一提的是,video1和voice1都有大约2分钟的相同长度

这是一年前的事了。我无意中删除了video1.mp4,但我仍然有video2和voice1。。现在我需要再次获得video1.mp4。换句话说,如何从video2中删除voice1?如何从video2中删除人声

我不在乎这是通过软件、命令行还是计算机代码实现的(可能是Phyton;我听说Python可以通过音频实现很酷的功能)

注意:StackOverflow()中有一个类似的问题,但它没有解释如何删除音频。

问题 我不认为这是一个去除不需要的声音的问题,而认为这只是消除两个信号之和。目前我们有三个音频信号要考虑,让我们称之为

  • A
    :视频1.mp4的音频曲目
  • B
    :voice1.mp3的音频
  • C
    A
    B
    (即
    C=A+B
    )的总和,现在是
    video2.mp4
我们不再有权访问
A
,但仍然有
B
C

理想情况 理想情况假设:

  • A
    B
  • 两个信号的求和是在没有任何滤波的情况下完成的
解决方案 这种情况下的解决方案相当简单,我们只需将
B
乘以
-1
(即反转)的增益值,然后与信号
C
相加

如果

C = A + B
然后

A = C - B
A = C + (B * -1)
鉴于您首先对这些信号进行了汇总,我假设您可以访问一些音频/视频编辑软件。要反转
B
,您可以将该文件导入以下文件之一:

任何可以编辑音频的软件也应该能够反转音频信号。在同一个项目中使用
C
B
可能是最理想的选择,无论您使用什么工具来动态调整

警告
  • 如果
    B
    的增益发生变化(即
    C=A+xB
    ),则解决方案仍然相当简单,因为您只需将
    -B
    乘以系数
    x
  • 如果
    B
    A
    长度不同,则需要将
    -B
    C
    正确对齐,才能取消信号
非理想情况

如果你认为已经有一些过程应用到<代码> B<代码>,则解决方案有点太多了。这个过程可以是任何东西,滤波(EQ)、延迟、混响、音调偏移、速度偏移。让我们把这个过程称为一个函数

H()
,如果
B
是这个过程的输入,那么就是:
H(B)

C = A + H(B)
我们可以在更长的时间内简单地反转
B
,我们现在需要首先对
B
应用完全相同的过程,然后反转为
H(B)
可能不等于
H(-B)
。您应该先以完全相同的方式处理
B
,然后在最后将其反转


如果出于任何原因,您记不起应用于
B
的流程,那么这会让您有点卡住。在这种情况下,最好的办法是尝试重新创建一个错误的过程。除非您精确匹配流程,否则可能会有一些
H(B)
的残余。

您可以将语音音频反转并添加到video2.mp4中。如果voice1音频在添加到视频1时没有以任何方式更改,它应该被取消。当然,这并不是删除人声,而只是简单的软件,无论您首先使用什么方法来组合音频和视频,都应该能够:1。倒转语音1。2.将反转的voice1文件添加到Video2Tanks中,以获得响应。你能把它作为一个如何做阶段取消链接的答案吗?那就太好了