cortictechnology / cep

Licence: MIT license
CEP is a software platform designed for users that want to learn or rapidly prototype using standard A.I. components.

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
CSS
56736 projects
HTML
75241 projects
SCSS
7915 projects
Less
1899 projects

Projects that are alternatives of or similar to cep

Project alias
Alias is a teachable “parasite” that is designed to give users more control over their smart assistants, both when it comes to customisation and privacy. Through a simple app the user can train Alias to react on a custom wake-word/sound, and once trained, Alias can take control over your home assistant by activating it for you.
Stars: ✭ 1,577 (+1026.43%)
Mutual labels:  smarthome, speech-recognition
ambianic-edge
The core runtime engine for Ambianic Edge devices.
Stars: ✭ 98 (-30%)
Mutual labels:  smarthome, edge-computing
CaptionThis
"Caption This" is an iOS app that adds real-time captions to videos for Instagram Stories
Stars: ✭ 12 (-91.43%)
Mutual labels:  speech-recognition
Tradfri-FHEM
A Module for the FHEM Home-Control Software which enables connectivity to the IKEA Trådfri gateway
Stars: ✭ 23 (-83.57%)
Mutual labels:  smarthome
ioBroker.heatingcontrol
heating control incl. simple actor handling
Stars: ✭ 43 (-69.29%)
Mutual labels:  smarthome
node-red-contrib-polymer
A Polymer based Dashboard UI for Node-RED
Stars: ✭ 21 (-85%)
Mutual labels:  smarthome
cul
nodejs module to interact with busware cul / culfw
Stars: ✭ 26 (-81.43%)
Mutual labels:  smarthome
awesome-zigbee
Curated List of ZigBee related stuff
Stars: ✭ 45 (-67.86%)
Mutual labels:  smarthome
react-native-spokestack
Spokestack: give your React Native app a voice interface!
Stars: ✭ 53 (-62.14%)
Mutual labels:  speech-recognition
torchsubband
Pytorch implementation of subband decomposition
Stars: ✭ 63 (-55%)
Mutual labels:  speech-recognition
masr
中文语音识别系列,读者可以借助它快速训练属于自己的中文语音识别模型,或直接使用预训练模型测试效果。
Stars: ✭ 179 (+27.86%)
Mutual labels:  speech-recognition
smart-social-distancing
Social Distancing Detector using deep learning and capable to run on edge AI devices such as NVIDIA Jetson, Google Coral, and more.
Stars: ✭ 129 (-7.86%)
Mutual labels:  edge-computing
tplink-smarthome-simulator
TP-Link Smarthome Device Simulator
Stars: ✭ 55 (-60.71%)
Mutual labels:  smarthome
tuyapower
Python module to read status and energy monitoring data from Tuya based WiFi smart devices. This includes state (on/off), current (mA), voltage (V), and power (wattage).
Stars: ✭ 101 (-27.86%)
Mutual labels:  smarthome
XML-API
HomeMatic CCU Addon implementing a xml request functionality
Stars: ✭ 106 (-24.29%)
Mutual labels:  smarthome
ioBroker.zwave2
Z-Wave for ioBroker. Better. Faster. Stronger.
Stars: ✭ 22 (-84.29%)
Mutual labels:  smarthome
wav2vec2-live
A live speech recognition using Facebooks wav2vec 2.0 model.
Stars: ✭ 205 (+46.43%)
Mutual labels:  speech-recognition
ASR-Audio-Data-Links
A list of publically available audio data that anyone can download for ASR or other speech activities
Stars: ✭ 179 (+27.86%)
Mutual labels:  speech-recognition
ioBroker.sonos
Control and monitor SONOS player from ioBroker
Stars: ✭ 33 (-76.43%)
Mutual labels:  smarthome
microblx
microblx: real-time, embedded, reflective function blocks.
Stars: ✭ 37 (-73.57%)
Mutual labels:  edge-computing

cep-banner

