
เปเบเบเบญเบเบเบฐเบเบธเบกเบเบงเบฒเบกเบเบญเบเปเบเบเบญเบกเบเบดเบงเปเบเบต Ekoparty 2017 เปเบ Buenos Aires, เปเบฎเบเปเบเบต Argentine Alfredo Ortega เปเบเปเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเบซเบผเบฒเบ - เบฅเบฐเบเบปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบดเบเบฅเบฑเบ wiretapping เบเบญเบเบชเบฐเบเบฒเบเบเบตเปเปเบเบเบเปเปเบกเบตเบเบฒเบเปเบเปเปเบกเปเบเปเบเบ. เบชเบฝเบ !
HDD เบชเปเบงเบเปเบซเบเปเบเบฐเปเบญเบปเบฒเบชเบฝเบเบเบตเปเบกเบตเบเบงเบฒเบกเบเบตเปเบเปเปเบฒเบเบงเบฒเบกเปเบเบฑเปเบกเบชเบนเบ, เบชเบฝเบเบเปเบฒเบ เปเบฅเบฐเปเบฎเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบเบญเบทเปเบเป. เบเปเบฒเปเบงเบปเปเบฒเบเบญเบเบกเบฐเบเบธเบเบเบฑเบเบเปเปเบชเบฒเบกเบฒเบเบฎเบฑเบเบฎเบนเปเปเบเป, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบฑเบเบงเบดเบเบฐเบเบฒเบชเบฒเบ (เบเบฒเบเบฎเบฑเบเบฎเบนเปเบชเบฝเบเปเบงเบปเปเบฒเปเบเบเบเบฒเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบเบเบงเบฒเบกเบเบตเปเบเปเปเบฒ, เปเบเบดเปเบเบเบทเบเบเบฑเบเบเบถเบเปเบงเป, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เบเบฒเบ gyroscope เบซเบผเบท HDD).
เบชเบฝเบเปเบกเปเบเบเบฒเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบเบเบญเบเบญเบฒเบเบฒเบเบซเบผเบทเบชเบทเปเบเบฒเบเบญเบทเปเบ. เบเบธเบเบเบปเบเบฎเบฑเบเบฎเบนเปเบเบงเบเบกเบฑเบเบเปเบฒเบเบซเบนเบเบฑเบ, เปเบเบดเปเบเบชเบปเปเบเบเบฒเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบเปเบเบชเบนเปเบซเบนเบเบฒเบเปเบ. เปเบกเปเบเบฃเปเบเบเปเบเปเบเบทเบเบญเบญเบเปเบเบเบเบฐเบกเบฒเบเบเปเบฒเบเบเบทเบซเบน - เบเบตเปเบเบตเป, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ, เบเบฒเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบเปเบเปเบเบทเบเบเบฑเบเบเบถเบเปเบงเปเปเบเบเปเบเบทเปเบญเบเบฒเบเป, เปเบเบดเปเบเบเบฐเบเบธเปเบเบเบฒเบเบเบฐเบเบธเปเบเปเบเบเปเบฒ. เบฎเบฒเบเบเบดเบ, เปเบเปเบเบญเบ, เบเบฑเบเบเบทเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบเบเปเบญเบเบเบธเบฅเบฐเบเบฑเบเปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเปเบซเบเบฑเบเบเบตเบเบเบญเบเบญเบฒเบเบฒเบเบญเปเบญเบกเบเปเบฒเบ. เบเบตเปเปเบกเปเบเปเบเบฑเบเบเบตเปเบฎเบนเปเบเบฑเบเปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบฒเบเบเบธเบเบฅเบฑเบเบชเบฐเบเบฐเบเบฒเบเบงเบดเบเบฒเบเบฒเบเบเบญเบ HDDs: เบเบนเปเบเบฐเบฅเบดเบเบกเบฑเบเบเบฐเบเบตเปเปเบซเปเปเบซเบฑเบเปเบเบดเบเบฅเบฐเบเบฑเบเบเบฒเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบเบชเบนเบเบชเบธเบเบเบตเปเบญเบฐเบเบธเบเบฒเบ, เปเบฅเบฐเบฎเบฒเบเบเบดเบเบเบปเบงเบกเบฑเบเปเบญเบเบกเบฑเบเบเบฐเบเบฐเบเบฒเบเบฒเบกเบงเบฒเบเบกเบฑเบเปเบงเปเปเบเบเบฑเบเบเปเบญเบเบเบฑเบเบเบฒเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบเบเบตเปเปเบฎเบฑเบเบเปเบงเบเบขเบฒเบเบซเบผเบทเบญเบธเบเบฐเบเบญเบ insulating เบญเบทเปเบเป. เบเบฒเบเบเบตเปเบกเบฑเบเบเปเบฒเบเบเบตเปเบเบฐเบชเบฐเบซเบผเบธเบเบงเปเบฒเบชเบฝเบเบชเบฒเบกเบฒเบเบเบทเบเบเบฑเบเบเบถเบเปเบเบเปเบเป HDD. เบเบฑเบเบซเบกเบปเบเบเบตเปเบเบฑเบเปเบซเบผเบทเบญเปเบกเปเบเปเบเบทเปเบญเบเบดเบเบญเบญเบเบงเบดเบเบตเบเบฒเบ.
Alfredo Ortega เบชเบฐเปเบซเบเบตเบชเบฐเบเบฑเบเบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบเบเบญเบเบเบฒเบเปเบเบกเบเบตเบเบฒเบเบเปเบฒเบ, เบเบทเบเบฒเบเปเบเบกเบเบตเปเบงเบฅเบฒ. เบเบฒเบเปเบเบกเบเบตเบเบตเปเปเบกเปเบเบญเบตเบเปเบชเปเบเบฒเบเบชเบปเบกเบกเบธเบเบเบดเบเบฒเบเบงเปเบฒเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบกเปเบเบเปเบฒเปเบเบตเบเบขเบนเปเปเบเบญเบธเบเบฐเบเบญเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เบเบถเปเบเบเบฑเบเบเปเปเบกเบนเบเบเบตเปเบเปเบญเบเปเบเบปเปเบฒ. เปเบเบเปเบฅเบฐเบเบตเบเบตเป, "เบเปเปเบกเบนเบเบเปเบญเบเปเบเบปเปเบฒ" เปเบกเปเบเบเบฒเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบเบเบญเบเบซเบปเบงเบญเปเบฒเบเปเบฅเบฐเปเบเปเบ HDD, เปเบเบดเปเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบเบเบญเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก, เบเบฑเปเบเปเบกเปเบ, เบกเบตเบชเบฝเบ. เบเบฑเปเบเบเบฑเปเบ, เปเบเบเบเบฒเบเบงเบฑเบเปเบเบเปเบงเบฅเบฒเบเบฒเบเบเบดเบเปเบฅเปเปเบฅเบฐเบเบฐเบเบดเบเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบชเบฐเบเบดเบเบดเบเบญเบเบเปเปเบกเบนเบ, เบเบฒเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบเบเบญเบเบซเบปเบง / เปเบเปเบเปเบฅเบฐเบเบฑเปเบเบเบฑเปเบเบเบฒเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบเบเบญเบเบเบฐเบซเบเบฒเบเบเบฒเบเบชเบฒเบกเบฒเบเบงเบฑเบเปเบเบเปเบเป. เบเบงเบฒเบกเบฅเปเบฒเบเปเบฒเปเบเบเบฒเบเบญเปเบฒเบเบเปเปเบกเบนเบเบเบปเบเบเบถเปเบ, เบเบฒเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบ HDD เปเบฎเบเบเบถเปเบ เปเบฅเบฐเบเบฑเปเบเบเบฑเปเบ, เบชเบฝเบเบเบฑเบเบเบถเปเบ.
เบงเบดเบเบตเบเบฒเบเบงเบฑเบเปเบเบเบเบฒเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบเบเบญเบเบฎเบฒเบเบเบดเบ? เบเปเบฒเบเบเบฒเบเบซเบผเบฒเบ: เบเบฝเบเปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบซเบฒเบฅเบฐเบเบปเบ read () โ เปเบฅเบฐโเบเบฑเบโเบเบถเบโเปเบงโเบฅเบฒโเบเบตเปโเบกเบฑเบโเปเบเปโเปเบงโเบฅเบฒโเปเบเบทเปเบญโเบชเปเบฒโเปเบฅเบฑเบโ. เบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบตเปเบเบฑเบเบชเบฐเปเบซเบกเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบญเปเบฒเบเปเบงเบฅเบฒเบเบญเบเบเบฒเบเปเบเบฅเบฐเบเบปเบเบเปเบงเบเบเบงเบฒเบกเบเบทเบเบเปเบญเบ nanosecond.
เบเบงเบฒเบกเปเบงเบเบญเบเบเบฒเบเบญเปเบฒเบเบเปเปเบกเบนเบเบเบฒเบเบเบฐเปเบซเบเบเบเบฒเบเปเบกเปเบเบเบถเปเบเบเบฑเบเบเปเบฒเปเบซเบเปเบเบเบญเบเบซเบปเบงเปเบฅเบฐเปเบเปเบ, เปเบเบดเปเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบเบเบญเบเบเปเบฅเบฐเบเบต HDD. เบซเบกเบปเบโเปเบเบปเปเบฒโเบเบตเป.
เบเบฒเบโเบงเบดโเปเบเบฒเบฐโเบเบฒเบโเบชเบฐโเบเบดโเบเบดโเปเบกเปเบโเบเบฐโเบเบดโเบเบฑเบโเปเบเบโเบเปเบฒโเปเบเปโเบเบฐโเปเบซเบเบ Kscope เบเปเบฒเบโเบเบฒเบโ. เบเปเบญเบเบงเปเบฒเปเบเบปเบฒเปเบเบปเปเบฒเปเบงเบปเปเบฒเบงเปเบฒ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบ ingenious เปเบกเปเบเบเปเบฒเบเบเบฒเบ.

