рднреВ-рдЪреИрдЯ, рд╣рд╛рдирд┐рдХрд╛рд░рдХ рдмреЙрдЯ рдФрд░ рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлрд╝реА: рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреНрдЮрд╛рди рдХреЛ рд╕рдореГрджреНрдз рдХрд░рдирд╛


рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдХреНрдпрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ? рдФрд░ рдХреНрдпрд╛ рдЖрдк рд╡реАрдбрд┐рдпреЛрдиреЛрдЯ (рд▓реЛрдХрдкреНрд░рд┐рдп - рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди) рдореЗрдВ рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлрд╝реА рдХреЛ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рд╣рдо рдмрд╣реБрдд рд╣реА рдХрд╛рдо NeoQUEST-2020 рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ , рдЬреЛ рд╣рдорд╛рд░реЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рд╡рд╛рд▓ рдФрд░ рдЙрджреНрдЧрд╛рд░ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛! Spoiler: рд╣рд╛рдБ, рдФрд░ рдпрд╣рд╛рдБ рднреА рдХреНрд░рд┐рдкреНрдЯреЛ рдХреА рдПрдХ рдмрд┐рдЯ рд╣реЛрдЧреА :)

рдирд┐рдпреЛрдХреНрд╡реЗрд╕реНрдЯ -реирежреиреж рдХреА рдХрд┐рдВрд╡рджрдВрддреА рдореЗрдВ, рд╣рдо рдЗрдВрд╕реНрдЯрд╛рдЧреНрд░рд╛рдо рдкрд░ рдПрдХ рдпрд╛рддреНрд░рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд░реЛрдмреЛрдЯ рдХреЗ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд╛ рд▓рд┐рдВрдХ рдкрд╛рддреЗ рд╣реИрдВ ред рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ рдмрд╛рд╣рд░ рдХреБрдЫ рднреА рдирд╣реАрдВ, рд╣реИ рдирд╛? рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдРрд╕рд╛ рднреА рддрдп рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдзреНрдпрд╛рди рд╕реЗ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рднреА рдЪрд┐рддреНрд░реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рд╕реБрд░рд╛рдЧ рдвреВрдВрдврддреЗ рд╣реИрдВред рдЭреАрд▓ рдмреИрдХрд▓ рдХреА рдПрдХ рд╕реБрдВрджрд░ рддрд╕реНрд╡реАрд░ рдкрд░ рдереЛрдбрд╝рд╛ рдзреНрдпрд╛рди, рдФрд░ рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕реБрд░рд╛рдЧ рдЖрдЦрд┐рд░реА рдкреЛрд╕реНрдЯ рдореЗрдВ рд╣реИ:


рддрд╕реНрд╡реАрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдЭреАрд▓ рдмреИрдХрд╛рд▓ (рд╢рдорд╛рдВ рд░реЙрдХ) рдФрд░ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо ("рдпреВ рдореЗрд░реЗ рд╕рд╛рде рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ ..." - рдХреБрдЫ рднреА рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ?) рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рдЬрд┐рдпреЛ-рдЪреИрдЯ рдХрд╛ рд╕реАрдзрд╛ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рджреЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ (рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╣реИ!), рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рднреВ-рд╕реНрдерд╛рди рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдореБрд▓реЗрдЯрд░ рдпрд╛ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд╢рдорд╛рдиреАрдо рд╣рдордиреЗ рд╢рд╛рдордВрдХрд╛ рдЪрдЯреНрдЯрд╛рди рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ (53.20074, 107.349426) (рдЖрдк рдЖрдВрдЦ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ) рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╕рдмрд╕реЗ рдХрдард┐рди рдХрд╛рдо рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ - рдкреНрд░рддреАрдХреНрд╖рд╛ред рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ рднреВ-рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕рдВрдкрд░реНрдХреЛрдВ рдФрд░ рдЪреИрдЯ рдХреЛ рдЦреАрдВрдЪрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд░рд┐рд╢реНрд░рдо рдФрд░ рдзреИрд░реНрдп рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкреВрд░реНрдг рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╕рдВрдкрд░реНрдХ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдЪреИрдЯ рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИ -> рдЖрд╕-рдкрд╛рд╕ рдХреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдЦреЛрдЬреЗрдВ -> рд╕рдореВрд╣ рдкрд╛рд╕ред


