Imgoodisher

stillalive

Mar 2nd, 2013
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 11.83 KB | None | 0 0
  1. local data = {
  2. [1]={ -- Melody
  3. {3, "Forms FORM-29827281-12\n", 8},
  4. {3, "Test Assessment Report\n\n\n\n", 12},
  5.  
  6. {3, "This was a triumph.\n", 0},
  7. {1, 1, 1, 10}, --This was a triumph
  8. {1, 1, 1, 9},
  9. {1, 1, 1, 7},
  10. {1, 1, 1, 7},
  11. {1, 1, 1, 9},
  12. {0, 1, 11, 0},
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23. {3, "I'm making a note here:\n", 0},
  24. {1, 1, 1, 0}, -- I'm making a note here:
  25. {1, 1, 1, 10},
  26. {1, 1, 1, 9},
  27. {1, 1, 1, 7},
  28. {1, 1, 1, 7},
  29. {1, 1, 3, 9},
  30.  
  31.  
  32. {3, "HUGE SUCCESS.\n", 0},
  33. {1, 1, 2, 5}, -- HUGE SUCCESS
  34.  
  35. {1, 1, 1, 7},
  36. {1, 1, 1, 0},
  37. {0, 1, 7, 0},
  38.  
  39.  
  40.  
  41.  
  42.  
  43. {3, "It's hard to overstate\n", 0},
  44. {1, 1, 1, 0}, -- It's hard to overstate my satisfaction
  45. {1, 1, 2, 7},
  46.  
  47. {1, 1, 1, 9},
  48. {1, 1, 3, 10},
  49.  
  50.  
  51. {1, 1, 1, 7},
  52. {1, 1, 2, 4},
  53.  
  54. {3, "my satisfaction\n", 0},
  55. {1, 1, 3, 5},
  56.  
  57.  
  58. {1, 1, 2, 7},
  59.  
  60. {1, 1, 1, 0},
  61. {1, 1, 2, 0},
  62.  
  63. {1, 1, 1, 9},
  64. {0, 1, 10, 0},
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73. {3, "Aperture Science\n", 0},
  74. {1, 1, 1, 10}, -- Aperture Science
  75. {1, 1, 1, 9},
  76. {1, 1, 1, 7},
  77. {1, 1, 1, 7},
  78. {1, 1, 1, 9},
  79. {0, 1, 10, 0},
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88. {3, "We do what we must\n", 0},
  89. {1, 1, 1, 0}, -- We do what we must
  90. {1, 1, 1, 10},
  91. {1, 1, 1, 9},
  92. {1, 1, 1, 7},
  93. {1, 1, 3, 7},
  94.  
  95.  
  96. {3, "Because ", 0},
  97. {1, 1, 1, 9}, -- Because
  98. {1, 1, 2, 5},
  99.  
  100. {3, "we can.\n", 0},
  101. {1, 1, 1, 7}, -- We can
  102. {1, 1, 2, 0},
  103.  
  104. {0, 1, 7, 0},
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111. {3, "For the good of all of us\n", 0},
  112. {1, 1, 2, 7}, -- For the good of all of us
  113.  
  114. {1, 1, 1, 9},
  115. {1, 1, 2, 10},
  116.  
  117. {1, 1, 1, 7},
  118. {1, 1, 2, 4},
  119.  
  120. {1, 1, 3, 5},
  121.  
  122.  
  123. {1, 1, 2, 7},
  124.  
  125. {3, "Except the ones who are dead\n\n\n", 0},
  126. {1, 1, 1, 0}, -- Except the ones who are dead
  127. {1, 1, 1, 5},
  128. {1, 1, 1, 7},
  129. {1, 1, 1, 8},
  130. {1, 1, 1, 7},
  131. {1, 1, 1, 5},
  132. {1, 1, 1, 3},
  133. {0, 1, 2, 0},
  134.  
  135. {3, "But there's no sense crying\n", 0},
  136. {1, 1, 1, 0}, -- But there's no sense cying over every mistake
  137. {1, 1, 1, 1},
  138. {1, 1, 2, 3},
  139.  
  140. {1, 1, 2, 8},
  141.  
  142. {1, 1, 1, 7},
  143. {1, 1, 1, 5},
  144. {3, "over every mistake.\n", 0},
  145. {1, 1, 1, 5},
  146. {1, 1, 1, 3},
  147. {1, 1, 1, 5},
  148. {1, 1, 1, 3},
  149. {1, 1, 2, 3},
  150.  
  151. {1, 1, 1, 3},
  152. {0, 1, 1, 0},
  153.  
  154. {3, "You just keep on trying\n", 0},
  155. {1, 1, 1, 0}, -- You just keep on trying till you run out of cake
  156. {1, 1, 1, 1},
  157. {1, 1, 2, 3},
  158.  
  159. {1, 1, 2, 8},
  160.  
  161. {1, 1, 1, 10},
  162. {1, 1, 1, 8},
  163. {3, "till you run out of cake\n", 0},
  164. {1, 1, 1, 7},
  165. {1, 1, 1, 5},
  166. {1, 1, 1, 5},
  167. {1, 1, 1, 7},
  168. {1, 1, 2, 8},
  169.  
  170. {1, 1, 1, 8},
  171. {0, 1, 1, 0},
  172.  
  173. {3, "And the science gets done\n", 0},
  174. {1, 1, 1, 10}, -- And the science gets done
  175. {1, 1, 1, 12},
  176. {1, 1, 1, 13},
  177. {1, 1, 1, 13},
  178. {1, 1, 2, 12},
  179. {1, 1, 2, 10},
  180.  
  181. {3, "And you make a neat gun\n", 0},
  182. {1, 1, 1, 8}, -- And you make a neat gun
  183. {1, 1, 1, 10},
  184. {1, 1, 1, 12},
  185. {1, 1, 1, 12},
  186. {1, 1, 2, 10},
  187. {1, 1, 2, 8},
  188.  
  189. {3, "For the people who are\n", 0},
  190. {1, 1, 1, 5}, -- For the people who are
  191. {1, 1, 1, 3},
  192. {1, 1, 1, 5},
  193. {1, 1, 1, 8},
  194. {1, 1, 1, 8},
  195. {1, 1, 2, 7},
  196.  
  197. {3, "still alive\n", 0},
  198. {1, 1, 1, 7}, -- Still alive
  199. {1, 1, 1, 9},
  200. {1, 1, 3, 9},
  201. {0, 1, 4, 0}, -- TOTAL TIME: 25
  202.  
  203. {4, "", 0},
  204. {3, "Forms FORM-55551-5\n", 4},
  205. {3, "Personnel File Addendum\n\n\n", 6},
  206. {3, "Dear <<Subject Name Here>>\n\n\n", 11},
  207.  
  208.  
  209.  
  210. {3, "I'm not even angry.\n", 0},
  211. {1, 1, 1, 10}, -- I'm not even angry
  212. {1, 1, 1, 9},
  213. {1, 1, 1, 7},
  214. {1, 1, 1, 7},
  215. {1, 1, 3, 9},
  216. {0, 1, 5, 0},
  217.  
  218. {3, "I'm being so sincere right now\n", 0},
  219. {1, 1, 1, 0}, -- I'm being so sincere right now
  220. {1, 1, 1, 10},
  221. {1, 1, 1, 9},
  222. {1, 1, 1, 7},
  223. {1, 1, 2, 7},
  224. {1, 1, 3, 9},
  225. {1, 1, 2, 5},
  226. {1, 1, 1, 7},
  227. {1, 1, 2, 0},
  228. {0, 1, 6, 0},
  229.  
  230. {3, "Even though you broke my heart\n", 0},
  231. {1, 1, 1, 0}, -- Even though you broke my heart and killed me
  232. {1, 1, 2, 7},
  233. {1, 1, 1, 9},
  234. {1, 1, 2, 10},
  235. {1, 1, 1, 7},
  236. {1, 1, 2, 4},
  237. {1, 1, 3, 5},
  238. {3, "And killed me.\n", 0},
  239. {1, 1, 2, 7},
  240. {1, 1, 1, 0},
  241. {1, 1, 2, 0},
  242. {1, 1, 2, 9},
  243. {0, 1, 5, 0},
  244.  
  245. {3, "And tore me to pieces.\n", 0},
  246. {1, 1, 1, 10}, -- And tore me to pieces
  247. {1, 1, 1, 9},
  248. {1, 1, 1, 7},
  249. {1, 1, 1, 7},
  250. {1, 1, 3, 9},
  251. {0, 1, 5, 0},
  252.  
  253. {3, "And threw every piece ", 0},
  254. {1, 1, 1, 0}, -- and threw every peice
  255. {1, 1, 1, 10},
  256. {1, 1, 1, 9},
  257. {1, 1, 1, 7},
  258. {1, 1, 3, 7},
  259.  
  260. {3, "into ", 0},
  261. {1, 1, 1, 9}, -- Into
  262. {1, 1, 2, 5},
  263.  
  264. {3, "a fire\n", 0},
  265. {1, 1, 1, 7}, -- A fire
  266. {1, 1, 2, 0},
  267. {0, 1, 7, 0},
  268.  
  269. {3, "As they burned ", 0},
  270. {1, 1, 2, 7}, -- As they burned it hurt because
  271. {1, 1, 1, 9},
  272. {1, 1, 2, 10},
  273. {3, "it hurt because\n", 0},
  274. {1, 1, 1, 7},
  275. {1, 1, 2, 4},
  276. {1, 1, 3, 5},
  277. {1, 1, 2, 7},
  278.  
  279. {3, "I was so happy for you!\n", 0},
  280. {1, 1, 1, 0}, -- I was so happy for you!
  281. {1, 1, 1, 5},
  282. {1, 1, 1, 7},
  283. {1, 1, 1, 8},
  284. {1, 1, 1, 7},
  285. {1, 1, 1, 5},
  286. {1, 1, 1, 3},
  287. {0, 1, 2, 0},
  288.  
  289. {3, "Now these points of data\n", 0},
  290. {1, 1, 1, 0}, -- Now these points of data make a beautiful line
  291. {1, 1, 1, 1},
  292. {1, 1, 2, 3},
  293. {1, 1, 2, 8},
  294. {1, 1, 1, 7},
  295. {1, 1, 1, 5},
  296. {3, "make a beautiful line\n", 0},
  297. {1, 1, 1, 5},
  298. {1, 1, 1, 3},
  299. {1, 1, 1, 5},
  300. {1, 1, 1, 3},
  301. {1, 1, 2, 3},
  302. {1, 1, 1, 3},
  303. {0, 1, 1, 0},
  304.  
  305. {3, "And we're out of beta.\n", 0},
  306. {1, 1, 1, 0}, -- And we're out of beta we're releasing on time
  307. {1, 1, 1, 1},
  308. {1, 1, 2, 3},
  309. {1, 1, 2, 8},
  310. {1, 1, 1, 10},
  311. {1, 1, 1, 8},
  312. {3, "We're releasing on time\n", 0},
  313. {1, 1, 1, 7},
  314. {1, 1, 1, 5},
  315. {1, 1, 1, 5},
  316. {1, 1, 1, 7},
  317. {1, 1, 2, 8},
  318. {1, 1, 1, 8},
  319. {0, 1, 1, 0},
  320.  
  321. {3, "So I'm GLaD I got burned\n", 0},
  322. {1, 1, 1, 10}, -- So I'm GLaD I got burned
  323. {1, 1, 1, 12},
  324. {1, 1, 1, 13},
  325. {1, 1, 1, 13},
  326. {1, 1, 2, 12},
  327. {1, 1, 2, 10},
  328.  
  329. {3, "Think of all the things we learned\n", 0},
  330. {1, 1, 1, 8}, -- Think of all the things we learned
  331. {1, 1, 1, 10},
  332. {1, 1, 1, 12},
  333. {1, 1, 1, 12},
  334. {1, 1, 2, 10},
  335. {1, 1, 2, 8},
  336.  
  337. {3, "for the people who are\n", 0},
  338. {1, 1, 1, 5}, -- For the people who are
  339. {1, 1, 1, 3},
  340. {1, 1, 1, 5},
  341. {1, 1, 1, 8},
  342. {1, 1, 1, 8},
  343. {1, 1, 2, 7},
  344.  
  345. {3, "still alive\n", 0},
  346. {1, 1, 1, 7}, -- Still alive
  347. {1, 1, 1, 9},
  348. {1, 1, 3, 9},
  349. {0, 1, 4, 0}, -- TOTAL TIME: 25
  350.  
  351. {4, "", 0},
  352. {3, "Forms FORM-55551-6\n", 4},
  353. {3, "Personnel File Addendum Addendum\n\n\n", 7},
  354. {3, "One last thing:\n\n\n", 10},
  355.  
  356.  
  357.  
  358. {3, "Go ahead and leave me.\n", 0},
  359. {1, 1, 1, 10}, -- Go ahead and leave me
  360. {1, 1, 1, 9},
  361. {1, 1, 1, 7},
  362. {1, 1, 1, 7},
  363. {1, 1, 3, 9},
  364. {0, 1, 5, 0},
  365.  
  366. {3, "I think I prefer to stay inside\n", 0},
  367. {1, 1, 1, 0}, -- I think I'd prefer to stay inside
  368. {1, 1, 1, 10},
  369. {1, 1, 1, 9},
  370. {1, 1, 1, 7},
  371. {1, 1, 2, 7},
  372. {1, 1, 3, 9},
  373. {1, 1, 2, 5},
  374. {1, 1, 1, 7},
  375. {1, 1, 2, 0},
  376. {0, 1, 6, 0},
  377.  
  378. {3, "Maybe you'll find someone else\n", 0},
  379. {1, 1, 1, 0}, -- Maybe you'll find someone else to help you
  380. {1, 1, 2, 7},
  381. {1, 1, 1, 9},
  382. {1, 1, 2, 10},
  383. {1, 1, 1, 7},
  384. {1, 1, 2, 4},
  385. {1, 1, 3, 5},
  386. {3, "to help you\n", 0},
  387. {1, 1, 2, 7},
  388. {1, 1, 1, 0},
  389. {1, 1, 2, 0},
  390. {1, 1, 2, 9},
  391. {0, 1, 5, 0},
  392.  
  393. {3, "Maybe Black Mesa. . .\n", 0},
  394. {1, 1, 1, 10}, -- Maybe Black Mesa...
  395. {1, 1, 1, 9},
  396. {1, 1, 1, 7},
  397. {1, 1, 1, 7},
  398. {1, 1, 3, 9},
  399. {0, 1, 5, 0},
  400.  
  401. {3, "THAT WAS A JOKE. ", 0},
  402. {1, 1, 1, 0}, -- THAT WAS A JOKE
  403. {1, 1, 1, 10},
  404. {1, 1, 1, 9},
  405. {1, 1, 1, 7},
  406. {1, 1, 3, 7},
  407.  
  408. {1, 1, 1, 9}, -- HAHA
  409. {1, 1, 2, 5},
  410.  
  411. {3, "FAT CHANCE.\n", 0},
  412. {1, 1, 1, 7}, -- FAT CHANCE
  413. {1, 1, 2, 0},
  414. {0, 1, 7, 0},
  415.  
  416. {3, "Anyway, this cake is great.\n", 0},
  417. {1, 1, 2, 7}, -- Anyway this cake is great
  418. {1, 1, 1, 9},
  419. {1, 1, 2, 10},
  420. {1, 1, 1, 7},
  421. {1, 1, 2, 4},
  422. {1, 1, 3, 5},
  423. {1, 1, 2, 7},
  424.  
  425. {3, "It's so delicious and moist\n", 0},
  426. {1, 1, 1, 0}, -- It's so delicious and moist
  427. {1, 1, 1, 5},
  428. {1, 1, 1, 7},
  429. {1, 1, 1, 8},
  430. {1, 1, 1, 7},
  431. {1, 1, 1, 5},
  432. {1, 1, 1, 3},
  433. {0, 1, 2, 0},
  434.  
  435. {3, "Look at me still talking\n", 0},
  436. {1, 1, 1, 0}, -- Look at me still talking when there's science to do
  437. {1, 1, 1, 1},
  438. {1, 1, 2, 3},
  439. {1, 1, 2, 8},
  440. {1, 1, 1, 7},
  441. {1, 1, 1, 5},
  442. {3, "when there's Science to do.\n", 0},
  443. {1, 1, 1, 5},
  444. {1, 1, 1, 3},
  445. {1, 1, 1, 5},
  446. {1, 1, 1, 3},
  447. {1, 1, 2, 3},
  448. {1, 1, 1, 3},
  449. {0, 1, 1, 0},
  450.  
  451. {3, "When I look out there\n", 0},
  452. {1, 1, 1, 0}, -- When I look out there it makes me GLaD I'm not you
  453. {1, 1, 1, 1},
  454. {1, 1, 2, 3},
  455. {1, 1, 2, 8},
  456. {1, 1, 1, 10},
  457. {3, "it makes me GLaD I'm not you\n", 0},
  458. {1, 1, 1, 8},
  459. {1, 1, 1, 7},
  460. {1, 1, 1, 5},
  461. {1, 1, 1, 5},
  462. {1, 1, 1, 7},
  463. {1, 1, 2, 8},
  464. {1, 1, 1, 8},
  465. {0, 1, 1, 0},
  466.  
  467. {3, "I've experiments to run\n", 0},
  468. {1, 1, 1, 10}, -- I've experiments to run
  469. {1, 1, 1, 12},
  470. {1, 1, 1, 13},
  471. {1, 1, 1, 13},
  472. {1, 1, 2, 12},
  473. {1, 1, 2, 10},
  474.  
  475. {3, "There is research to be done\n", 0},
  476. {1, 1, 1, 8}, -- There is research to be done
  477. {1, 1, 1, 10},
  478. {1, 1, 1, 12},
  479. {1, 1, 1, 12},
  480. {1, 1, 2, 10},
  481. {1, 1, 2, 8},
  482.  
  483. {3, "On the people who are\n", 0},
  484. {1, 1, 1, 5}, -- On the people who are
  485. {1, 1, 1, 3},
  486. {1, 1, 1, 5},
  487. {1, 1, 1, 8},
  488. {1, 1, 1, 8},
  489. {1, 1, 2, 7},
  490.  
  491. {3, "still alive\n", 0},
  492. {1, 1, 1, 7}, -- Still alive
  493. {1, 1, 1, 9},
  494. {1, 1, 3, 9},
  495. {0, 1, 2, 0},
  496. {4, "", 2},
  497.  
  498. {3, "PS: And believe me I am\nstill alive\n", 0},
  499. {1, 1, 1, 12}, -- And believe me I am
  500. {1, 1, 1, 12},
  501. {1, 1, 1, 14},
  502. {1, 1, 1, 12},
  503. {1, 1, 1, 9},
  504. {1, 1, 2, 5},
  505.  
  506. {1, 1, 1, 7}, -- Still Alive
  507. {1, 1, 1, 9},
  508. {1, 1, 3, 9},
  509. {0, 1, 3, 0},
  510.  
  511. {3, "PPS: I'm doing science and I'm\nstill alive\n", 0},
  512. {1, 1, 1, 12}, -- I'm doing science and I'm
  513. {1, 1, 1, 12},
  514. {1, 1, 1, 12},
  515. {1, 1, 1, 14},
  516. {1, 1, 1, 12},
  517. {1, 1, 1, 9},
  518. {1, 1, 2, 5},
  519.  
  520. {1, 1, 1, 7}, -- Still Alive
  521. {1, 1, 1, 9},
  522. {1, 1, 3, 9},
  523. {0, 1, 3, 0},
  524.  
  525. {3, "PPPS: I feel FANTASTIC and I'm\nstill alive\n\n", 0},
  526. {1, 1, 1, 12}, -- I feel FANTASTIC and I'm
  527. {1, 1, 1, 12},
  528. {1, 1, 1, 12},
  529. {1, 1, 1, 14},
  530. {1, 1, 1, 12},
  531. {1, 1, 1, 9},
  532. {1, 1, 2, 5},
  533.  
  534. {1, 1, 1, 7}, -- Still Alive
  535. {1, 1, 1, 9},
  536. {1, 1, 3, 9},
  537. {0, 1, 0, 0},
  538. {3, "FINAL THOUGHT:\n", 4},
  539.  
  540. {3, "While you're dying I'll be\nstill alive\n\n", 0},
  541. {1, 1, 1, 12}, -- While you're dying I'll be
  542. {1, 1, 1, 12},
  543. {1, 1, 1, 14},
  544. {1, 1, 1, 12},
  545. {1, 1, 1, 9},
  546. {1, 1, 2, 5},
  547.  
  548. {1, 1, 1, 7}, -- Still Alive
  549. {1, 1, 1, 9},
  550. {1, 1, 3, 9},
  551. {0, 1, 0, 0},
  552. {3, "FINAL THOUGHT PS:\n", 4},
  553.  
  554. {3, "And when you're dead I will be\nstill alive\n\n", 0},
  555. {1, 1, 1, 12}, -- And when you're dead I will be
  556. {1, 1, 1, 12},
  557. {1, 1, 1, 12},
  558. {1, 1, 1, 14},
  559. {1, 1, 1, 12},
  560. {1, 1, 1, 9},
  561. {1, 1, 2, 5},
  562.  
  563. {1, 1, 1, 7}, -- Still Alive
  564. {1, 1, 1, 9},
  565. {1, 1, 3, 9},
  566. {0, 1, 3, 0},
  567.  
  568. {3, "STILL ALIVE", 0},
  569. {1, 1, 1, 10}, -- Still Alive
  570. {1, 1, 1, 12},
  571. {1, 1, 4, 12},
  572.  
  573. {3, "!STILL ALIVE", 0},
  574. {1, 1, 1, 10},
  575. {1, 1, 1, 9},
  576. {1, 1, 16, 9},
  577. {0, 1, 0, 1},
  578. -- STILL ALIVE --
  579.  
  580. -- Credits
  581. {4, "", 2},
  582. {3, "Credits:\n\n", 8},
  583.  
  584. {3, "Music by Jonathan Coulton\n", 8},
  585. {3, "Portal Game by Valve\n\n", 8},
  586.  
  587. {3, "Program by Imgoodisher\n\n", 8},
  588.  
  589. {3, "Thanks for trying this out!\n", 0},
  590. },
  591. }
  592.  
  593. local speaker
  594.  
  595. for i,v in pairs(rs.getSides()) do
  596.     if peripheral.getType(v) == "speaker" then
  597.         speaker = peripheral.wrap(v)
  598.         break
  599.     end
  600. end
  601.  
  602. local notes = {}
  603. for n = -256, 256 do
  604.     notes[n] = 2^(n/12)*440
  605. end
  606.  
  607. local events = {
  608.     ["note_on"] = function(channel, n)
  609.         speaker.start(channel, notes[n])
  610.     end,
  611.     ["note_off"] = function(channel)
  612.         speaker.stop(channel)
  613.     end,
  614. }
  615.  
  616.  
  617.  
  618. --local file = io.open("/stillalive", "r")
  619. --local data = textutils.unserialize(file:read("*a"))
  620. --file:close()
  621.  
  622. local function play(data)
  623.     --on/off, channel, time, note (offset from mid A)
  624.     for i,v in pairs(data) do
  625.         if v[1] == 1 then
  626.             speaker.stop(v[2])
  627.             speaker.start(v[2], notes[v[4]])
  628.         elseif v[1] == 0 then
  629.             speaker.stop(v[2])
  630.         elseif v[1] == 3 then
  631.             os.queueEvent("lyrics", v[2])
  632.         elseif v[1] == 4 then
  633.             os.queueEvent("clear")
  634.         end
  635.    
  636.         sleep(0.25 * v[3])
  637.     end
  638. end
  639.  
  640. local function text()
  641.     term.clear()
  642.     term.setCursorPos(1, 1)
  643.     term.setCursorBlink(true)
  644.     while true do
  645.         local e, text = os.pullEvent()
  646.         if e == "lyrics" then
  647.             if text == "!STILL ALIVE" then
  648.                 term.clear()
  649.                 local w, h = term.getSize()
  650.                 local str = "STILL ALIVE"
  651.                 term.setCursorPos(w/2-str:len()/2, h/2-1)
  652.                 textutils.slowWrite(str)
  653.                 speaker.shutdown()
  654.             else
  655.                 textutils.slowWrite(text)
  656.             end
  657.         elseif e == "clear" then
  658.             term.clear()
  659.             term.setCursorPos(1, 1)
  660.         end
  661.     end
  662. end
  663.  
  664. parallel.waitForAny(
  665.     function()
  666.         play(data[1])
  667.     end,
  668.     text
  669. )
  670. speaker.shutdown()
Add Comment
Please, Sign In to add comment