forked from xiaozhi/xiaozhi-esp32
Add wake word to xmini-c3 (#730)
* esp-hi: MCP protocol is not ready yet * Add wake word to xmini-c3
This commit is contained in:
@@ -227,6 +227,8 @@ bool MqttProtocol::OpenAudioChannel() {
|
||||
auto nonce = (uint8_t*)data.data();
|
||||
auto encrypted = (uint8_t*)data.data() + aes_nonce_.size();
|
||||
AudioStreamPacket packet;
|
||||
packet.sample_rate = server_sample_rate_;
|
||||
packet.frame_duration = server_frame_duration_;
|
||||
packet.timestamp = timestamp;
|
||||
packet.payload.resize(decrypted_size);
|
||||
int ret = mbedtls_aes_crypt_ctr(&aes_ctx_, decrypted_size, &nc_off, nonce, stream_block, encrypted, (uint8_t*)packet.payload.data());
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
#include <vector>
|
||||
|
||||
struct AudioStreamPacket {
|
||||
int sample_rate = 0;
|
||||
int frame_duration = 0;
|
||||
uint32_t timestamp = 0;
|
||||
std::vector<uint8_t> payload;
|
||||
};
|
||||
|
||||
@@ -124,6 +124,8 @@ bool WebsocketProtocol::OpenAudioChannel() {
|
||||
bp2->payload_size = ntohl(bp2->payload_size);
|
||||
auto payload = (uint8_t*)bp2->payload;
|
||||
on_incoming_audio_(AudioStreamPacket{
|
||||
.sample_rate = server_sample_rate_,
|
||||
.frame_duration = server_frame_duration_,
|
||||
.timestamp = bp2->timestamp,
|
||||
.payload = std::vector<uint8_t>(payload, payload + bp2->payload_size)
|
||||
});
|
||||
@@ -133,11 +135,15 @@ bool WebsocketProtocol::OpenAudioChannel() {
|
||||
bp3->payload_size = ntohs(bp3->payload_size);
|
||||
auto payload = (uint8_t*)bp3->payload;
|
||||
on_incoming_audio_(AudioStreamPacket{
|
||||
.sample_rate = server_sample_rate_,
|
||||
.frame_duration = server_frame_duration_,
|
||||
.timestamp = 0,
|
||||
.payload = std::vector<uint8_t>(payload, payload + bp3->payload_size)
|
||||
});
|
||||
} else {
|
||||
on_incoming_audio_(AudioStreamPacket{
|
||||
.sample_rate = server_sample_rate_,
|
||||
.frame_duration = server_frame_duration_,
|
||||
.timestamp = 0,
|
||||
.payload = std::vector<uint8_t>((uint8_t*)data, (uint8_t*)data + len)
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user