Voila, рд╣рдо рд╡реНрдпрд╛рдкрд╛рд░ рдореЗрдВ рд╣реИрдВ!


рдмреЙрдЯ рд╣рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИред рдХреБрдЫ рдЕрдЬреНрдЮрд╛рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рдеред рдЬрд┐рд╕рдореЗрдВ рд╣рдо "рдореБрдЭреЗ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВ" рдФрд░ "рд╕рд░реНрд╡рдирд╛рд╢ рдкреБрд░реНрдЬреЛрдВ рдХреЛрдИ рднреА" рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдордЭрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? .. рдпрд╣рд╛рдВ, рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рджреЛ рд╢рд┐рд╡рд┐рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛: рдХреБрдЫ рдиреЗ рд╣рдореЗрдВ рдореЗрд▓ рд╕реЗ рд▓рд┐рдЦрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдПрдХ рдореГрдд рдЕрдВрдд рдореЗрдВ рдорд┐рд▓ рдЧрдП, рдЬрдмрдХрд┐ рдЕрдиреНрдп рдиреЗ рдзреНрдпрд╛рди рд╕реЗ "рдПрдкреЛрдХреИрд▓рд┐рдкреНрд╕ рд╕реНрдкреЗрд░реНрд╕ рдПрдмрд░реНрдб" рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХреЛ рджреЗрдЦрд╛ рдФрд░ рдХрд╣рд╛ рдХрд┐ ? рд╕рд╣реА! рдЕрдЪреНрдЫрд╛ рдкреБрд░рд╛рдирд╛ ASN.1 рдкреНрд░рд╛рд░реВрдк ( рдпрд╣рд╛рдВ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рд▓рд┐рдЦрд╛ рдерд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░реЗрдВ)ред


рдЪрд▓реЛ рдареАрдХ рд╣реИред рдЕрдВрджрд░ 2 рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╣реИрдВред рдПрдХ рдореЗрдВ, рд╣рдореЗрдВ "рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдореА" рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рд┐рдлрд░рдЯреЗрдХреНрд╕реНрдЯ рд╣реИред рджреВрд╕рд░реА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ, рд╣рдо рджреЛ рд╕рдВрдЦреНрдпрд╛рдПрдБ рджреЗрдЦрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╣рднрд╛рдЧреА рджреНрд╡рд╛рд░рд╛ рд╕рд┐рдлрд░рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдЙрджрд╛рд░рддрд╛ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рдПрдХ рдХреБрдВрдЬреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рд╣рдо рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдПрдХрддреНрд░рд┐рдд рдХреА рдЧрдИ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рд╣рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдирд┐рд╖реНрдХрд░реНрд╖ рддрдХ рд▓реЗ рдЬрд╛рддреА рд╣реИ - рдЖрд░рдПрд╕рдП рдХреА рдХреЛрд╢рд┐рд╢ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ ?

рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдФрд░ рдПрдХ рдЦреБрд▓рд╛ рд╕рдВрдХреЗрддрдХ рд╣реИ, рдЬреЛ, рд╡реИрд╕реЗ, рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИред рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдЖрд░рдПрд╕рдП рдХреЗ рдПрдХ рджреГрдврд╝ рдЕрдзреНрдпрдпрди рдХреЗ рдмрд╛рдж , рд╣рдо рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ рдХрд┐ рдмрдВрдж рд╕рдВрдХреЗрддрдХ рдЫреЛрдЯрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ? рдмрд┐рдВрдЧреЛ! рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмреБрд░реЗ рд▓реЛрдЧ рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡реАрдирд░ рдХреЗ рд╣рдорд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред

рд╣рдордиреЗ рдЗрд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдорд╛рдирд╛ рд╣реИ рдЬреЛ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ - рдЖрдк рд╣рдорд▓реЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ ред

