MikroVoice for Mikrotik

A voice router? And why not?

I have created a voice notification system for network events for Mikrotiks. The project is named MikroVoice and is represented by the boards of the Catalex YX5300/6300, BT201 or DF Player Pro mp3 players, as well as a library of script functions and voiceover jingles in three languages (Russian, English, Chinese) for TF/Flash media.

MikroVoice — musical and voice Mikrotik.

Copyrigt by Sertik 2024

  • support for three languages (Russian, English, Chinese)
  • support for three mp3 player modules: Catalex YX5300/6300, BT201, DF Player Pro
  • easy USB or serial connection
  • stable operation
  • 245 pre-recorded jingles for voicing network events on the router
  • the ability to create your own voice-over function and the user's jingles
  • detailed user's guide in Russian. (An English translation is being prepared)
  • full readiness for mass production

Article on habr.com: https://habr.com/ru/articles/841258/

The code of the main functions can be downloaded on GitHub - Sertik13/MikroVoice: voice event notification system for Microtik routers

basic jingles for TF card/flash posted on https://cloud.mail.ru/public/AYDy/h91wsPkFW (in the ZIP file)

this is quite enough to assemble the device yourself and work with it

The complete ready-made library of MikroVoiceSys scripting functions will be provided only on request along with MikroJuxBox


my thanks on this forum:

Amm0 is the guru of the official Mikrotik forum for a hint on the possibility of using the ppp-out interface of the Mikrotik OS Router to communicate with equipment connected to the serial or USB ports of the router.
Chupakabra – for the $fBy ($fByteToEscapeChar function from the set of functions of the JSON parser for the Mikrotik Router OS, used by me in the SMP function and necessary for "transcoding" HEX data sent to the audio module.
Rextended and Amm0 — for hints in the implementation of tools for working with the Microtik RouterBoard USB port, Amm0 - for the $Chs ($CHOICES $INQUIRE - prompt user for input using arrays +$CHOICES +$QKEYS) function used in the system installer menu when selecting the default voice language and mp3 module (in the multicards version).

# MikroVoice download from GitHub and import
# for Terminal ROS

{
:do {       
       :put  ("MikroVoice system is loaded from GitHub ...")
   /tool fetch url="https://raw.githubusercontent.com/Sertik13/MikroVoice/refs/heads/main/MikroVoiceSys"
         } on-error={:error "MikroVoice System installation file was not found on the disk or remote resource. System installation is not possible."}
        :delay 5s
  :do {
       :put  ("MikroVoice system is installed in the router repository and environment ...")   
        /import MikroVoiceSys
       } on-error={:error "MikroVoice system unpacking error"}
}

MikroVoice Demo Video:
https://rutube.ru/video/68ce77983ec8d4532b04a45178894866/

A simple Telegram Terminal has been made for executing MikroVoice System commands from the Telegram chatbot.
Useful for test listening to system messages, and also simply as a remote control for a music center (after all, a lot of music can be recorded on the flash drive of MikroVoice mp3 players).

You can download here: https://github.com/Sertik13/MikroVoice/blob/main/Voice%20Telegram%20Terminal/VTT.rsc