BingLingGroup / autosub

Command-line utility to transcribe/translate from video/audio/subtitles to subtitles
GNU General Public License v2.0
1.98k stars 244 forks source link

empty subtitle(I put an example) #106

Closed balabanahei closed 4 years ago

balabanahei commented 4 years ago

确保你已经看过 readme,也搜索并阅读过和你遇到的情况相关的问题。否则会被认为是重复的并被立刻关闭。

描述问题 输出了空字幕。在issue看到了很多类似问题,但我认为不是db小或分割太短的问题。我尝试各种autosub和语音增强依然无法解决它。我把一个‘’音频样例‘’上传到了百度云,渴望您能亲自去实验找到问题到底出在哪里。可能这是一个完善autosub的一个很好的样例。

链接: https://pan.baidu.com/s/18FKpqbl2s0TGD4DoiM2DVA 提取码: yebv

复现问题 复现问题的步骤:

  1. 你使用的命令行参数。 autosub -i train19077e.m4a -S en-us -of full-src

  2. 一份完整的autosub命令行输出。你可以使用Ctrl-ACtrl-C去复制所有输出。推荐使用以下的代码块markdown语法,将代码块复制到```和```之间即可。

Translation destination language not provided. Only performing speech recognition.
Speech language is the same as the destination language. Only performing speech recognition.

Convert source file to "/tmp/tmpms9_gitv.wav" to detect audio regions.
/usr/bin/ffmpeg -hide_banner -y -i "train19077e.m4a" -vn -ac 1 -ar 48000 "/tmp/tmpms9_gitv.wav"
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'train19077e.m4a':
  Metadata:
    major_brand     : M4A
    minor_version   : 512
    compatible_brands: isomiso2
    encoder         : Lavf58.29.100
  Duration: 00:01:24.48, start: 0.023220, bitrate: 130 kb/s
    Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Output #0, wav, to '/tmp/tmpms9_gitv.wav':
  Metadata:
    major_brand     : M4A
    minor_version   : 512
    compatible_brands: isomiso2
    ISFT            : Lavf56.40.101
    Stream #0:0(und): Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, mono, s16, 768 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc56.60.100 pcm_s16le
Stream mapping:
  Stream #0:0 -> #0:0 (aac (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
size=    7920kB time=00:01:24.47 bitrate= 768.0kbits/s
video:0kB audio:7919kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000962%

Use ffprobe to check conversion result.
/usr/bin/ffprobe /tmp/tmpms9_gitv.wav -show_format -pretty -loglevel quiet
[FORMAT]
filename=/tmp/tmpms9_gitv.wav
nb_streams=1
nb_programs=0
format_name=wav
format_long_name=WAV / WAVE (Waveform Audio)
start_time=N/A
duration=0:01:24.474208
size=7.733919 Mibyte
bit_rate=768.007000 Kbit/s
probe_score=99
TAG:encoder=Lavf56.40.101
[/FORMAT]

Conversion complete.
Use Auditok to detect speech regions.

"/tmp/tmpms9_gitv.wav" has been deleted.

Converting speech regions to short-term fragments.
Converting: 100% |########################################################################################| Time:  0:00:00

Sending short-term fragments to Google Speech V2 API and getting result.
Speech-to-Text: 100% |####################################################################################| Time:  0:00:29
Speech-to-Text recogntion result json file created at "train19077e.result.json".

All works done.
  1. 等等

期待的行为 期望开源者能亲自尝试识别我提供的样例。在线等(^-^)

输出截图 合适的话可以提供用以描述问题的截图。但是不推荐用截图来展示命令行输出,除非你真的认为这很有必要。 image

image 操作环境(请提供以下完整数据):

额外信息(可选) 任何其他的能描述问题的信息。

BingLingGroup commented 4 years ago

结果.zip

首先当然是你的音频音量太小,但是音量太小也不至于就完全没有结果,事实上也能得到结果,我这个压缩包里给出了使用音频预处理前后两次的识别结果再加上多一次预处理后的执行,证明提高音频音量是很必要的事情。除此之外你可能需要检查你的网络连接稳定性,就这些。