рддрдм рд╣рдореЗрдВ рдПрдХ рдмрдВрдж рдЖрдХреГрддрд┐ рдХрд╛ рдореВрд▓реНрдп рдорд┐рд▓рддрд╛ рд╣реИ d=40553818206320299896275948250950248823966726834704013657854904761789429403771рдФрд░ рд╕рд┐рдлрд░рдЯреЗрдХреНрд╕реНрдЯ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реИ key=nq2020faAeFeGUCBjYf7UDrH9FapFCdFPa4u;pass=passCxws3jzYhp0HD5Fy84:ред

рд╣рдо рдХреБрдВрдЬреА "nq2020faAeFeGUCBjYf7UDrH9FapFCdFPa4u" рдХреЛ рдиреМрдХрд░реА рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб "passCxws3jzYhp0436Fy84" рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдмреЙрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреЛ рдЦрд┐рд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ @neoquestbot рдирд╛рдо рдХреЗ рдЪреИрдЯ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкрд╣рд▓реА рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдХреА рд▓рд╣рд░ рдкрд░ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рд╣рдореЗрдВ рддреБрд░рдВрдд рдПрд╣рд╕рд╛рд╕ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдмреЙрдЯ рд╕рдВрдЪрд╛рд░ рдореЗрдВ рдкрд┐рдХреА рд╣реИ рдФрд░ рд╣рд░ рд╕рдордп рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд░реНрддрд╛рдХрд╛рд░ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реИ:


рд▓реЗрдХрд┐рди рдмреЙрдЯ рдЦреБрд╢реА рд╕реЗ VideoNote рджреМрд░ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЬрд╡рд╛рдм рднреА рджреЗрддрд╛ рд╣реИ ... рдЙрд╕реА рджреМрд░ рдХреЗ рд░реВрдк рдореЗрдВ:


рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реАрдбрд┐рдпреЛ рдФрд░ рдзреНрд╡рдирд┐ рд╕рдорд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рд╣реИред рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдорд╛рд░рд╛ рдмреЙрдЯ рд╣рдореЗрдВ рдХреБрдЫ рдЧреБрдкреНрдд рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ? рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдореВрд▓ рд╡реАрдбрд┐рдпреЛ рдХреЛ рдмреЙрдЯ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдмрдЪрд╛рдПрдВрдЧреЗ рдФрд░ рддреБрд▓рдирд╛ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдЧрд▓реЗ рдЪрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, FFmpeg рдкреИрдХреЗрдЬ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ ред рддреЛ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реИ:



рдкреНрд░рд╛рд░реВрдк aac -> flac, рдЖрд╡реГрддреНрддрд┐ 44100 рд╣рд░реНрдЯреНрдЬ -> 98000 рд╣рд░реНрдЯреНрдЬред рдЙрдиреНрд╣реЗрдВ рдкрддрд╛ рдЪрд▓рд╛, рд╣рдо рдСрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред

рд╣рд╛рдереЛрдВ рдХреЗ рдПрдХ рд╣рд▓реНрдХреЗ рдЖрдВрджреЛрд▓рди рдХреЗ рд╕рд╛рде рд╣рдо рдЗрд╕реЗ рд╡реАрдбрд┐рдпреЛ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ:


рд╡рд╣реА рд╣рдорд╛рд░реЗ рдореВрд▓ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╣рдо рдмрд╛рдж рдореЗрдВ рдЙрдирдХреА рддреБрд▓рдирд╛ рдХрд░ рд╕рдХреЗрдВред рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдСрдбреЗрд╕рд┐рдЯреА рдореЗрдВ рджреЛрдиреЛрдВ рдЯреНрд░реИрдХ рдЦреЛрд▓реЗрдВ ред


рдмреЙрдЯ рдХреА рдСрдбрд┐рдпреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЖрдпрд╛рдо рдореЗрдВ рдХреВрдж рддреБрд░рдВрдд рдЖрдкрдХреА рдЖрдВрдЦ рдХреЛ рдкрдХрдбрд╝ рд▓реЗрддреА рд╣реИ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдЬреАрдм рдЕрдЧрд░ рд╣рдо рдмрд┐рд▓реНрдХреБрд▓ рдЪреБрдк рдереЗ)ред рдХрд░реАрдм рд╕реЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░, рд╣рдо "рддрд░рдВрдЧ-рдореМрди" рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рджреМрд░рд╛рди рдЕрдВрддрд░рд╛рд▓ рдХреА рд╕реНрдкрд╖реНрдЯ рд╕реАрдорд╛рдУрдВ рдХреЛ рдиреЛрдЯ рдХрд░рддреЗ рд╣реИрдВ:


рд╣рдо рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдЕрд▓рдЧ рд░рдЦреЗрдВ рдФрд░ рдереЛрдбрд╝реА рдЧрд┐рдирддреА рдХрд░реЗрдВред рд╣рдо рдЯреБрдХрдбрд╝реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ:

0 - 0.005 - рдореМрди
0.005 - 0.01 - рд▓рд╣рд░
0, 01 - 0.0225 - рдореМрди
0.025 - 0.04 - рд▓рд╣рд░
0.04 - 0.045 - рдореМрди

рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдЕрдВрддрд░рд╛рд▓ 0.005 рд╣реИ, рдФрд░ рдЕрдиреНрдп рд╕рднреА рдЕрдВрддрд░рд╛рд▓ 0.005 рдХреЗ рдЧреБрдгрдХ рд╣реИрдВред
рд╣рдо 1 рдХреЗ рд▓рд┐рдП 0.005 рдХреА рд▓рд╣рд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд▓реЗрддреЗ рд╣реИрдВ, рдФрд░ 0. рдХреЗ рд▓рд┐рдП рдореМрди рдХрд░рддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдПрдХ рдмрд╛рдЗрдирд░реА рдХреЛрдб рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ!
рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрд╡реГрддреНрддрд┐ рдмрджрд▓ рдЧрдИ рд╣реИ, рдФрд░ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдЧреНрд░рд╛рдл рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ (рд╡рд┐рд╢реНрд▓реЗрд╖рдг -> рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдЧреНрд░рд╛рдл):


рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдмрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕рдВрдХреЗрдд ~ 44100 рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рд╣реИ, рдЬреЛ рдХрд┐ рдЕрд▓реНрдЯреНрд░рд╛рд╕рд╛рдЙрдВрдб рд╣реИред
рддреЛ, рдлрд┐рд░ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдмреЙрдЯ рд╢реНрд░рд╡реНрдп рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдореЗрдВ рдореВрд▓ рдСрдбрд┐рдпреЛ рдкрд░ рдЕрдкрдиреЗ рд╕рдВрдХреЗрдд рдХрд╛ рд╕реБрдкрд░рдЗрдореЛрдЬрд╝ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЬрд┐рди рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рдореВрд▓ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдзреНрд╡рдирд┐ рдереА, рдЙрдиреНрд╣реЛрдВрдиреЗ рдСрдбреЗрд╕рд┐рдЯреА рдореЗрдВ рджреЗрдЦрд╛ред

рд╣рдордиреЗ рдЙрдЪреНрдЪ рдЖрд╡реГрддрд┐ рдХреЗ рд╕рд╛рде рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдСрдбреЗрд╕рд┐рдЯреА рдореЗрдВ, рдпрд╛ рдЙрд╕реА ffmpeg рдореЗрдВ рдХрд╛рдЯ рджрд┐рдпрд╛:


рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 16-рдмрд┐рдЯ рдореЛрдиреЛ wav рдлрд╝рд╛рдЗрд▓ рд╣реИред рдЗрд╕рдореЗрдВ рд╣реЗрдбрд░, рдЕрд╕рдореНрдкреАрдбрд┐рдд рдСрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдСрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдЦреБрдж рдХреЛ рдлреНрд░реЗрдо рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдФрд░ рдлреНрд░реЗрдо рдХрдИ рдирдореВрдиреЛрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдХрд╣рд╛рдиреА рд╣реИ), рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ 16 рдмрд┐рдЯреНрд╕ (рдпрд╣ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рдЕрдХреНрд╖рд░реЛрдВ pcm_s16 рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдлрд╝реНрд░реЗрдо рдмрд┐рдЯреНрд╕ рдХреЗ рдЕрдиреБрдХреНрд░рдо рд╣реИрдВ рдЬреЛ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдЪреИрдирд▓реЛрдВ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдХреЗ рд▓рд┐рдП) рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдордп рдореЗрдВ рддрд░рдВрдЧ рдХреЗ рдЖрдпрд╛рдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред рдСрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдХреА рд╕реИрдВрдкрд▓рд┐рдВрдЧ рдлреНрд░рд┐рдХреНрд╡реЗрдВрд╕реА 98000 рдлреНрд░реЗрдо (рдпрд╛рдиреА рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 98000 рдлреНрд░реЗрдо), 490 рдлреНрд░реЗрдо рдкреНрд░рддрд┐ 0.005 рд╕реЗрдХрдВрдб рдХрд╛ рдЕрдВрддрд░рд╛рд▓ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдЖрдЧреЗ рд╣рдо рдПрдХ рд╕рд░рд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ: рд╣рдо 490 рдлреНрд░реЗрдо рдкрдврд╝рддреЗ рд╣реИрдВ, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рд▓рд╣рд░ рдпрд╛ рдореМрди рд╣реИ, рдФрд░, рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реБрдП, рдмрд┐рдЯ рдХреЛ 0 рдпрд╛ 1 рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред рд╣рдо

рдЕрдЬрдЧрд░ рдФрд░ рдПрдХ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗрддрд░рдВрдЧрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░рдВрдЧ ред
рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрд▓рдиреЗ рдкрд░ рддреНрд░реБрдЯрд┐ "wave.Error: рдЕрдЬреНрдЮрд╛рдд рдкреНрд░рд╛рд░реВрдк: 65534" рд╣реЛрддреА рд╣реИ, рддреЛ рд╣реЗрдбрд░ рдореЗрдВ "wFormatTag" рдХреЛ 'FE FF' рд╕реЗ '01 00 'рдореЗрдВ рдмрджрд▓реЗрдВ:

fh = open(input_file, "r+b")
fh.seek(20)
fh.write(b'\x01\x00')
fh.close()

рддреЛ, рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ, 490 рдлрд╝реНрд░реЗрдореЛрдВ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░реЗрдВ рдФрд░ рдФрд╕рдд рдорд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ:

file = wave.open(input_file,"r")
    for i in range (1, int(file.getnframes()/490)+1):
        frames = file.readframes(490)
        bit = 0
        sum = 0
        for k in range(0, 246):
            frame_bytes = frames[k*2:k*2+2]
            sum += int.from_bytes(frame_bytes, "big")
        if sum/490 > 16000:
            bit = 1
        bits.append(bit)

рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЬрд╣рд╛рдВ рдореМрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рджреБрд╕реНрд╕рд╛рд╣рд╕ рдореЗрдВ рдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛), рд╢реЛрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдереНрд░реЗрд╢реЛрд▓реНрдб рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ (рдЗрд╕реЗ 16000 рд╣реЛрдиреЗ рджреЗрдВ), рдЬрд┐рд╕реЗ рдкрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рд╕рд┐рдЧреНрдирд▓ рдХреЛ 1 рдорд╛рдирддреЗ рд╣реИрдВред

рдлрд┐рд░ рд╣рдо рдмрд┐рдЯреНрд╕ рдХреЛ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд╕рдореВрд╣реАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВ:

bytes = []    
for i in range (1, int(len(bits)/8)+1):
        b1 = bits[i*8-8]
        b2 = bits[i*8-7]
        b3 = bits[i*8-6]
        b4 = bits[i*8-5]
        b5 = bits[i*8-4]
        b6 = bits[i*8-3]
        b7 = bits[i*8-2]
        b8 = bits[i*8-1]
        byte = (b1 << 7) | (b2 << 6) | (b3 << 5) | (b4 << 4) | (b5 << 3) | (b6 << 2) | (b7 << 1) | b8
        bytes.append(byte.to_bytes(1, byteorder='big')) 

рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд░рд┐рдгрд╛рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ "рдЧреЗрдЯрдореЗрдЯрд╣реЗрдЬрд╡рд░реНрдб" рд╣реИред рдЪреВрдВрдХрд┐ рдмреЙрдЯ рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлрд╝реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдордВрдбрд▓рд┐рдпреЛрдВ рдореЗрдВ рд╕рдВрдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдкрд░реНрдЪреА рдХрд░рдирд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реЛрдЧрд╛ (рдФрд░ рд╣рдордиреЗ рдЗрд╕реЗ рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛)ред

рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рдСрдбрд┐рдпреЛ рдЯреНрд░реИрдХ рд▓рд┐рдЦреЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдмреЙрдЯ рд╕реЗ рд╕рдВрджреЗрд╢ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рджреМрд░рд╛рди рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: рдирдореВрдирд╛ рдЖрд╡реГрддреНрддрд┐ 98000 рд╣рд░реНрдЯреНрдЬ; рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрдХреЗрдд рдХреА рдЕрд╡рдзрд┐ 5 рдПрдордПрд╕ рд╣реИ; рдмрд┐рдЯ рд╡реИрд▓реНрдпреВ "1" рдХреЗ рдЕрдиреБрд░реВрдк рд╕рд┐рдЧреНрдирд▓ рдлреНрд░реАрдХреНрд╡реЗрдВрд╕реА - рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдЧреНрд░рд╛рдлрд╝ рд╕реЗ рджреЗрдЦрд╛, 44100 рд╣рд░реНрдЯреНрдЬред

рдЕрдм рд╣рдореЗрдВ рдореМрди "рдЙрддреНрдкрдиреНрди" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ рдирд┐рд╖реНрдкреНрд░рднрд╛рд╡реА рдХрд░рдХреЗ рдХрд░рддреЗ рд╣реИрдВ:

sample_rate = 98000.0
def generate_silence(duration_milliseconds=5):
    fragment = []
    num_samples = duration_milliseconds * (sample_rate / 1000.0)
    for x in range(int(num_samples)): 
        fragment.append(0.0)
    return fragment

рдзреНрд╡рдирд┐ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рд╛рдЗрди рд▓рд╣рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ (рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ рдкрдврд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИ ):

def generate_sinewave(
        freq=41000.0, 
        duration_milliseconds=5, 
        volume=0.5):
    fragment = []
    amplitude = volume * 32767.0
    num_samples = duration_milliseconds * (sample_rate / 1000.0)
    for x in range(int(num_samples)):
        fragment.append(amplitude * math.sin(2 * math.pi * freq * ( x / sample_rate )))
    return fragment

рдЕрдм рдмрд╛рдд рдЫреЛрдЯреА рд╣реИ: рдпрд╣ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдмрд┐рдЯреНрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдлрд┐рд░ рдзреНрд╡рдирд┐ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИред

рдиреЛрдЯ: рдмреЙрдЯ рдЕрдкрдиреЗ рд╕рдВрджреЗрд╢ рдХреЛ рдУрд╡рд░рд▓реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдЗрдирдкреБрдЯ рд╡реАрдбрд┐рдпреЛ рдЯреНрд░реИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдмреЙрдЯ рд╕реЗ рдкреВрд░реА рдХреБрдВрдЬреА рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрд╛рдж рдХреБрдЫ рд╢реВрдиреНрдп рдмрд╛рдЗрдЯреНрд╕ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рди рдХреЗрд╡рд▓ рдЗрд╕рдХреА рд╢реБрд░реБрдЖрдд (рдХреБрдВрдЬреА рдХреА рд▓рдВрдмрд╛рдИ 36 рдмрд╛рдЗрдЯреНрд╕ рдереА)ред

рдзреНрд╡рдирд┐ рдкреАрдврд╝реА
    audio = []
    f = open(input_file, 'rb')
    for character in f.read():
        a = character
        b8 = a & 0b00000001 
        b7 = (a & 0b00000010) >> 1 
        b6 = (a & 0b00000100) >> 2
        b5 = (a & 0b00001000) >> 3
        b4 = (a & 0b00010000) >> 4
        b3 = (a & 0b00100000) >> 5
        b2 = (a & 0b01000000) >> 6
        b1 = (a & 0b10000000) >> 7
        if b1 == 1:
            audio += generate_sinewave()
        else:
            audio += generate_silence()
        if b2 == 1:
            audio += generate_sinewave()
        else:
            audio += generate_silence()
        if b3 == 1:
            audio += generate_sinewave()
        else:
            audio += generate_silence()
        if b4 == 1:
            audio += generate_sinewave()
        else:
            audio += generate_silence()
        if b5 == 1:
            audio += generate_sinewave()
        else:
            audio += generate_silence()
        if b6 == 1:
            audio += generate_sinewave()
        else:
            audio += generate_silence()
        if b7 == 1:
            audio += generate_sinewave()
        else:
            audio += generate_silence()
        if b8 == 1:
            audio += generate_sinewave()
        else:
            audio += generate_silence()