Kscope utility (stat() syscall)
Kscope เปเบกเปเบเบชเบดเปเบเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบเบเบฐเบซเบเบฒเบเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบดเปเบเปเบซเบฑเบเบเบงเบฒเบกเปเบเบเบเปเบฒเบเบเปเบญเบเปเปเบเปเบงเบฅเบฒเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเบเบญเบเบฅเบฐเบเบปเบ. เบเบตเปเบกเบฒ.
เปเบ repository เปเบเบเบเปเบฒเบเบซเบฒเบ เบกเบตเบฎเบธเปเบเบเบญเบเบเบปเบเบเบฐเปเบซเบเบเบเบตเปเบเบทเบเบเบฑเปเบเบเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบกเบเบตเปเบงเบฅเบฒเปเบเบฎเบฒเบเปเบ, เบเบฑเปเบเปเบกเปเบ, เบเบฑเปเบเบเปเบฒเปเบเบทเปเบญเบงเบดเปเบเบฒเบฐเบเบฒเบเปเบเบฅเบฐเบเบปเบ. read ().
เบเบฒเบโเบชเบฒโเบเบดเบโเบเบฒเบโเบเบฑเบโเบเบถเบโเบชเบฝเบโเปเบเบโเบเปเบฒโเปเบเป HDDโ, เบเบฒเบโเบเปเบฒโเปเบเบตเบโเบเบฒเบโเบเบญเบ Kscope utilityโ

