{"id":360548,"date":"2024-05-21T00:55:30","date_gmt":"2024-05-21T00:55:30","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=360548"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=360548","title":{"rendered":"<span>\u041d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u043c\u043d\u0435 \u0432 \u043f\u043e\u043c\u043e\u0449\u044c \u0438\u043b\u0438 \u043a\u0430\u043a \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c \u0431\u043e\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043c\u0435\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u0435\u0441\u043d\u0438<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/oh\/ct\/vv\/ohctvvogjlzxw3caxhr03cgme-w.jpeg\" title=\"\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u044c\u0438\" width=\"858\" data-src=\"https:\/\/habrastorage.org\/webt\/oh\/ct\/vv\/ohctvvogjlzxw3caxhr03cgme-w.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u041e\u0434\u043d\u0430\u0436\u0434\u044b, \u043a\u043e\u0433\u0434\u0430 \u044f \u0438\u0441\u043a\u0430\u043b \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0447\u0438 \u0432 \u0442\u0435\u043a\u0441\u0442 (\u0442\u0440\u0430\u043d\u0441\u043a\u0440\u0438\u0431\u0430\u0446\u0438\u0438), \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u0441\u0432\u043e\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/772080\/\">\u0443\u043c\u043d\u043e\u0439 \u043a\u043e\u043b\u043e\u043d\u043a\u0438<\/a>, \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c <b>Whisper<\/b> \u043e\u0442 \u0448\u0438\u0440\u043e\u043a\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <b>Open AI<\/b>. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, Whisper \u043d\u0435 \u043f\u043e\u0434\u043e\u0448\u0435\u043b \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 \u043c\u043e\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043f\u043e \u00ab\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u043c\u00bb \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c, \u043d\u043e \u0435\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u0430\u043b\u0441\u044f \u0432 \u043c\u043e\u0435\u0439 \u0434\u0443\u0448\u0435. \u041f\u0440\u043e\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0438 \u043c\u0435\u043d\u044f \u043f\u043e\u0441\u0435\u0442\u0438\u043b\u0430 \u0438\u0434\u0435\u044f: \u00ab\u041f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u043d\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u043c \u0431\u043e\u0442\u0430, \u043a\u0443\u0434\u0430 \u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0433 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0430\u0443\u0434\u0438\u043e\u0444\u0430\u0439\u043b, \u0430 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u043b \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0443\u044e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443 \u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 (\u043f\u0435\u0441\u043d\u0438) \u043d\u0430 \u0440\u043e\u0434\u043d\u043e\u0439 \u044f\u0437\u044b\u043a\u00bb. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u043e\u0439 \u0438\u0434\u0435\u0438 \u0438 Whisper \u0432 \u044d\u0442\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0437\u0430\u0439\u043c\u0435\u0442 \u043e\u0434\u043d\u0443 \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. <a name=\"habracut\"><\/a><\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0427\u0435\u043c \u0436\u0435 \u043c\u0435\u043d\u044f \u0442\u0430\u043a \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0438\u043b Whisper?<\/font><\/h2>\n<p>  \u0412\u043e \u043f\u0435\u0440\u0432\u044b\u0445, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Whisper?   <\/p>\n<blockquote><p>Whisper \u2014 \u044d\u0442\u043e \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0447\u0438. \u041e\u043d\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0430 \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u043d\u0430\u0431\u043e\u0440\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e\u0439 \u0430\u0443\u0434\u0438\u043e\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u043e\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u044c\u044e, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043c\u0443\u043b\u044c\u0442\u0438\u044f\u0437\u044b\u0447\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u0447\u0438, \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0440\u0435\u0447\u0438 \u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u044f\u0437\u044b\u043a\u0430. <\/p><\/blockquote>\n<p>  \u041d\u0443 \u0438 \u0441\u0430\u043c\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u00abWhisper\u00bb \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u0430\u043a \u0448\u0435\u043f\u043e\u0442, \u0447\u0442\u043e \u0441\u0430\u043c\u043e \u043f\u043e \u0441\u0435\u0431\u0435 \u043d\u0430\u043c\u0435\u043a\u0430\u0435\u0442 \u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0447\u0438. <\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u0431\u044b\u0442\u044c \u0433\u043e\u043b\u043e\u0441\u043b\u043e\u0432\u043d\u044b\u043c, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432\u044b\u0432\u043e\u0434: <\/p>\n<pre><code class=\"python\">import whisper model = whisper.load_model(\"base\")  # load audio and pad\/trim it to fit 30 seconds audio = whisper.load_audio(\"audio.mp3\") audio = whisper.pad_or_trim(audio)  # make log-Mel spectrogram and move to the same device as the model mel = whisper.log_mel_spectrogram(audio).to(model.device)  # detect the spoken language _, probs = model.detect_language(mel) print(f\"Detected language: {max(probs, key=probs.get)}\")  # decode the audio options = whisper.DecodingOptions() result = whisper.decode(model, mel, options)  # print the recognized text print(result)<\/code><\/pre>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u044b\u0432\u043e\u0434 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 json:<\/p>\n<pre><code class=\"json\">{'text': ' \u0421\u043e\u043b\u043d\u0435\u0447\u043d\u043e\u0435 \u0438\u0437\u043b\u0443\u0447\u0435\u043d\u0438\u0435 (\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0442\u0435\u043a\u0441\u0442 \u043e\u0431\u0440\u0435\u0437\u0430\u043b).',  'segments': [ {'id': 0, 'seek': 0, 'start': 0.0, 'end': 4.84, 'text': ' \u0421\u043e\u043b\u043d\u0435\u0447\u043d\u043e\u0435 \u0438\u0437\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043c\u043e\u0449\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u044d\u043d\u0435\u0440\u0433\u0438\u0438 \u0432 \u0421\u0435\u043b\u0435\u043d\u043d\u043e\u0439.', 'tokens': [50364, 2933, 20470, 4310, 6126, 3943, 41497, 5627, 29755, 50096, 3943, 37241, 39218, 5783, 12410, 20483, 22122, 40804, 7347, 740, 2933, 21180, 5007, 13, 50606], 'temperature': 0.0, 'avg_logprob': -0.1954750242687407, 'compression_ratio': 2.0371621621621623, 'no_speech_prob': 0.0006262446404434741}, {'id': 1, 'seek': 0, 'start': 4.84, 'end': 8.4, 'text': ' \u041e\u043d\u043e \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u043d\u0430 \u0417\u0435\u043c\u043b\u044e \u0432 \u0432\u0438\u0434\u0435 \u0432\u0438\u0434\u0438\u043c\u043e\u0433\u043e \u0438 \u0438\u043d\u0444\u0440\u0430\u043a\u0440\u0430\u0441\u043d\u043e\u0433\u043e \u0441\u0432\u0435\u0442\u0430,', 'tokens': [50606, 3688, 1234, 43829, 3310, 1470, 42604, 6578, 740, 12921, 38273, 2350, 1006, 6635, 3619, 481, 1272, 17184, 4699, 4155, 20513, 11, 50784], 'temperature': 0.0, 'avg_logprob': -0.1954750242687407, 'compression_ratio': 2.0371621621621623, 'no_speech_prob': 0.0006262446404434741}, {'id': 2, 'seek': 0, 'start': 8.4, 'end': 10.56, 'text': ' \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432 \u0432\u0438\u0434\u0435 \u043a\u043e\u0441\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043b\u0443\u0447\u0435\u0439.', 'tokens': [50784, 2559, 16584, 740, 12921, 31839, 919, 38911, 15525, 2345, 13, 50892], 'temperature': 0.0, 'avg_logprob': -0.1954750242687407, 'compression_ratio': 2.0371621621621623, 'no_speech_prob': 0.0006262446404434741},  {'id': 3, 'seek': 0, 'start': 10.56, 'end': 15.8, 'text': ' \u0421\u043e\u043b\u043d\u0435\u0447\u043d\u043e\u0435 \u0438\u0437\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u0435\u0442 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0439 \u043c\u0435\u0442\u0440 \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u0438 \u0417\u0435\u043c\u043b\u0438.', 'tokens': [50892, 2933, 20470, 4310, 6126, 3943, 41497, 5627, 33761, 39218, 9930, 37424, 740, 35350, 2601, 11157, 4441, 18791, 481, 44397, 13975, 42604, 1675, 13, 51154], 'temperature': 0.0, 'avg_logprob': -0.1954750242687407, 'compression_ratio': 2.0371621621621623, 'no_speech_prob': 0.0006262446404434741}, {'id': 4, 'seek': 0, 'start': 15.8, 'end': 19.44, 'text': ' \u042d\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u044d\u043d\u0435\u0440\u0433\u0438\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0439.', 'tokens': [51154, 6684, 28562, 5561, 28685, 12115, 31314, 9938, 7570, 489, 19480, 7347, 1006, 31211, 31806, 1008, 17271, 13, 51336], 'temperature': 0.0, 'avg_logprob': -0.1954750242687407, 'compression_ratio': 2.0371621621621623, 'no_speech_prob': 0.0006262446404434741} ], 'language': 'ru'} <\/code><\/pre>\n<p>  \u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0432\u0438\u0434\u0435\u0442\u044c \u0438\u0437 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0432\u044b\u0432\u043e\u0434\u0430, Whisper \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0442\u0440\u0430\u043d\u0441\u043a\u0440\u0438\u0431\u0430\u0446\u0438\u0438, \u0441 \u0440\u0430\u0437\u0431\u0438\u0432\u043a\u043e\u0439 \u0442\u0435\u043a\u0441\u0442\u0430 \u043d\u0430 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b \u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u043a, \u044f\u0437\u044b\u043a\u0430 \u0438 \u0434\u0440\u0443\u0433\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u044d\u0442\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0438 \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0439 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0439 \u0444\u0430\u0439\u043b \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 \u0430\u0443\u0434\u0438\u043e. <\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u0442\u0432\u0430<\/font><\/h2>\n<p>  \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0443\u044e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443 \u0430\u0443\u0434\u0438\u043e\u0444\u0430\u0439\u043b\u0430(\u043f\u0435\u0441\u043d\u0438), \u043d\u043e \u043f\u043e\u0442\u043e\u043c \u043c\u0435\u043b\u044c\u043a\u043d\u0443\u043b\u0430 \u043c\u044b\u0441\u043b\u044c: \u00ab\u041f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0442\u0435\u043a\u0441\u0442\u0430, \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043e\u0442 \u0440\u043e\u0434\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430? \u0412\u0435\u0434\u044c \u0442\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u0441\u043c\u044b\u0441\u043b \u043b\u044e\u0431\u0438\u043c\u043e\u0439 \u043f\u0435\u0441\u043d\u0438 \u0432\u0441\u0435\u0433\u043e \u0437\u0430 \u043f\u0430\u0440\u0443 \u043c\u0438\u043d\u0443\u0442.\u00bb <br \/>  \u0414\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u044d\u0442\u043e\u0439 \u0438\u0434\u0435\u0438, \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0439\u0442\u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u043f\u0443\u0442\u0451\u043c: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c API \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u043e\u043d\u043b\u0430\u0439\u043d \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a\u043e\u0432. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0430 \u043c\u043e\u0436\u0435\u0442 \u0438 \u043a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u044d\u0442\u043e \u0431\u044b\u043b\u0430 \u043c\u043e\u044f \u043e\u0448\u0438\u0431\u043a\u0430, \u0432\u0432\u0438\u0434\u0443 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0435 API. \u041d\u0443 \u0447\u0442\u043e \u0436, \u043f\u043e\u0434\u0443\u043c\u0430\u043b \u044f, \u043c\u0435\u043d\u044c\u0448\u0435 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u2014 \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0432\u043e\u0431\u043e\u0434\u044b, \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u043d\u0430 \u0431\u0430\u0437\u0435 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439. <\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u041e\u0444\u0444\u043b\u0430\u0439\u043d \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439<\/font><\/h2>\n<p>  \u0422\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0435\u0440\u044b \u043d\u0430\u043c \u043f\u043e\u043c\u043e\u0433\u0443\u0442! \u041d\u0435 \u0434\u043e\u043b\u0433\u043e \u0440\u0430\u0437\u043c\u044b\u0448\u043b\u044f\u044f, \u0440\u0435\u0448\u0438\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 Transformers, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0432 \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 <a href=\"https:\/\/huggingface.co\/models\">\u0441\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/a>. <\/p>\n<p>  \u0414\u043b\u044f \u043e\u0444\u0444\u043b\u0430\u0439\u043d \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0438 <b>Helsinki-NLP<\/b> \u043e\u0442 \u0413\u0440\u0443\u043f\u043f\u044b \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u044f\u0437\u044b\u043a\u043e\u0432\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0425\u0435\u043b\u044c\u0441\u0438\u043d\u043a\u0441\u043a\u043e\u0433\u043e \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0430. <\/p>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440 Python \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0434\u043b\u044f \u043e\u0444\u0444\u043b\u0430\u0439\u043d \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430:<\/p>\n<pre><code class=\"python\">from transformers import pipeline import torch  device = \"cuda:0\" if torch.cuda.is_available() else \"cpu\" torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32 # \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0434\u043b\u044f torch torch.set_num_threads(4) #\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441 \u043b\u044e\u0431\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439 translator   = pipeline(\"translation\", model=\"Helsinki-NLP\/opus-mt-mul-en\") text         = \"\u041a\u0430\u043a\u043e\u0439-\u0442\u043e \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u044f\u0437\u044b\u043a\u0435\" translation  = translator(text) print(translation[0]['translation_text']) <\/code><\/pre>\n<p>  \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0443\u043a\u0430\u0437\u0430\u043d \u043c\u0443\u043b\u044c\u0442\u0438\u044f\u0437\u044b\u0447\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0443 Helsinki-NLP \u043d\u0435\u0442 \u043c\u0443\u043b\u044c\u0442\u0438\u044f\u0437\u044b\u0447\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u044f\u0437\u044b\u043a, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0442\u0440\u044e\u043a\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u0418\u0418 \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434, \u0442\u043e \u0435\u0441\u0442\u044c \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0441 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u0438\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043c\u043e\u0434\u0435\u043b\u044c Helsinki-NLP\/opus-mt-en-ru.<\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u041d\u0443 \u0447\u0442\u043e \u0436, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0431\u043e\u0442\u0430<\/font><\/h2>\n<p>  \u0423\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0432\u0441\u0435 \u0441\u0432\u043e\u0438 \u0440\u0430\u0437\u043c\u044b\u0448\u043b\u0435\u043d\u0438\u044f \u043f\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0431\u043e\u0442\u0430, \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u0438\u044f\u0442\u0438\u044f \u043a\u043e\u0434\u0430, \u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u043b \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u043e\u0432:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0439 \u0437\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u0431\u043e\u0442\u0430 tg_bot.py<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">import neural_process import file_process import config from telegram import ForceReply, Update from telegram.ext import Application, CommandHandler, MessageHandler, filters, CallbackContext, ContextTypes   # \u0424\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0444\u0430\u0439\u043b\u0430 async def handle_file(update: Update, context: CallbackContext):     audio = update.message.audio     print(audio.mime_type)     # \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0430\u0443\u0434\u0438\u043e\u0444\u0430\u0439\u043b \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043f\u0443\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f     file = await context.bot.get_file(audio.file_id)     f_name = audio.file_name     local_file_path = file_process.save_audio_file(f_name, file.file_path)     # \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0430\u0443\u0434\u0438\u043e\u0444\u0430\u0439\u043b\u0430     await update.message.reply_text(         f\"\u041f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e, \u044f \u0432 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u043d\u043e\u043c \u0442\u0435\u043c\u043f\u0435 \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0430\u044e \u0430\u0443\u0434\u0438\u043e\u0444\u0430\u0439\u043b {f_name} \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044e \u0432\u0430\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0443\u044e \"         f\"\u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c.\"     )     # \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0444\u0430\u0439\u043b \u043d\u0430 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c     status = True     status_dur = True     try:         file_dur = file_process.file_duration_check(local_file_path)         if file_dur > 600:             status_dur = False     except Exception as e:         print(f\"\u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430: {e}\")         status_dur = False      # \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u0432\u043e\u0434      trance_text = '\u0432 \u044d\u0442\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u0435\u043a\u0441\u0442 \u0442\u0440\u0430\u043d\u0441\u043a\u0440\u0438\u0431\u0430\u0446\u0438\u0438 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c'     if status_dur:         try:             start_time = time.time()             trance_text = neural_process.final_process(local_file_path, f_name)         except Exception as e:             print(f\"\u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430: {e}\")             status = False     else:         status = False         await update.message.reply_text(             f\"\u0421\u043e\u0436\u0430\u043b\u0435\u044e, \u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0444\u0430\u0439\u043b\u0430. \u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0444\u0430\u0439\u043b\u0430 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0442\u044c \u0434\u0435\u0441\u044f\u0442\u044c \u043c\u0438\u043d\u0443\u0442.\"         )      if status:         # \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432\u044b\u0432\u043e\u0434 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b         tx_file_path = file_process.save_text_to_file(f_name, trance_text)         end_time = time.time()         process_time = round(end_time - start_time, 2)         await update.message.reply_text(             f\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0433\u043e\u0442\u043e\u0432! \u041b\u043e\u0432\u0438\u0442\u0435 \u0444\u0430\u0439\u043b \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c. \u0417\u0430\u0442\u0440\u0430\u0447\u0435\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f: {process_time} \u0441\u0435\u043a.  \"         )         # \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b         with open(tx_file_path, \"rb\") as document:             await context.bot.send_document(chat_id=update.message.chat_id, document=document)      else:         file_process.delete_file(local_file_path)         if status_dur:             await update.message.reply_text(                 f\"\u0421\u043e\u0436\u0430\u043b\u0435\u044e, \u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0444\u0430\u0439\u043b\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c \u0447\u0442\u043e \u0444\u0430\u0439\u043b \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0430\u0443\u0434\u0438\u043e\u0444\u043e\u0440\u043c\u0430\u0442.\"             )  # \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \/start async def start(update: Update, context: CallbackContext) -> None:     await update.message.reply_text(         '\u041f\u0440\u0438\u0432\u0435\u0442! \u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c! \u041d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u043f\u0435\u0441\u043d\u044f, \u043d\u043e \u0442\u044b \u043d\u0435 \u0437\u043d\u0430\u0435\u0448\u044c \u043e \u0447\u0435\u043c \u043e\u043d\u0430? \u042f \u043c\u043e\u0433\u0443 \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u043f\u0435\u0441\u043d\u044e \u0441 \u043b\u044e\u0431\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 '         '\u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u0437\u0430 \u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u043a\u0443\u043d\u0434\u044b, \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u0438\u043d\u044c \u0430\u0443\u0434\u0438\u043e \u0444\u0430\u0439\u043b \u0432 \u0447\u0430\u0442. ')   # \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \/ help async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:     \"\"\"Send a message when the command \/help is issued.\"\"\"     user = update.effective_user     await update.message.reply_html(         rf\"{user.mention_html()}, \u044f \u043c\u043e\u0433\u0443 \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u043f\u0435\u0441\u043d\u044e \u0441 \u043b\u044e\u0431\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u0438\u0439, \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u0438\u043d\u044c \u0430\u0443\u0434\u0438\u043e \u0444\u0430\u0439\u043b \u0432 \u0447\u0430\u0442.\",         reply_markup=ForceReply(selective=False),     )  # \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0431\u043e\u0442\u0430 def main():     # \u0422\u043e\u043a\u0435\u043d  \u0431\u043e\u0442\u0430     application = Application.builder().token(config.tg_key).build()     # \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \/start     application.add_handler(CommandHandler(\"start\", start))     application.add_handler(CommandHandler(\"help\", help_command))     # \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0434\u043b\u044f \u043f\u0440\u0438\u0435\u043c\u0430 \u0444\u0430\u0439\u043b\u043e\u0432     application.add_handler(MessageHandler(filters.AUDIO, handle_file))     # \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0431\u043e\u0442\u0430     application.run_polling()     # \u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0431\u043e\u0442\u0430 \u043f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 Ctrl+C     application.idle()   if __name__ == '__main__':     main() <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0421\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 file_process.py<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">import requests import os from pydub.utils import mediainfo   def delete_file(file_path):     try:         os.remove(file_path)         print(f\"\u0424\u0430\u0439\u043b {file_path} \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0443\u0434\u0430\u043b\u0435\u043d.\")     except FileNotFoundError:         print(f\"\u0424\u0430\u0439\u043b {file_path} \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d.\")     except Exception as e:         print(f\"\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0438 \u0444\u0430\u0439\u043b\u0430 {file_path}: {e}\")   def save_audio_file(file_name, file_link):     response = requests.get(file_link)     # \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0430\u0443\u0434\u0438\u043e\u0444\u0430\u0439\u043b \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438     sound_folder = 'sound'     local_file_path = f\"{sound_folder}\/{file_name}\"      if not os.path.exists(sound_folder):         # \u0415\u0441\u043b\u0438 \u043f\u0430\u043f\u043a\u0438 \u043d\u0435\u0442, \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0435\u0451         os.makedirs(sound_folder)      with open(local_file_path, 'wb') as local_file:         local_file.write(response.content)     return local_file_path   def save_text_to_file(file_name, trance_text):     text_folder = 'output'     local_file_path = f\"{text_folder}\/{file_name.replace('.', '_') + '.txt'}\"      if not os.path.exists(text_folder):         # \u0415\u0441\u043b\u0438 \u043f\u0430\u043f\u043a\u0438 \u043d\u0435\u0442, \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0435\u0451         os.makedirs(text_folder)     # \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432\u044b\u0432\u043e\u0434 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b     with open(local_file_path, \"w\", encoding=\"utf-8\") as output_file:         output_file.write(trance_text)      return local_file_path   def file_duration_check(file_path):     audio_info = mediainfo(file_path)     duration = float(audio_info['duration'])     print(duration)     return duration <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0421\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044f\u043c\u0438 neural_process.py<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">from transformers import pipeline import torch import whisper import file_process  device = \"cuda:0\" if torch.cuda.is_available() else \"cpu\" torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32 # \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0434\u043b\u044f torch torch.set_num_threads(4)   def sound_to_text(audios):     model = whisper.load_model(\"base\")     # load audio and pad\/trim it to fit 30 seconds     audio = whisper.load_audio(audios)     audio = whisper.pad_or_trim(audio)     # make log-Mel spectrogram and move to the same device as the model     mel = whisper.log_mel_spectrogram(audio).to(model.device)     # detect the spoken language     _, probs = model.detect_language(mel)     lang = max(probs, key=probs.get)     print(f\"Detected language: {max(probs, key=probs.get)}\")     # decode the audio     result = model.transcribe(audios, fp16=False, language=lang)     print(result)     return result['segments'], lang   def final_process(file, file_name):     print(f\"\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438: {file}\")     raw, detected_lang = sound_to_text(file)     translator = pipeline(\"translation\", model=\"Helsinki-NLP\/opus-mt-mul-en\")     translator2 = pipeline(\"translation\", model=\"Helsinki-NLP\/opus-mt-en-ru\")     text = f\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0430\u0443\u0434\u0438\u043e\u0444\u0430\u0439\u043b\u0430: {file_name} \\n\"     text += f\"\u0412 \u0444\u0430\u0439\u043b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f {get_language_name(detected_lang)} \u044f\u0437\u044b\u043a. \\n\"     for segment in raw:         text += \"-------------------- \\n\"         text += f\"ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: {segment['id']} \u041d\u0430\u0447\u0430\u043b\u043e: {int(segment['start'])} --- \u041a\u043e\u043d\u0435\u0446: {int(segment['end'])} \\n\"         text += f\"\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442:{segment['text']} \\n\"         if detected_lang == 'en':             text_en = segment['text']             translation2 = translator2(text_en)             text += f\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434: {translation2[0]['translation_text']} \\n\"         elif detected_lang == 'ru':             text += \"\"         else:             translation = translator(segment['text'])             text_en = translation[0]['translation_text']             translation2 = translator2(text_en)             text += f\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434: {translation2[0]['translation_text']} \\n\"      file_process.delete_file(file)     print(text)     return text   def get_language_name(code):     languages = {         'ru': '\u0440\u0443\u0441\u0441\u043a\u0438\u0439',         'en': '\u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439',         'zh': '\u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0439',         'es': '\u0438\u0441\u043f\u0430\u043d\u0441\u043a\u0438\u0439',         'ar': '\u0430\u0440\u0430\u0431\u0441\u043a\u0438\u0439',         'he': '\u0438\u0432\u0440\u0438\u0442',         'hi': '\u0445\u0438\u043d\u0434\u0438',         'bn': '\u0431\u0435\u043d\u0433\u0430\u043b\u044c\u0441\u043a\u0438\u0439',         'pt': '\u043f\u043e\u0440\u0442\u0443\u0433\u0430\u043b\u044c\u0441\u043a\u0438\u0439',         'fr': '\u0444\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0438\u0439',         'de': '\u043d\u0435\u043c\u0435\u0446\u043a\u0438\u0439',         'ja': '\u044f\u043f\u043e\u043d\u0441\u043a\u0438\u0439',         'pa': '\u043f\u0430\u043d\u0434\u0436\u0430\u0431\u0438',         'jv': '\u044f\u0432\u0430\u043d\u0441\u043a\u0438\u0439',         'te': '\u0442\u0435\u043b\u0443\u0433\u0443',         'ms': '\u043c\u0430\u043b\u0430\u0439\u0441\u043a\u0438\u0439',         'ko': '\u043a\u043e\u0440\u0435\u0439\u0441\u043a\u0438\u0439',         'vi': '\u0432\u044c\u0435\u0442\u043d\u0430\u043c\u0441\u043a\u0438\u0439',         'ta': '\u0442\u0430\u043c\u0438\u043b\u044c\u0441\u043a\u0438\u0439',         'it': '\u0438\u0442\u0430\u043b\u044c\u044f\u043d\u0441\u043a\u0438\u0439',         'tr': '\u0442\u0443\u0440\u0435\u0446\u043a\u0438\u0439',         'uk': '\u0443\u043a\u0440\u0430\u0438\u043d\u0441\u043a\u0438\u0439',         'pl': '\u043f\u043e\u043b\u044c\u0441\u043a\u0438\u0439',     }     return languages.get(code, '\u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u044f\u0437\u044b\u043a') <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u0430, \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"bash\">pip install transformers, torch, accelerate, sentencepiece, sacremoses, python-telegram-bot, openai-whisper, pydub <\/code><\/pre>\n<p>  <\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0414\u0435\u043f\u043b\u043e\u0438\u043c \u0431\u043e\u0442\u0430<\/font><\/h2>\n<p>  <\/p>\n<blockquote><p>\u0427\u0442\u043e\u0431\u044b \u0432\u0441\u0451 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u043d\u0435 \u0434\u0435\u043f\u043b\u043e\u0439\u0442\u0435 \u043f\u043e \u043f\u044f\u0442\u043d\u0438\u0446\u0430\u043c.<\/p><\/blockquote>\n<p>  \u041d\u0430\u0448 \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u043c \u0431\u043e\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 ML, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043d \u043a \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c. \u0414\u0430, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0441\u0432\u043e\u0435\u043c \u041f\u041a, \u043d\u043e \u0446\u0435\u043b\u0435\u0441\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0434\u043b\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439. \u0414\u043b\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u043c \u0431\u043e\u0442\u0430, \u044f \u0440\u0435\u0448\u0438\u043b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Timeweb Cloud. \u0418\u0442\u0430\u043a, \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430.<\/p>\n<p>  \u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430, \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u043e\u0439\u0442\u0438 \u0432 \u043f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0434 \u0432\u0430\u0448\u0435\u0439 \u0443\u0447\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u044c\u044e. \u0415\u0441\u043b\u0438 \u0443\u0447\u0435\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0430, \u0442\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0443\u0447\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0437\u0430\u0439\u043c\u0435\u0442 \u0432\u0441\u0435\u0433\u043e \u043f\u0430\u0440\u0443 \u043a\u043b\u0438\u043a\u043e\u0432. \u042f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u043c Google. <br \/>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043d\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043f\u0443\u043d\u043a\u0442 \u00ab\u041e\u0431\u043b\u0430\u0447\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440\u00bb:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/nt\/yc\/df\/ntycdf4kgi-bsbp7oxm9ksf2dwk.jpeg\" title=\"\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043d\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043f\u0443\u043d\u043a\u0442 \u041e\u0431\u043b\u0430\u0447\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/nt\/yc\/df\/ntycdf4kgi-bsbp7oxm9ksf2dwk.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u044f \u0432\u044b\u0431\u0440\u0430\u043b Debian 11:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/gz\/0_\/io\/gz0_ioiv4aqlmci2-blgnnnxpbs.jpeg\" title=\"\u0412\u044b\u0431\u043e\u0440 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/gz\/0_\/io\/gz0_ioiv4aqlmci2-blgnnnxpbs.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/ei\/mn\/c3\/eimnc3ujbqyyslrhyaio9e06l7c.jpeg\" title=\"\u0412\u044b\u0431\u043e\u0440 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/ei\/mn\/c3\/eimnc3ujbqyyslrhyaio9e06l7c.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438, \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432 \u044f \u0432\u044b\u0431\u0440\u0430\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441 \u0447\u0435\u0442\u044b\u0440\u044c\u043c\u044f \u044f\u0434\u0440\u0430\u043c\u0438 CPU \u0438 8 \u0413\u0411 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/ix\/bk\/1h\/ixbk1hvevh7uavyr82sopkuw6ee.jpeg\" title=\"\u0412\u044b\u0431\u043e\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/ix\/bk\/1h\/ixbk1hvevh7uavyr82sopkuw6ee.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0412\u043e\u0442 \u0438 \u0432\u0441\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0435\/\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0435 \u043f\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u044e. \u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \u00ab\u0417\u0430\u043a\u0430\u0437\u0430\u0442\u044c\u00bb, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0441\u043f\u0440\u0430\u0432\u0430.<\/p>\n<p>  \u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/od\/py\/za\/odpyzahawt8j_6sibep1utycrp8.jpeg\" title=\"\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/od\/py\/za\/odpyzahawt8j_6sibep1utycrp8.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0421\u0435\u0440\u0432\u0435\u0440 \u0441\u043e\u0437\u0434\u0430\u043d:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/uy\/ce\/j9\/uycej9ukpong2potkmpl7spncyi.jpeg\" title=\"\u0421\u0435\u0440\u0432\u0435\u0440 \u0441\u043e\u0437\u0434\u0430\u043d\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/uy\/ce\/j9\/uycej9ukpong2potkmpl7spncyi.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043f\u0435\u0440\u0435\u0439\u0434\u044f \u0432 \u0434\u0430\u0448\u0431\u043e\u0440\u0434, \u0441 \u043f\u0440\u0430\u0432\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0443:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/wi\/5c\/7s\/wi5c7smc9od5cipvax60ufwy5ws.jpeg\" title=\"\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0443\" width=\"358\" data-src=\"https:\/\/habrastorage.org\/webt\/wi\/5c\/7s\/wi5c7smc9od5cipvax60ufwy5ws.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0412\u0441\u0451 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e, \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0443\u0448\u043b\u043e \u043f\u0430\u0440\u0443 \u043c\u0438\u043d\u0443\u0442.<\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f, \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0431\u043e\u0442\u0430<\/font><\/h2>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u043c\u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0443.<br \/>  \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0443, \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f:<\/p>\n<pre><code class=\"bash\">apt-get update &amp; upgrade<\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0441 root \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u2014 \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c, \u044d\u0442\u043e \u0434\u0443\u0440\u043d\u043e\u0439 \u0442\u043e\u043d, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441 \u0438\u043c\u0435\u043d\u0435\u043c tg_bot:<\/p>\n<pre><code class=\"bash\">adduser tg_bot<\/code><\/pre>\n<p>  \u0438 \u043f\u0440\u043e\u043f\u0438\u0448\u0435\u043c \u0435\u0433\u043e \u0432 \u0433\u0440\u0443\u043f\u043f\u0443 sudo:<\/p>\n<pre><code class=\"bash\">usermod -aG sudo tg_bot<\/code><\/pre>\n<p>  \u0417\u0430\u0442\u0435\u043c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0439\u0442\u0438 \u0438\u0437 \u0443\u0447\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 root \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043f\u043e\u0434 \u043d\u043e\u0432\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c tg_bot, \u0438 \u0434\u0430\u043b\u0435\u0435 \u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u043e\u0434 \u044d\u0442\u043e\u0439 \u0443\u0447\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u044c\u044e. <\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f Python3 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c, \u0435\u0441\u043b\u0438 \u0438\u043c\u0435\u044e\u0442\u0441\u044f:<\/p>\n<pre><code class=\"bash\">sudo apt update sudo apt install python3<\/code><\/pre>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043f\u0430\u043a\u0435\u0442\u043e\u0432:<\/p>\n<pre><code class=\"bash\">sudo apt install python3-pip<\/code><\/pre>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0441 \u043c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b\u0430\u043c\u0438, \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043d\u0430\u0431\u043e\u0440 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a FFmpeg:<\/p>\n<pre><code class=\"bash\">sudo apt install ffmpeg<\/code><\/pre>\n<p>  \u0414\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043c\u043e\u043d\u0438\u0442\u043e\u0440 htop:<\/p>\n<pre><code class=\"bash\">sudo apt install htop<\/code><\/pre>\n<p>  \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438, \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043e\u0442\u0430:<\/p>\n<pre><code class=\"bash\">pip install transformers, torch, accelerate, sentencepiece, sacremoses, python-telegram-bot, openai-whisper, pydub<\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043e\u0442\u0430:<\/p>\n<pre><code class=\"bash\">mkdir tg_bot_scripts<\/code><\/pre>\n<p>  \u0417\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0443\u044e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"bash\">cd tg_bot_scripts<\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b Python \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043e\u0442\u0430, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434:<\/p>\n<pre><code class=\"bash\">nano tg_bot.py<\/code><\/pre>\n<p>  \u0412 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u043c\u0441\u044f \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u0434 \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u0438 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438.<\/p>\n<pre><code class=\"bash\">nano neural_process.py<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"bash\">nano file_process.py<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"bash\">nano config.py<\/code><\/pre>\n<p>  \u0444\u0430\u0439\u043b config.py \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c-\u0431\u043e\u0442\u0430.<\/p>\n<pre><code class=\"bash\">tg_key = '\u0412\u0430\u0448 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447'<\/code><\/pre>\n<p>  \u0418\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0432 \u043a\u043e\u0434 \u043c\u043e\u0435\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f GitHub.<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c Git:<\/p>\n<pre><code class=\"bash\"> sudo apt install git <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Git, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"bash\"> git clone https:\/\/github.com\/VGCH\/music_translate_AI_bot <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0443\u044e \u043f\u0440\u0438 \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 Git \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u043f\u0430\u043f\u043a\u0443 music_translate_AI_bot \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"bash\"> mv music_translate_AI_bot tg_bot_scripts<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0432\u0430\u0436\u043d\u043e \u043d\u0435 \u0437\u0430\u0431\u044b\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043a\u0435\u043d \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u043c \u0431\u043e\u0442\u0430:<\/p>\n<pre><code class=\"bash\"> cd tg_bot_scripts  nano config.py <\/code><\/pre>\n<p>  \u041d\u0430\u0441\u0442\u0430\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043e\u0442\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"bash\">pyton3 tg_bot.py<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0431\u043e\u0442 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0441\u044f \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u0442\u043e \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043e\u0442\u0430. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0430\u0439\u043b \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"bash\">sudo nano \/etc\/systemd\/system\/AI_tg_bot.service<\/code><\/pre>\n<p>  \u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0432 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0438\u0439\u0441\u044f \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0444\u0430\u0439\u043b:<\/p>\n<pre><code class=\"bash\">[Unit] Description=My AI Bot service After=network.target  [Service] WorkingDirectory=\/home\/tg_bot\/tg_bot_scripts\/ User=tg_bot Type=simple Restart=always ExecStart=\/usr\/bin\/python3 \/home\/tg_bot\/tg_bot_scripts\/tg_bot.py > \/dev\/null  [Install] WantedBy=multi-user.target <\/code><\/pre>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"bash\"> sudo systemctl enable AI_tg_bot.service <\/code><\/pre>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"bash\"> sudo systemctl start AI_tg_bot.service <\/code><\/pre>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c:<\/p>\n<pre><code class=\"bash\"> sudo systemctl stop AI_tg_bot.service <\/code><\/pre>\n<p>  <\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/font><\/h2>\n<p>  \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0431\u043e\u0442\u0430, \u044f \u0440\u0435\u0448\u0438\u043b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441\u0432\u043e\u0435\u0433\u043e \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441 \u0447\u0435\u0442\u044b\u0440\u0435\u0445\u044a\u044f\u0434\u0435\u0440\u043d\u043e\u0433\u043e CPU \u043d\u0430 \u0432\u043e\u0441\u044c\u043c\u0438\u044f\u0434\u0435\u0440\u043d\u044b\u0439. \u0417\u0430\u0445\u043e\u0436\u0443 \u0432 \u043f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f Timeweb Cloud, \u0432\u044b\u0431\u0440\u0430\u0432 \u0441\u0432\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u043f\u0435\u0440\u0435\u0445\u043e\u0436\u0443 \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0443 \u00ab\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u00bb:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/gp\/ly\/ej\/gplyejwsmklvc9ylxz-ymvwtt2q.jpeg\" title=\"\u041f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f Timeweb Cloud\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/gp\/ly\/ej\/gplyejwsmklvc9ylxz-ymvwtt2q.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0418 \u0432\u044b\u0431\u0438\u0440\u0430\u044e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/v7\/u3\/hg\/v7u3hgo9adubfb6cl4kv_wrnwuc.jpeg\" title=\"\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0443\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/v7\/u3\/hg\/v7u3hgo9adubfb6cl4kv_wrnwuc.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u041c\u0435\u043d\u0435\u0435 \u043c\u0438\u043d\u0443\u0442\u044b \u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441 \u043d\u043e\u0432\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435. \u0415\u0449\u0435 \u043c\u043d\u0435 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u043e\u0441\u044c \u0442\u043e, \u0447\u0442\u043e \u043e\u043f\u043b\u0430\u0442\u0430 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0447\u0430\u0441\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u0432\u044b \u0432 \u043b\u044e\u0431\u043e\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e, \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u043d\u043e\u0441\u0430 \u043e\u043f\u043b\u0430\u0442\u044b \u0437\u0430 \u043c\u0435\u0441\u044f\u0446 \u0432\u043f\u0435\u0440\u0435\u0434. \u0412 \u043f\u0430\u043d\u0435\u043b\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u0434\u0435\u0442\u044c \u0432\u0430\u0448 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0431\u0430\u043b\u0430\u043d\u0441 \u0438 \u0434\u0430\u0442\u0443 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043f\u0440\u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432). <\/p>\n<p>  \u041f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u044f\u0434\u0435\u0440 CPU \u043d\u0430 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u0442\u0430\u043a \u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 neural_process.py \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0434\u043b\u044f torch, \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0430 \u0432\u043e\u0441\u0435\u043c\u044c.<\/p>\n<pre><code class=\"python\">torch.set_num_threads(8)<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0430\u0443\u0434\u0438\u043e\u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u0448\u0438\u043c \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u043c \u0431\u043e\u0442\u043e\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"bash\">htop<\/code><\/pre>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/jk\/gl\/th\/jkgltho_hqnssfke2yqwbyf_qje.jpeg\" title=\"\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b htop\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/jk\/gl\/th\/jkgltho_hqnssfke2yqwbyf_qje.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  <\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/font><\/h2>\n<p>  \u0412 \u0438\u0442\u043e\u0433\u0435 \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c-\u0431\u043e\u0442\u0430 \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0447\u0438 \u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0442\u0435\u043a\u0441\u0442\u0430.<br \/>  \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0432\u0430\u043c \u0437\u0430 \u0443\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435. \u0415\u0441\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u043a\u0440\u0438\u0442\u0438\u043a\u0430, \u043e\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435? \u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438. \ud83d\ude42<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0431\u043e\u043d\u0443\u0441 \u043a \u0441\u0442\u0430\u0442\u044c\u0435. \u041f\u0435\u0440\u0435\u0432\u043e\u0434\u044b \u043f\u0435\u0441\u0435\u043d \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0431\u043e\u0442\u0430<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<blockquote><p>\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0430\u0443\u0434\u0438\u043e\u0444\u0430\u0439\u043b\u0430: Lana Del Rey West Coast.mp3 <br \/>  \u0412 \u0444\u0430\u0439\u043b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439 \u044f\u0437\u044b\u043a. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 16 \u041d\u0430\u0447\u0430\u043b\u043e: 99 \u2014 \u041a\u043e\u043d\u0435\u0446: 103 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: Who baby, who baby, I&#8217;m in love <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u041a\u0442\u043e, \u0434\u0435\u0442\u043a\u0430, \u044f \u0432\u043b\u044e\u0431\u043b\u0435\u043d. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 17 \u041d\u0430\u0447\u0430\u043b\u043e: 103 \u2014 \u041a\u043e\u043d\u0435\u0446: 113 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: I&#8217;m in love <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u042f \u0432\u043b\u044e\u0431\u043b\u0435\u043d. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 18 \u041d\u0430\u0447\u0430\u043b\u043e: 113 \u2014 \u041a\u043e\u043d\u0435\u0446: 123 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: Don&#8217;t know the west coast, they got their icons <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u041d\u0435 \u0437\u043d\u0430\u044e \u0437\u0430\u043f\u0430\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0431\u0435\u0440\u0435\u0436\u044c\u044f, \u0443 \u043d\u0438\u0445 \u0435\u0441\u0442\u044c \u0438\u043a\u043e\u043d\u044b. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 19 \u041d\u0430\u0447\u0430\u043b\u043e: 123 \u2014 \u041a\u043e\u043d\u0435\u0446: 127 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: They serve as others, their queens are psychons <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u041e\u043d\u0438 \u0441\u043b\u0443\u0436\u0430\u0442 \u043a\u0430\u043a \u0434\u0440\u0443\u0433\u0438\u0435, \u0438\u0445 \u043a\u043e\u0440\u043e\u043b\u0435\u0432\u044b \u2014 \u043f\u0441\u0438\u0445\u0438. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 20 \u041d\u0430\u0447\u0430\u043b\u043e: 127 \u2014 \u041a\u043e\u043d\u0435\u0446: 132 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: You, good to music, you, good to music and you <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u0422\u044b, \u0445\u043e\u0440\u043e\u0448 \u0432 \u043c\u0443\u0437\u044b\u043a\u0435, \u0442\u044b, \u0445\u043e\u0440\u043e\u0448 \u0432 \u043c\u0443\u0437\u044b\u043a\u0435 \u0438 \u0442\u044b <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 21 \u041d\u0430\u0447\u0430\u043b\u043e: 132 \u2014 \u041a\u043e\u043d\u0435\u0446: 134 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: Don&#8217;t you <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u0410 \u0442\u044b \u043d\u0435\u0442? <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 22 \u041d\u0430\u0447\u0430\u043b\u043e: 134 \u2014 \u041a\u043e\u043d\u0435\u0446: 139 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: Don&#8217;t know the west coast, they love their movies <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u041d\u0435 \u0437\u043d\u0430\u044e \u0437\u0430\u043f\u0430\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0431\u0435\u0440\u0435\u0436\u044c\u044f, \u043e\u043d\u0438 \u043e\u0431\u043e\u0436\u0430\u044e\u0442 \u0441\u0432\u043e\u0438 \u0444\u0438\u043b\u044c\u043c\u044b. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 23 \u041d\u0430\u0447\u0430\u043b\u043e: 139 \u2014 \u041a\u043e\u043d\u0435\u0446: 142 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: They&#8217;re golden-guzzing, rocking all copies <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u041e\u043d\u0438 \u0445\u0432\u0430\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0437\u043e\u043b\u043e\u0442\u043e\u043c, \u0440\u0430\u0441\u043a\u0430\u0447\u0438\u0432\u0430\u044e\u0442 \u0432\u0441\u0435 \u043a\u043e\u043f\u0438\u0438. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 24 \u041d\u0430\u0447\u0430\u043b\u043e: 142 \u2014 \u041a\u043e\u043d\u0435\u0446: 147 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: And you, good to music, you, good to music and you <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u0410 \u0442\u044b, \u0445\u043e\u0440\u043e\u0448 \u0432 \u043c\u0443\u0437\u044b\u043a\u0435, \u0442\u044b, \u0445\u043e\u0440\u043e\u0448 \u0432 \u043c\u0443\u0437\u044b\u043a\u0435 \u0438 \u0442\u044b <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 25 \u041d\u0430\u0447\u0430\u043b\u043e: 147 \u2014 \u041a\u043e\u043d\u0435\u0446: 149 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: Don&#8217;t you <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u0410 \u0442\u044b \u043d\u0435\u0442? <br \/>   \u2014   <\/p><\/blockquote>\n<p>  <\/p>\n<blockquote><p>\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0430\u0443\u0434\u0438\u043e\u0444\u0430\u0439\u043b\u0430: Edis-Banane.mp3 <br \/>  \u0412 \u0444\u0430\u0439\u043b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u0443\u0440\u0435\u0446\u043a\u0438\u0439 \u044f\u0437\u044b\u043a. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 0 \u041d\u0430\u0447\u0430\u043b\u043e: 0 \u2014 \u041a\u043e\u043d\u0435\u0446: 1 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: Alo. <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u041f\u0440\u0438\u0432\u0435\u0442. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 1 \u041d\u0430\u0447\u0430\u043b\u043e: 2 \u2014 \u041a\u043e\u043d\u0435\u0446: 3 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: Bir \u015fey s\u00f6yle. <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u0421\u043a\u0430\u0436\u0438 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 2 \u041d\u0430\u0447\u0430\u043b\u043e: 6 \u2014 \u041a\u043e\u043d\u0435\u0446: 7 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: Bir \u015fey s\u00f6ylemek istemiyorum. <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u042f \u043d\u0435 \u0445\u043e\u0447\u0443 \u043d\u0438\u0447\u0435\u0433\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 3 \u041d\u0430\u0447\u0430\u043b\u043e: 8 \u2014 \u041a\u043e\u043d\u0435\u0446: 9 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: Peki o zaman. <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u041d\u0443 \u0447\u0442\u043e \u0436. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 4 \u041d\u0430\u0447\u0430\u043b\u043e: 30 \u2014 \u041a\u043e\u043d\u0435\u0446: 32 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: Bala ne dedi\u011fimi soracak olamazs\u0131n. <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u0422\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0448\u044c \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u043c\u043e\u0435\u0433\u043e \u043e\u0442\u0446\u0430, \u0447\u0442\u043e \u044f \u0441\u043a\u0430\u0437\u0430\u043b. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 5 \u041d\u0430\u0447\u0430\u043b\u043e: 32 \u2014 \u041a\u043e\u043d\u0435\u0446: 33 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: Hay\u0131r. <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u041d\u0435\u0442, \u043d\u0435\u0442, \u043d\u0435\u0442. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 6 \u041d\u0430\u0447\u0430\u043b\u043e: 33 \u2014 \u041a\u043e\u043d\u0435\u0446: 36 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: Bir sebebim yok art\u0131k kalamam m\u0131? <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u0423 \u043c\u0435\u043d\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435\u0442 \u043f\u0440\u0438\u0447\u0438\u043d? <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 7 \u041d\u0430\u0447\u0430\u043b\u043e: 36 \u2014 \u041a\u043e\u043d\u0435\u0446: 37 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: Hay\u0131r. <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u041d\u0435\u0442, \u043d\u0435\u0442, \u043d\u0435\u0442. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 8 \u041d\u0430\u0447\u0430\u043b\u043e: 40 \u2014 \u041a\u043e\u043d\u0435\u0446: 42 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: Ki g\u00f6z dilimi. <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u0412\u043e\u0442 \u043e\u0431 \u044d\u0442\u043e\u043c \u044f \u0438 \u0433\u043e\u0432\u043e\u0440\u044e. <br \/>   \u2014 <br \/>  ID \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: 9 \u041d\u0430\u0447\u0430\u043b\u043e: 42 \u2014 \u041a\u043e\u043d\u0435\u0446: 43 <br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: Bu ne? <br \/>  \u041f\u0435\u0440\u0435\u0432\u043e\u0434: \u0427\u0442\u043e \u044d\u0442\u043e? <br \/>   \u2014   <\/p><\/blockquote>\n<p>  \u041f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430, \u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u043d\u0430\u044f, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0440\u0430\u0437\u0434\u0443\u0432\u0430\u0442\u044c \u0438 \u0442\u0430\u043a \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e.  <\/div>\n<\/p><\/div>\n<h4><font color=\"#454cee\">\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438:<\/font><\/h4>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/timeweb.cloud\/r\/ru17142\">\u041e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b Timeweb Cloud<\/a> \u2014 \u044d\u0442\u043e \u0440\u0435\u0444\u0435\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043c\u0435\u043d\u044f \u0438 \u043c\u043e\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u044b.<\/li>\n<li><a href=\"https:\/\/github.com\/VGCH\/music_translate_AI_bot\/\">\u041c\u043e\u0439 GitHub \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/a>.<\/li>\n<\/ul>\n<p>  <\/p>\n<hr\/>\n<p>  <\/p>\n<h4><font color=\"#454cee\">\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0437\u0430\u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u044d\u0442\u043e:<\/font><\/p>\n<ul>\n<li>\u27a4 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/772080\/\">\u041c\u043e\u044f \u0431\u0336\u0435\u0336\u0437\u0336\u0443\u043c\u043d\u0430\u044f \u043a\u043e\u043b\u043e\u043d\u043a\u0430 \u0438\u043b\u0438 \u0431\u044e\u0434\u0436\u0435\u0442\u043d\u044b\u0439 DIY \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0433\u043e \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0443\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430<\/a><\/li>\n<li>\u27a4 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/773968\/\">\u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0434\u044b\u0440\u0430 \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 Android: \u043f\u043e\u0447\u0435\u043c\u0443 \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u044b \u0441 \u0437\u0435\u043b\u0435\u043d\u044b\u043c \u0440\u043e\u0431\u043e\u0442\u043e\u043c \u043f\u043e\u0434\u0432\u0435\u0440\u0436\u0435\u043d\u044b \u043a\u0440\u0430\u0436\u0430\u043c?<\/a><\/li>\n<li>\u27a4 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/774070\/\">\u041a\u0430\u043a \u043f\u0440\u043e\u043a\u043b\u044f\u0442\u0438\u0435 \u043d\u0435\u0432\u0438\u0434\u0438\u043c\u043e\u0439 \u0441\u0442\u0435\u043d\u044b \u0436\u0434\u0430\u043b\u043e \u043c\u0435\u043d\u044f 20 \u043b\u0435\u0442<\/a><\/li>\n<li>\u27a4 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/720646\/\">\u0420\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043d\u043e\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043b\u0435\u0433\u043a\u0438\u043c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435\u043c \u0440\u0443\u043a\u0438<\/a><\/li>\n<li>\u27a4 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/774966\/\">\u00ab\u0414\u044e\u043d\u0430\u00bb \u2013 \u043e\u0442 \u0413\u0435\u0440\u0431\u0435\u0440\u0442\u0430 \u0434\u043e \u0412\u0438\u043b\u044c\u043d\u0451\u0432\u0430<\/a><\/li>\n<\/ul>\n<p>  <a href=\"https:\/\/timeweb.cloud\/?i=106909\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/b5\/pj\/of\/b5pjofdoxth14ro-rjsrn7sbmiy.png\" data-src=\"https:\/\/habrastorage.org\/webt\/b5\/pj\/of\/b5pjofdoxth14ro-rjsrn7sbmiy.png\"\/><\/a><\/h4>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><\/p>\n<div class=\"tm-article-poll-container\"><!--[--><\/p>\n<div class=\"tm-article-poll tm-article-poll_variant-bordered\">\n<div class=\"tm-notice tm-notice_positive tm-article-poll__notice\"><!----><\/p>\n<div class=\"tm-notice__inner\"><!----><\/p>\n<div class=\"tm-notice__content\" data-test-id=\"notice-content\"><!--[--><span>\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a rel=\"nofollow\" href=\"\/kek\/v1\/auth\/habrahabr\/?back=\/ru\/companies\/timeweb\/articles\/774806\/&#038;hl=ru\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/span><!--]--><\/div>\n<\/div>\n<\/div>\n<p><!--[--><\/p>\n<div class=\"tm-article-poll__header\">\u041d\u0440\u0430\u0432\u044f\u0442\u0441\u044f \u043b\u0438 \u0432\u0430\u043c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438?<\/div>\n<div class=\"tm-article-poll__answers\"><!--[--><\/p>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent tm-article-poll__answer-percent_winning\">74.47% <\/span><span class=\"tm-article-poll__answer-label\">\u0414\u0430<\/span><span class=\"tm-article-poll__answer-votes\">35<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress tm-article-poll__answer-progress_winning\" style=\"width: 74.47%\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">17.02% <\/span><span class=\"tm-article-poll__answer-label\">\u041d\u0435\u0442<\/span><span class=\"tm-article-poll__answer-votes\">8<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width: 17.02%\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">12.77% <\/span><span class=\"tm-article-poll__answer-label\">\u041d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0441\u044f \u0435\u0449\u0451<\/span><span class=\"tm-article-poll__answer-votes\">6<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width: 12.77%\"><\/div>\n<\/div>\n<\/div>\n<p><!--]--><\/div>\n<div class=\"tm-article-poll__stats\"> \u041f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u0438 47 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439.   \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u043b\u0438\u0441\u044c 2 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. <\/div>\n<p><!--]--><\/div>\n<p><!--]--><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/774806\/\"> https:\/\/habr.com\/ru\/articles\/774806\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/oh\/ct\/vv\/ohctvvogjlzxw3caxhr03cgme-w.jpeg\" title=\"\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u044c\u0438\" width=\"858\" data-src=\"https:\/\/habrastorage.org\/webt\/oh\/ct\/vv\/ohctvvogjlzxw3caxhr03cgme-w.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u041e\u0434\u043d\u0430\u0436\u0434\u044b, \u043a\u043e\u0433\u0434\u0430 \u044f \u0438\u0441\u043a\u0430\u043b \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0447\u0438 \u0432 \u0442\u0435\u043a\u0441\u0442 (\u0442\u0440\u0430\u043d\u0441\u043a\u0440\u0438\u0431\u0430\u0446\u0438\u0438), \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u0441\u0432\u043e\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/772080\/\">\u0443\u043c\u043d\u043e\u0439 \u043a\u043e\u043b\u043e\u043d\u043a\u0438<\/a>, \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c <b>Whisper<\/b> \u043e\u0442 \u0448\u0438\u0440\u043e\u043a\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <b>Open AI<\/b>. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, Whisper \u043d\u0435 \u043f\u043e\u0434\u043e\u0448\u0435\u043b \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 \u043c\u043e\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043f\u043e \u00ab\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u043c\u00bb \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c, \u043d\u043e \u0435\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u0430\u043b\u0441\u044f \u0432 \u043c\u043e\u0435\u0439 \u0434\u0443\u0448\u0435. \u041f\u0440\u043e\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0438 \u043c\u0435\u043d\u044f \u043f\u043e\u0441\u0435\u0442\u0438\u043b\u0430 \u0438\u0434\u0435\u044f: \u00ab\u041f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u043d\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u043c \u0431\u043e\u0442\u0430, \u043a\u0443\u0434\u0430 \u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0433 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0430\u0443\u0434\u0438\u043e\u0444\u0430\u0439\u043b, \u0430 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u043b \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0443\u044e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443 \u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 (\u043f\u0435\u0441\u043d\u0438) \u043d\u0430 \u0440\u043e\u0434\u043d\u043e\u0439 \u044f\u0437\u044b\u043a\u00bb. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u043e\u0439 \u0438\u0434\u0435\u0438 \u0438 Whisper \u0432 \u044d\u0442\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0437\u0430\u0439\u043c\u0435\u0442 \u043e\u0434\u043d\u0443 \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-360548","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/360548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=360548"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/360548\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=360548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=360548"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=360548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}