{"id":17424,"date":"2023-07-30T13:02:10","date_gmt":"2023-07-30T17:02:10","guid":{"rendered":"https:\/\/scruss.com\/blog\/?p=17424"},"modified":"2023-07-30T13:02:10","modified_gmt":"2023-07-30T17:02:10","slug":"syn6288-tts-board-from-aliexpress","status":"publish","type":"post","link":"https:\/\/scruss.com\/blog\/2023\/07\/30\/syn6288-tts-board-from-aliexpress\/","title":{"rendered":"SYN6288 TTS board from AliExpress"},"content":{"rendered":"\n<p>After remarkable success with the <a href=\"https:\/\/scruss.com\/blog\/2023\/06\/28\/syn-6988-speech-with-micropython\/\">SYN-6988  TTS module<\/a>, then somewhat less success with the <a href=\"https:\/\/scruss.com\/blog\/2023\/07\/13\/markedly-less-success-with-three-tts-boards-from-aliexpress\/\">SYN-6658 and other modules<\/a>, I didn&#8217;t hold out much hope for the YuTone SYN-6288, which &#8211; while boasting a load of background tunes that could play over speech &#8211;  can only convert Chinese text to speech<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"899\" height=\"1024\" src=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2023\/07\/syn6288-899x1024.jpg\" alt=\"small blue circuit board with 6 MHz crystal oscillator, main chip, input headers at bottom and headphone jack\/speaker output at top\" class=\"wp-image-17425\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2023\/07\/syn6288-899x1024.jpg 899w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2023\/07\/syn6288-281x320.jpg 281w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2023\/07\/syn6288-141x160.jpg 141w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2023\/07\/syn6288-768x875.jpg 768w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2023\/07\/syn6288.jpg 1168w\" sizes=\"auto, (max-width: 899px) 100vw, 899px\" \/><figcaption class=\"wp-element-caption\">as bought from <a href=\"https:\/\/www.aliexpress.com\/item\/1005001579725599.html\">quason official store: SYN6288 speech synthesis module<\/a><\/figcaption><\/figure>\n\n\n\n<p>The wiring is similar to the SYN-6988: a serial UART connection at 9600 baud, plus a Busy (BY) line to signal when the chip is busy. The serial protocol is slightly more complicated, as the SYN-6288 requires a checksum byte at the end.<\/p>\n\n\n\n<p>As I&#8217;m not interested in the text-to-speech output itself, here&#8217;s a MicroPython script to play all of the sounds:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# very crude MicroPython demo of SYN6288 TTS chip\n# scruss, 2023-07\nimport machine\nimport time\n\n### setup device\nser = machine.UART(\n    0, baudrate=9600, bits=8, parity=None, stop=1\n)  # tx=Pin(0), rx=Pin(1)\n\nbusyPin = machine.Pin(2, machine.Pin.IN, machine.Pin.PULL_UP)\n\n\ndef sendspeak(u2, data, busy):\n    # modified from https:\/\/github.com\/TPYBoard\/TPYBoard_lib\/\n    # u2 = UART(uart, baud)\n    eec = 0\n    buf = &#x5B;0xFD, 0x00, 0, 0x01, 0x01]\n    # buf = &#x5B;0xFD, 0x00, 0, 0x01, 0x79]  # plays with bg music 15\n    buf&#x5B;2] = len(data) + 3\n    buf += list(bytearray(data, &quot;utf-8&quot;))\n    for i in range(len(buf)):\n        eec ^= int(buf&#x5B;i])\n    buf.append(eec)\n    u2.write(bytearray(buf))\n    while busy.value() != True:\n        # wait for busy line to go high\n        time.sleep_ms(5)\n    while busy.value() == True:\n        # wait for it to finish\n        time.sleep_ms(5)\n\n\nfor s in &quot;abcdefghijklmnopqrstuvwxy&quot;:\n    playstr = &quot;&#x5B;v10]&#x5B;x1]sound&quot; + s\n    print(playstr)\n    sendspeak(ser, playstr, busyPin)\n    time.sleep(2)\n\nfor s in &quot;abcdefgh&quot;:\n    playstr = &quot;&#x5B;v10]&#x5B;x1]msg&quot; + s\n    print(playstr)\n    sendspeak(ser, playstr, busyPin)\n    time.sleep(2)\n\nfor s in &quot;abcdefghijklmno&quot;:\n    playstr = &quot;&#x5B;v10]&#x5B;x1]ring&quot; + s\n    print(playstr)\n    sendspeak(ser, playstr, busyPin)\n    time.sleep(2)\n<\/pre><\/div>\n\n\n<p>Each sound starts and stops with a very loud click, and the sound quality is not great. I couldn&#8217;t get a good recording of the sounds (some of which of which are over a minute long) as the only way I could get reliable audio output was through tiny headphones. Any recording came out hopelessly distorted:<\/p>\n\n\n\n<figure class=\"wp-block-audio\"><audio controls src=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2023\/07\/syn6288-ringa.mp3\"><\/audio><\/figure>\n\n\n\n<p>I&#8217;m not too disappointed that this didn&#8217;t work well. I now know that the SYN-6988 is the good one to get. It also looks like I may never get to try the <a href=\"https:\/\/www.aliexpress.com\/item\/1005001329981692.html\">XFS5152CE<\/a> speech synthesizer board: AliExpress has cancelled my shipment for no reason. It&#8217;s supposed to have some English TTS function, even if quite limited.<\/p>\n\n\n\n<p>Here&#8217;s the auto-translated SYN-6288 manual, if you do end up finding a use for the thing<\/p>\n\n\n\n<div data-wp-interactive=\"core\/file\" class=\"wp-block-file\"><object data-wp-bind--hidden=\"!state.hasPdfPreview\" hidden class=\"wp-block-file__embed\" data=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2023\/07\/SYN6288-translated.pdf\" type=\"application\/pdf\" style=\"width:100%;height:600px\" aria-label=\"Embed of SYN6288-translated.\"><\/object><a id=\"wp-block-file--media-71781ae3-6e9f-445b-b8a0-c9eb577ce7a1\" href=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2023\/07\/SYN6288-translated.pdf\">SYN6288-translated<\/a><a href=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2023\/07\/SYN6288-translated.pdf\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-71781ae3-6e9f-445b-b8a0-c9eb577ce7a1\">Download<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>After remarkable success with the SYN-6988 TTS module, then somewhat less success with the SYN-6658 and other modules, I didn&#8217;t hold out much hope for the YuTone SYN-6288, which &#8211; while boasting a load of background tunes that could play over speech &#8211; can only convert Chinese text to speech The wiring is similar to [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3315,2],"tags":[3321,3094,1427,3238],"class_list":["post-17424","post","type-post","status-publish","format-standard","hentry","category-electronics","category-goatee-stroking-musing-or-something","tag-aliexpress","tag-micropython","tag-speech","tag-tts"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pQNZZ-4x2","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/17424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/comments?post=17424"}],"version-history":[{"count":1,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/17424\/revisions"}],"predecessor-version":[{"id":17428,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/17424\/revisions\/17428"}],"wp:attachment":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/media?parent=17424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/categories?post=17424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/tags?post=17424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}