เปเบเปเบเบญเบ, เบเบฒเบเบเบฒเบเปเบงเบปเปเบฒเบเปเปเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเปเบเบฅเบฑเบเบชเบฐเบเบฐเบเบตเป, เปเบเป HDD เปเบกเปเบเบเปเบญเบเบเปเบฒเบเปเบซเบกเบฒเบฐเบชเบปเบกเปเบเบฑเบเปเบเบฑเบเปเบเบตเบเบฒเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบ. เบเบปเบงเบขเปเบฒเบเปเบเบฑเปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเบเปเบฒเบเบนเปเบเบตเปเปเบชเปเปเบเบตเบเปเบเบเบซเบผเบทเบเบตเบเปเบเบปเปเบฒเปเบเบปเปเบฒเปเบเปเบเบซเปเบญเบเบเบตเปเบกเบตเบเบญเบกเบเบดเบงเปเบเบต (เบญเบฒเบเบเบฐเปเบเบฑเบ, เบเปเบฒเบเบนเปเปเบเบกเบเบตเปเบชเปเปเบเบตเบเปเบเบตเบเบญเปเบญเบเปเบซเบผเบทเบกเบตเบเปเบฒเบเบปเบกเบซเบเบฒเบขเบนเปเปเบเบดเบเบเบทเปเบ, HDD เบเบฐเบเปเปเบชเบฒเบกเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเบเบฒเบเบชเบฑเปเบเบชเบฐเปเบเบทเบญเบเปเบเป - เบเบตเปเปเบกเปเบเบกเบนเบเบเปเบฒเบเบฒเบเบเบงเบเบชเบญเบ). เบเบญเบกเบเบดเบงเปเบเบตเบชเบฒเบกเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเปเบเปเบงเบเบตเปเปเบเบเบซเบฑเบเบซเบผเบทเปเบซเบเบเบฒเบเบญเบทเปเบเปเบเบตเปเบกเบตเบเบงเบฒเบกเปเบเบฑเปเบกเบเบญเบเบชเบฝเบเบเบตเปเปเบเบฑเปเบกเปเบเบ. เบเบฑเปเบเปเบกเปเบ, เบฎเบฒเบเบเบดเบเบชเบฒเบกเบฒเบเบฎเบฑเบเปเบเปเปเบเบฑเบเบเบฐเปเบเบเบเบญเบเบฅเบฐเบเบปเบเบเบฒเบเบเบงเบเบชเบญเบเบเบฒเบเบฅเปเบงเบเบฅเบฐเปเบกเบตเบเบเบตเปเบเปเปเปเบเปเบฎเบฑเบเบญเบฐเบเบธเบเบฒเบ.
HDD killer
ะััะฐัะธ, ัั ะพะถัั ัะตั ะฝะธะบั ะผะพะถะฝะพ ะธัะฟะพะปัะทะพะฒะฐัั ะดะปั ะฒัะฒะตะดะตะฝะธั ะธะท ัััะพั ะถัััะบะธั ะดะธัะบะพะฒ. ะขะพะปัะบะพ ะทะดะตัั ะผั ะฝะต ัะฝะธะผะฐะตะผ ะบะพะปะตะฑะฐะฝะธั ั HDD, ะฐ ะฝะฐะพะฑะพัะพั โ ะณะตะฝะตัะธััะตะผ ะบะพะปะตะฑะฐะฝะธั, ะบะพัะพััะต ะฟะพะดะฐัััั ะฝะฐ HDD. ะัะปะธ ะฒะพัะฟัะพะธะทะฒะพะดะธัั ั ะบะพะปะพะฝะบะธ ะทะฒัะบ ะฝะฐ ัะฐััะพัะต, ะบะพัะพัะฐั ัะตะทะพะฝะธััะตั ั ัะฐััะพัะพะน HDD, ัะพ ัะธััะตะผะฐ ะฒัะบะพัะต ะพัะบะปััะฐะตั ััััะพะนััะฒะพ ั ะพัะธะฑะบะพะน ะฒะฒะพะดะฐ-ะฒัะฒะพะดะฐ (ัะดัะพ Linux ะฟะพะปะฝะพัััั ะพัะบะปััะฐะตั HDD ัะตัะตะท 120 ัะตะบัะฝะด). ะกะฐะผ ะถัััะบะธะน ะดะธัะบ ะผะพะถะตั ะฟะพะปััะธัั ะฝะตะพะฑัะฐัะธะผัะต ะฟะพะฒัะตะถะดะตะฝะธั.