CEP is a software platform designed for users that want to learn or rapidly prototype using standard A.I. components. It runs on the popular Raspberry Pi 4B and 400 single-board computer and has native support for the Luxonis OAK-D and OAK-D-Lite stereo cameras. It comprises two sub-components: CAIT (the Cortic A.I. Toolkit) and CURT (the Cortic Universal RunTime).

visual-programming

CAIT is a visual programming interface (based on Microsoft's MakeCode project) and a low-code Python API. Users with no prior programming experience can use the visual programming interface to create their own A.I. projects and deploy them to run on the OAK-D camera. More experienced users can use the low-code API to quickly create A.I. programs using Python.

CURT is a middleware system that enables users to distribute A.I. computations to different computing devices on the local network. CURT's decentralized mesh architecture automatically handles device failover and load balancing for the user. It also offers a simple command-based programming interface. Developers can implement complex workflows using easy-to-understand sequential commands while the system manages the scheduling of the underlying asynchronous tasks.

CURT allows the deployment of docker-based container modules. We currently include five built-in modules:

  1. Computer vision (deep learning vision models that run on either RPi or OAK-D)
  2. Voice (on device and cloud-based speech recognition and speech generation)
  3. NLP (customizable natural language processing tools)
  4. Control (LEGO motor control)
  5. Smart home (control smart home devices via HomeAssistant)

Each module can advertise a set of services on the network. In addition, each service can host a group of workers that perform various tasks. Please refer to our sample codes on configuring modules, services, and workers on supported devices. They also illustrate the use of the command-based programming interface.

Hardware Configuration

CEP currently supports the following hardware configuration.

  • Any of Raspberry Pi 4B 2GB/4Gb/8GB or 400 models
  • Micro SD card (we recommend at least 32GB)
  • OAK-D camera
  • USB Webcam
  • CSI Camera
  • ReSpeaker 4-Mic Array for Raspberry Pi
  • Mini speaker with 3.5mm audio jack
  • Any Raspberry Pi compatible battery HAT
  • LEGO Mindstorms Robot Inventor Kit
  • Lights and speakers supported by HomeAssistant

Installation

Before you start, make sure there is at least 32GB of free space on your SD card. Then, open a terminal in RaspberryPi OS and type the following commands.

$ git clone https://github.com/cortictechnology/cep
$ cd cep
$ bash setup.sh

The Raspberry Pi device will reboot at the end of the setup script.

Installing the ReSpeaker Driver

An additional installation step is required to support the ReSpeaker 4-Mic array. Enter the following commands into the terminal.

$ git clone https://github.com/respeaker/seeed-voicecard
$ cd seeed-voicecard
$ sudo ./install.sh
$ sudo reboot

Your device will reboot again after installing the Re-Speaker device driver.

The ReSpeaker installation script above will update your Raspberry Pi OS to the latest version. However, this update sometimes brings in a kernel update as well. In this case, the installation script will NOT install the driver and output the following warning message:

Not matching the updated version <version number>
Kernel was updated, but new kernel was not loaded yet
Please reboot your machine AND THEN run this script again

If you see this message, you’ll need to run the installation script again after your system reboots to ensure the driver is properly installed.

Visual Programming

  1. Make sure your Raspberry Pi device is connected to the Local Area Network (LAN).
  2. On a computer connected to the same LAN, go to http://<raspberry_pi_hostname>.local/setup on your browser and follow the instruction to complete the setup process. The Raspberry Pi device will reboot itself.
  3. After the setup process completes, you can access the visual programming interface at http://<raspberry_pi_hostname>.local/programming.
  4. You can use the link at the bottom of the login page to create a new local account.

You can click on the Load icon to open any sample project with the .cait extension in the examples folder.

Python Programming

We recommend using the VSCode editor for Python development. You can enter the following commands on the command line to install it.

sudo apt update 
sudo apt install code -y

Please refer to the Python sample codes included in the examples folder to get started using CAIT's low-code API and CURT's command-based API.

How to contribute

We welcome contributions from all our users. You can contribute by requesting features or reporting bugs under "Issues." You can also submit proposed code updates through pull requests to our "dev" branch.

Follow us on social media

If you are interested in upcoming features and applications of CEP, please follow us on Twitter or LinkedIn.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].