рдЕрдм рд╣рдо рддреИрдпрд╛рд░ рддрд░рдВрдЧ рдлрд╛рдЗрд▓ рдмрдирд╛рдПрдВрдЧреЗ:

wav_file=wave.open(file_name,"w")
    nchannels = 1
    sampwidth = 2
    nframes = len(audio)
    comptype = "NONE"
    compname = "not compressed"
    wav_file.setparams((nchannels, sampwidth, sample_rate, nframes, comptype, compname))
    for sample in audio:
        wav_file.writeframes(struct.pack('h', int(sample)))
    wav_file.close()

рд╣рдо рдЕрдкрдирд╛ рдЯреНрд░реИрдХ рдмрдЪрд╛рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рд╕.рд╡реЙ рдореЗрдВред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ, рд╣рдо рдЕрдкрдиреЗ рд╕реНрдЯреАрдЧреЛ рдбрд┐рдХреЛрдбрд░ рд╕реЗ рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдкрд╣рдЪрд╛рдирд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдСрдбрд┐рдпреЛ рдЯреНрд░реИрдХ рдХреА рдЬрдЧрд╣ рдореВрд▓ рд╡реАрдбрд┐рдпреЛ my_video.mp4 рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рд╡реАрдбрд┐рдпреЛ рдорд┐рд▓рддрд╛ рд╣реИ:


рдЕрдм рд╣рдореЗрдВ рдЗрд╕рд╕реЗ рд╡реАрдбрд┐рдпреЛрдиреЛрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдХрд╛рдордХрд╛рдЬреА рд▓реЛрдЧреЛрдВ (рдХреБрдЫ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, @TelescopyBot рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреА рддрд▓рд╛рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдЯреЗрд▓реАрдЧреНрд░рд╛рдордПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдмреЙрдЯ рдХреЛ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред


рд╡реИрд╕реЗ рднреА, рд╣рдорд╛рд░реЗ рдмреЙрдЯ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ:


рд╣рдореЗрдВ рдПрдХ рдирдпрд╛ рджреМрд░ рдФрд░ рдмрдзрд╛рдИ рдорд┐рд▓рддреА рд╣реИ (рд╣рдордиреЗ рдРрд╕рд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛!), рдкрд╣рд▓реЗ рд╕реЗ рдХрд╛рдо рдХрд┐рдП рдЧрдП рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдСрдбрд┐рдпреЛ рдХреЛ рдбрд┐рдХреЛрдб рдХрд┐рдпрд╛ рдФрд░ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХреА: "nq2020SyOMK7SnnJP1sNNvbbss8zt35vUrrsD"

рджрд░рдЕрд╕рд▓, рд╕реНрдЯреЗрдкреЛрдЧреНрд░рд╛рдлреА рдХреЛ рд╕рд╛рдЗрдмрд░ рдХреЗ рд╕рдмрд╕реЗ рдХрдард┐рди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдирд┐рдпреЛрдХреНрд╡реЗрд╕реНрдЯ рдХреЗ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдиреЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рджреМрд░рд╛рди рдмрд╣реБрдд рдирд┐рдкреБрдгрддрд╛ рдФрд░ рд╣рд╛рд╕реНрдп рдХреА рднрд╛рд╡рдирд╛ рджрд┐рдЦрд╛рдИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдкрдиреА рдИрдорд╛рдирджрд╛рд░реА (рдмреЙрдЯ рдмрдзрд╛рдИ рд╕реЗ) рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдкреНрд░рд╢рдВрд╕рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ!

All Articles