เบซเบผเบฑเบ Linux ะพัะบะปััะธะปะพ ะถัััะบะธะน ะดะธัะบ ะฟะพัะปะต 120 ัะตะบัะฝะด ะฟะพะดะฐัะธ ะทะฒัะบะฐ ะฝะฐ ัะตะทะพะฝะธััััะตะน ัะฐััะพัะต ัะตัะตะท ะดะธะฝะฐะผะธะบ USB-ะบะพะปะพะฝะบะธ Edifier r19u. ะะธะฝะฐะผะธะบ ะฒะบะปััะตะฝ ะฟัะธะผะตัะฝะพ ะฝะฐ ัะตัะฒะตััั ะผะพัะฝะพััะธ (ะผะตะฝะตะต 100 ะผะั) ะธ ัะฐัะฟะพะปะฐะณะฐะตััั ะฒ 20 ัะผ ะพั HDD, ะฝะฐะฟัะฐะฒะปะตะฝ ะฝะฐ ััะพะป ะดะปั ััะธะปะตะฝะธั ะฒะธะฑัะฐัะธะน. ะะฐะดั ะธะท เบเปเบงเบเบเบฒเบเบชเบฒเบเบดเบเบเบญเบ HDD killer
เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบเบตเปเบขเบฒเบเบฎเบนเปเบขเบฒเบเปเบซเบฑเบเบงเปเบฒ "เบเบฒเบเปเบเบกเบเบต" เปเบ HDDs เบเบฒเบเบเบฑเปเบเบเปเปเปเบเบตเบเบเบทเปเบเปเบเบเบเบฑเบเปเบญเบตเบเปเบเบเบตเบงเบดเบเบเบฐเบเปเบฒเบงเบฑเบ. เบเบปเบงเบขเปเบฒเบเปเบเบฑเปเบ, เปเบเปเบเบทเบญเบเบเบฑเบเบเบฒ 2016, เบชเบนเบเบเปเปเบกเบนเบเบเบญเบเบเบฐเบเบฒเบเบฒเบ ING เปเบเปเบเบทเบเบเบฑเบเบเบฑเบเปเบซเปเปเบเบฐเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบฑเบเปเบงเบฅเบฒ 10 เบเบปเปเบงเปเบกเบเบซเบผเบฑเบเบเบฒเบเบเบฒเบเปเบเบฒเบฐเปเบ. เปเบเบทเปเบญเบเบเบฒเบเบชเบฝเบเบเบฑเบเบเบญเบเบญเบฒเบเปเบเบฑเบช inert เบเบทเบเบเปเบญเบเบญเบญเบเบกเบฒเบเบฒเบเบเบฐเบเบญเบเบชเบนเบเบเบฒเบเปเบเปเบเบงเบฒเบกเบเบปเบเบเบฑเบเบชเบนเบ. เบชเบฝเบเบเบฑเบเบซเบผเบฒเบ (เบซเบผเบฒเบเบเบงเปเบฒ 130 dB), เปเบเปเปเบเบปเปเบฒเบเปเปเบชเบฒเบกเบฒเบเบฎเปเบญเบเปเบชเปเบฎเบฒเบเบเบดเบเปเบเป - เบเบตเปเปเบฎเบฑเบเปเบซเปเบเบงเบฒเบกเบฅเปเบฒเบเปเบฒเปเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบ HDD เปเบเบตเปเบกเบเบถเปเบ.
เบเบฒเบเบชเบฒเบเบดเบเบเบฒเบเบฎเปเบญเบเบชเบฝเบเบเบฑเบเบเบญเบเบกเบฐเบเบธเบเบขเบนเปเปเบเบฎเบฒเบเปเบเปเบเบชเบนเบเบเปเปเบกเบนเบ. เบเบฒเบเบงเบฑเบเปเบเบเบเบฒเบเบเบญเบเบชเบฐเปเบญเบ

