
рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреА рд╕реБрдмрд╣ рдореЗрдВ, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдорд╛рдзрд╛рди рдмрд╣реБрдд рдЕрдЬреАрдм, рдкреГрдердХ рдФрд░ рдЕрд╕рд╛рдорд╛рдиреНрдп рджрд┐рдЦреЗред рдЖрдЬ, рдХрдИ рдПрдордПрд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рдЯреВрд▓рдХрд┐рдЯ рдХреЗ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдЪрд┐рдд рдореЗрдВ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЙрдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡реИрд╕реЗ, рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рддрд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд╡рд┐рд░реЛрдз рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдкрдиреЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдЙрджреНрдпреЛрдЧ рд▓реАрдк рдФрд░ рд╕реАрдорд╛ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЙрддреНрдкрд╛рджрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЕрдкрдиреА рдЙрдкрд▓рдмреНрдзрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдЖрдк рд╣рдорд╛рд░реА рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╕реЗрд╡рд╛ рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рд╕рд╣реА рд╡реАрдбрд┐рдпреЛ рд╕рд╛рдордЧреНрд░реА рдЦреЛрдЬрдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реИрдХрдбрд╝реЛрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рддреЗ рдФрд░ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ: рдкрд╛рда, рдЪрд┐рддреНрд░, рд╡реАрдбрд┐рдпреЛ, рд▓реЗрдЦ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВред
рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдорд▓реНрдЯреАрдореАрдбрд┐рдпрд╛ рд╕рд╛рдордЧреНрд░реА рдЦреЛрдЬ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ? рдПрдХ рдкреВрд░реНрдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╡рд░рдг рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡реАрдбрд┐рдпреЛ рдпрд╛ рдЪрд┐рддреНрд░ рдХреЛ рдПрдХ рдирд╛рдо рджреЗрдВ, рдХрдИ рдЯреИрдЧ рдЪреЛрдЯ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛рдПрдВрдЧреЗред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рд░ рдХреЛрдИ рдРрд╕реЗ рд╕рд╛рдордЧреНрд░реА рд╕реБрдзрд╛рд░ рдкрд░ рд╕рдордп рдирд╣реАрдВ рдмрд┐рддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ред рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпреВрдЯреНрдпреВрдм рдкрд░ рдПрдХ рд▓рд┐рдВрдХ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдирдпрд╛ рд╡реАрдбрд┐рдпреЛ рд╣реИ рдФрд░ рдХреНрд▓рд┐рдХ рдХреЛ рд╕рд╣реЗрдЬрддрд╛ рд╣реИред рдРрд╕реА "рдЧреНрд░реЗ" рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рд╕реЗрд╡рд╛ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреА рд╣реИ? рдкрд╣рд▓рд╛ рд╡рд┐рдЪрд╛рд░ YouTube рдкреВрдЫрдирд╛ рд╣реИ? рд▓реЗрдХрд┐рди YouTube рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ (рдЕрдХреНрд╕рд░ рдПрдХ рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) рд╕реЗ рднреА рднрд░рд╛ рд╣реИред рдЕрдХреНрд╕рд░ рд╡реАрдбрд┐рдпреЛ рд╕рд╛рдордЧреНрд░реА Youtube рд╕реЗрд╡рд╛ рд╕реЗ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╡реАрдбрд┐рдпреЛ рдХреЛ "рд╕реБрдирдиреЗ" рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рд╕рд┐рдЦрд╛рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ "рд╕рдордЭрдиреЗ" рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рдорд┐рд▓рд╛ред
рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ, рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдирдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЬ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рджрд╕ рдбреЗрдЯрд╛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХреЛрдВ рдХрд╛ рдПрдХ рдХрд░реНрдордЪрд╛рд░реА рд╣реЛрдирд╛ рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИ, рдмрд╕ рджреЛ рджрд┐рди рдФрд░ рдереЛрдбрд╝рд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдВрд╕рд╛рдзрдиред
рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди
рд╣рдорд╛рд░реЗ microservice, рдЪрд▓реЛ рдЗрд╕реЗ
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╣рддреЗ рд╣реИрдВ, рдЪрд╛рд╣рд┐рдП:
- рдореАрдбрд┐рдпрд╛ рд╕реЗрд╡рд╛ рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ;
- рдСрдбрд┐рдпреЛ рдЯреНрд░реИрдХ рдирд┐рдХрд╛рд▓реЗрдВ;
- рдСрдбрд┐рдпреЛ рдЯреНрд░реИрдХ рдХреЛ рд╕реБрдиреЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рднрд╛рд╖рдг рджреЗрдВ;
- 20 рдХреАрд╡рд░реНрдб рдЦреЛрдЬреЗрдВ;
- рдкрд╛рда рд╕реЗ рдПрдХ рд╡рд╛рдХреНрдп рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЬреЛ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рд░ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ;
- рд╕рд╛рдордЧреНрд░реА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкрд░рд┐рдгрд╛рдо рднреЗрдЬреЗрдВ;
рд╣рдо
рдкрд╛рдпрдерди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рддреИрдпрд╛рд░ рдПрдордПрд▓ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдПрдХ рдХрджрдо: рдСрдбрд┐рдпреЛ рдЯреВ рдЯреЗрдХреНрд╕реНрдЯред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
pip3 install wave numpy tensorflow youtube_dl ffmpeg-python deepspeech nltk networkx brew install ffmpeg wget
рдЕрдЧрд▓рд╛, рдореЛрдЬрд╝рд┐рд▓рд╛ рд╕реЗ рднрд╛рд╖рдг рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЕрдирдкреИрдХ рдХрд░реЗрдВ - рдбреАрдкрд╕реНрдкреЗрд╕ред
mkdir /Users/Volodymyr/Projects/deepspeech/ cd /Users/Volodymyr/Projects/deepspeech/ wget https://github.com/mozilla/DeepSpeech/releases/download/v0.3.0/deepspeech-0.3.0-models.tar.gz tar zxvf deepspeech-0.3.0-models.tar.gz
рдореЛрдЬрд╝рд┐рд▓рд╛ рдЯреАрдо рдиреЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛, рдЬреЛ TensorFlow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рд╕рд╛рде рд▓рдВрдмреЗ рдСрдбрд┐рдпреЛ рдХреНрд▓рд┐рдк рдХреЛ рдкрд╛рда рдХреЗ рдмрдбрд╝реЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред
TensorFlow рдЖрдкрдХреЛ рд╕реАрдкреАрдпреВ рдФрд░ рдЬреАрдкреАрдпреВ рджреЛрдиреЛрдВ рдкрд░ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рд╣рдорд╛рд░рд╛ рдХреЛрдб рд╕рд╛рдордЧреНрд░реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдХреЗ рд╢реБрд░реВ рд╣реЛрдЧрд╛ред рдЕрджреНрднреБрдд
youtube-dl рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреЛрд╕реНрдЯ-рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИ рдЬреЛ рд╡реАрдбрд┐рдпреЛ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдЗрд╕рдореЗрдВ рдЙрд╕рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкреЛрд╕реНрдЯ-рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрдб рдереЛрдбрд╝рд╛ рд╕реАрдорд┐рдд рд╣реИ, рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХреИрд╕реЗ рдлрд┐рд░ рд╕реЗ рднрд░рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕рдХреА рдорджрдж рдХрд░реЗрдВрдЧреЗред
рдбреАрдкрд╕реНрдкреАрдЪ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдореЛрдиреЛ рдЯреНрд░реИрдХ рдФрд░ 16K рд╕реИрдВрдкрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдСрдбрд┐рдпреЛ рдлрд╛рдЗрд▓ рдЬрдорд╛ рдХрд░рдиреА рд╣реЛрдЧреАред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЕрдкрдиреА рдкреНрд░рд╛рдкреНрдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
_ = ffmpeg.input(youtube_id + '.wav').output(output_file_name, ac=1, t=crop_time, ar='16k').overwrite_output().run(capture_stdout=False)
рдЙрд╕реА рдСрдкрд░реЗрд╢рди рдореЗрдВ, рд╣рдо рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ "t" рдкрд╛рд╕ рдХрд░рдХреЗ рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдХреА рдЕрд╡рдзрд┐ рдХреЛ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдбреАрдк рд╕реНрдкреАрдЪ рдореЙрдбрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред
deepspeech = Model(args.model, N_FEATURES, N_CONTEXT, args.alphabet, BEAM_WIDTH)
рд╡реЗрд╡ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо np.array рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рдлреНрд░реЗрдо рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдбреАрдкрд╕реНрдкреЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЗрдирдкреБрдЯ рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рддреЗ рд╣реИрдВред
fin = wave.open(file_name, 'rb') framerate_sample = fin.getframerate() if framerate_sample != 16000: print('Warning: original sample rate ({}) is different than 16kHz. Resampling might produce erratic speech recognition.'.format(framerate_sample), file=sys.stderr) fin.close() return else: audio = np.frombuffer(fin.readframes(fin.getnframes()), np.int16) audio_length = fin.getnframes() * (1/16000) fin.close() print('Running inference.', file=sys.stderr) inference_start = timer() result = deepspeech.stt(audio, framerate_sample)
рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдЖрдиреБрдкрд╛рддрд┐рдХ, рдЖрдкрдХреЛ рдкрд╛рда рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред
рджреЛ рдХрджрдо: "рдЕрд░реНрде" рдвреВрдБрдврдирд╛
рдкрд░рд┐рдгрд╛рдореА рдкрд╛рда рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╢рдмреНрджреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЧреНрд░рд╛рдлрд╝ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рдпрд╣ рд╡рд┐рдзрд┐ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдкрд╣рд▓реЗ рд╣рдо рд╕рднреА "рдЕрджреНрд╡рд┐рддреАрдп" рд╢рдмреНрдж рдкрд╛рддреЗ рд╣реИрдВ, рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдпреЗ рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рдл рдХреЗ рдХреЛрдиреЗ рд╣реИрдВред рджреА рдЧрдИ рд▓рдВрдмрд╛рдИ рдХреЗ "рд╡рд┐рдВрдбреЛ" рдХреЗ рд╕рд╛рде рдкрд╛рда рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рд╢рдмреНрджреЛрдВ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдкрд╛рддреЗ рд╣реИрдВ, рд╡реЗ рд╣рдорд╛рд░реЗ рдЧрдлрд╝ рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рд╣реЛрдВрдЧреЗред рдЧреНрд░рд╛рдл рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдлрд╝рд┐рд▓реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рднрд╛рд╖рдг рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рднрд╛рдЧ рдХреА рдХреЗрд╡рд▓ рд╢рд╛рдмреНрджрд┐рдХ рдЗрдХрд╛рдЗрдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдХреЗрд╡рд▓ рд╕рдВрдЬреНрдЮрд╛ рдФрд░ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдХреЗрд╡рд▓ рдЙрди рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд┐рдирд╛рд░реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╕рдВрдЬреНрдЮрд╛ рдФрд░ рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмреАрдЪ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ рд╕реЗ рдЬреБрдбрд╝реЗ рд╕реНрдХреЛрд░ рдХреЛ 1 рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд░реИрдВрдХрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд░реИрдВрдХрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдПрдХ "рд╡реЛрдЯ" рдпрд╛ "рд╕рд┐рдлрд╛рд░рд┐рд╢" рд╣реИред рдЬрдм рдПрдХ рд╢реАрд░реНрд╖ рджреВрд╕рд░реЗ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдЗрд╕ (рдХрдиреЗрдХреНрдЯреЗрдб) тАЛтАЛрд╢реАрд░реНрд╖ рдХреЗ рд▓рд┐рдП "рд╡реЛрдЯ" рдХрд░рддрд╛ рд╣реИред рдХрд┐рд╕реА рдЪреЛрдЯреА рдХреЗ рд▓рд┐рдП рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рд╡реЛрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдЙрд╕ рдЪреЛрдЯреА рдХрд╛ рдорд╣рддреНрд╡ рдЙрддрдирд╛ рд╣реА рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдорддрджрд╛рди рд╢реАрд░реНрд╖ рдХрд╛ рдорд╣рддреНрд╡ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдорддрджрд╛рди рд╕реНрд╡рдпрдВ рдХрд┐рддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдФрд░ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рд░реИрдВрдХрд┐рдВрдЧ рдореЙрдбрд▓ рджреНрд╡рд╛рд░рд╛ рднреА рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреА рдЬрд╛рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╢реАрд░реНрд╖ рд╕реЗ рдЬреБрдбрд╝реЗ рд╕реНрдХреЛрд░ рдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдбрд╛рд▓реЗ рдЧрдП рд╡реЛрдЯреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЪреЛрдЯрд┐рдпреЛрдВ рдХреА рд░реЗрдЯрд┐рдВрдЧ рдЗрди рд╡реЛрдЯреЛрдВ рдХреЛ рдбрд╛рд▓рддреА рд╣реИред
рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЧреНрд░рд╛рдл рд╣реИ G = (V, E) рдЬреЛ рдХрд┐ рд╡рд░реНрдЯрд┐рд╕ V рдФрд░ рдХрд┐рдирд╛рд░реЛрдВ рдИ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рд╣реИред рджрд┐рдП рдЧрдП рд╡рд░реНрдЯреЗрдХреНрд╕ V рдХреЗ рд▓рд┐рдП, рд╡рд╣рд╛рдВ рд╡рд░реНрдЯрд┐рдХрд▓ E рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ vi рдХреЗ рд▓рд┐рдП, рдЗрд╕рдореЗрдВ (Vi) рдХреЛрдиреЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдмрд╛рд╣рд░ (Vi) рдХреЛрдиреЗ рдЬрд┐рдирдХреЗ рд╕рд╛рде рд╢реАрд░реНрд╖ v Vi рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╡рд░реНрдЯ рд╡реА рдХреЗ рд╡рдЬрди рдХреЛ рд╕реВрддреНрд░ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЬрд╣рд╛рдВ d рдХреНрд╖реАрдгрди / рджрдорди рдХрд╛рд░рдХ рд╣реИ, 1 рд╕реЗ 0 рддрдХ рдорд╛рди рд▓реЗ рд░рд╣рд╛ рд╣реИред
рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдореЛрдЯреЗ рдЕрдиреБрдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдмрд╛рд░ рдЧреНрд░рд╛рдл рдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЧреНрд░рд╛рдл рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорд╛рдирд┐рдд рдЕрдиреБрдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд░реНрдЯрд┐рдХрд▓ рдШрдЯрддреЗ рдХреНрд░рдо рдореЗрдВ рдХреНрд░рдордмрджреНрдз рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рд╕реВрдЪреА рдореЗрдВ рд╕рдмрд╕реЗ рдКрдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдиреЗ рд╣рдорд╛рд░реЗ рдЗрдЪреНрдЫрд┐рдд рдХреАрд╡рд░реНрдб рд╣реЛрдВрдЧреЗред
рдкрд╛рда рдореЗрдВ рд╕рдмрд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╡рд╛рдХреНрдп рд╡рд╛рдХреНрдп рдореЗрдВ рд╕рднреА рд╢рдмреНрджреЛрдВ рдХреА рд░реЗрдЯрд┐рдВрдЧ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЗ рдФрд╕рдд рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рд╣рдо рд╕рднреА рдЕрдиреБрдорд╛рдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рд╡рд╛рдХреНрдп рдореЗрдВ рд╢рдмреНрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
iMac:YoutubeSummarizer $ cd /Users/Volodymyr/Projects/YoutubeSummarizer ; env "PYTHONIOENCODING=UTF-8" "PYTHONUNBUFFERED=1" /usr/local/bin/python3 /Users/Volodymyr/.vscode/extensions/ms-python.python-2018.11.0/pythonFiles/experimental/ptvsd_launcher.py --default --client --host localhost --port 53730 /Users/Volodymyr/Projects/YoutubeSummarizer/summarizer.py --youtube-id yA-FCxFQNHg --model /Users/Volodymyr/Projects/deepspeech/models/output_graph.pb --alphabet /Users/Volodymyr/Projects/deepspeech/models/alphabet.txt --lm /Users/Volodymyr/Projects/deepspeech/models/lm.binary --trie /Users/Volodymyr/Projects/deepspeech/models/trie --crop-time 900 Done downloading, now converting ... ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers built with Apple LLVM version 10.0.0 (clang-1000.11.45.5) configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gpl --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-opencl --enable-videotoolbox libavutil 56. 22.100 / 56. 22.100 libavcodec 58. 35.100 / 58. 35.100 libavformat 58. 20.100 / 58. 20.100 libavdevice 58. 5.100 / 58. 5.100 libavfilter 7. 40.101 / 7. 40.101 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 3.100 / 5. 3.100 libswresample 3. 3.100 / 3. 3.100 libpostproc 55. 3.100 / 55. 3.100 Guessed Channel Layout for Input Stream
рдкрд░рд┐рдгрд╛рдо
рдЖрдкрдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рддреАрди рдпрд╛ рдЪрд╛рд░ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрдЬ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдВ, рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ! рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреГрддреНрд░рд┐рдо рдмреБрджреНрдзрд┐ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреА рдмреБрджреНрдзрд┐рдорддреНрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рдХреЛрдб
рдореЗрд░реЗ рдЧрд┐рддреБрдм рднрдВрдбрд╛рд░ рдореЗрдВ рдЙрдкрд▓рдмреНрдз
рд╣реИ ред