เปเบเบทเปเบญเบชเปเบฒเบเบชเบฝเบเบชเบฐเบเปเบญเบ, Alfredo Ortega เบเบฝเบเบเบปเบงเบญเบฑเบเบชเบญเบ Python เบเบตเปเปเบญเบตเปเบเบงเปเบฒ ().
เบกเบฑเบเบเปเบญเบเบเปเบฒเบเบเปเบญเบ, เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบตเบเปเบเปเบกเบฑเบเปเบเปเบเบฑเบเบซเบกเบปเบเบขเบนเปเบเบตเปเบเบตเป.
"""PyAudio hdd-killer: Generate sound and interfere with HDD """
"""Alfredo Ortega @ortegaalfredo"""
"""Usage: hdd-killer /dev/sdX"""
"""Where /dev/sdX is a spinning hard-disk drive"""
"""Turn the volume to the max for better results"""
"""Requires: pyaudio. Install with 'sudo pip install pyaudio' or 'sudo apt-get install python-pyaudio'"""
import pyaudio
import time
import sys
import math
import random
RATE=48000
FREQ=50
# validation. If a disk hasn't been specified, exit.
if len(sys.argv) < 2:
print "hdd-killer: Attempt to interfere with a hard disk, using sound.nn" +
"The disk will be opened as read-only.n" +
"Warning: It might cause damage to HDD.n" +
"Usage: %s /dev/sdX" % sys.argv[0]
sys.exit(-1)
# instantiate PyAudio (1)
p = pyaudio.PyAudio()
x1=0
NEWFREQ=FREQ
# define audio synt callback (2)
def callback(in_data, frame_count, time_info, status):
global x1,FREQ,NEWFREQ
data=''
sample=0
for x in xrange(frame_count):
oldsample=sample
sample=chr(int(math.sin(x1*((2*math.pi)/(RATE/FREQ)))*127)+128)
data = data+sample
# continous frequency change
if (NEWFREQ!=FREQ) and (sample==chr(128)) and (oldsample<sample) :
FREQ=NEWFREQ
x1=0
x1+=1
return (data, pyaudio.paContinue)
# open stream using callback (3)
stream = p.open(format=pyaudio.paUInt8,
channels=1,
rate=RATE,
output=True,
stream_callback=callback)
# start the stream (4)
stream.start_stream()
# wait for stream to finish (5)
while stream.is_active():
timeprom=0
c=file(sys.argv[1])
for i in xrange(20):
a=time.clock()
c.seek(random.randint(0,1000000000),1) #attempt to bypass file buffer
c.read(51200)
b=time.clock()
timeprom+=b-a
c.close()
timeprom/=20
print("Frequency: %.2f Hz File Read prom: %f us" % (FREQ,timeprom*1000000))
NEWFREQ+=0.5
# stop stream (6)
stream.stop_stream()
stream.close()
# close PyAudio (7)
p.terminate()เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com
