Protos in python

This commit is contained in:
Brandon Thomas committed 2019-10-20 01:17:25 -04:00
1 parent 45a8dc446e
commit dc9983e45b
4 files changed
+151 -4

No files matched your search

+8
View File
@@ -70,6 +70,14 @@ builder.add_meta_graph_and_variables(self.model.sess, [
builder.save()
```
Protos
------
Codegen for Rust is built in. Codegen for Python uses,
```
protoc --python_out=cycle_gan protos/audio.proto
```
Resources
---------
+129
View File
@@ -0,0 +1,129 @@
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: protos/audio.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor.FileDescriptor(
name='protos/audio.proto',
package='voder_audio',
syntax='proto3',
serialized_pb=_b('\n\x12protos/audio.proto\x12\x0bvoder_audio\"U\n\x12VocodeAudioRequest\x12\x15\n\rinteger_audio\x18\x01 \x03(\x05\x12\x13\n\x0b\x66loat_audio\x18\x02 \x03(\x02\x12\x13\n\x0bskip_vocode\x18\x03 \x01(\x08\"A\n\x13VocodeAudioResponse\x12\x15\n\rinteger_audio\x18\x01 \x03(\x05\x12\x13\n\x0b\x66loat_audio\x18\x02 \x03(\x02\x62\x06proto3')
)
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
_VOCODEAUDIOREQUEST = _descriptor.Descriptor(
name='VocodeAudioRequest',
full_name='voder_audio.VocodeAudioRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='integer_audio', full_name='voder_audio.VocodeAudioRequest.integer_audio', index=0,
number=1, type=5, cpp_type=1, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='float_audio', full_name='voder_audio.VocodeAudioRequest.float_audio', index=1,
number=2, type=2, cpp_type=6, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='skip_vocode', full_name='voder_audio.VocodeAudioRequest.skip_vocode', index=2,
number=3, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=35,
serialized_end=120,
)
_VOCODEAUDIORESPONSE = _descriptor.Descriptor(
name='VocodeAudioResponse',
full_name='voder_audio.VocodeAudioResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='integer_audio', full_name='voder_audio.VocodeAudioResponse.integer_audio', index=0,
number=1, type=5, cpp_type=1, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='float_audio', full_name='voder_audio.VocodeAudioResponse.float_audio', index=1,
number=2, type=2, cpp_type=6, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=122,
serialized_end=187,
)
DESCRIPTOR.message_types_by_name['VocodeAudioRequest'] = _VOCODEAUDIOREQUEST
DESCRIPTOR.message_types_by_name['VocodeAudioResponse'] = _VOCODEAUDIORESPONSE
VocodeAudioRequest = _reflection.GeneratedProtocolMessageType('VocodeAudioRequest', (_message.Message,), dict(
DESCRIPTOR = _VOCODEAUDIOREQUEST,
__module__ = 'protos.audio_pb2'
# @@protoc_insertion_point(class_scope:voder_audio.VocodeAudioRequest)
))
_sym_db.RegisterMessage(VocodeAudioRequest)
VocodeAudioResponse = _reflection.GeneratedProtocolMessageType('VocodeAudioResponse', (_message.Message,), dict(
DESCRIPTOR = _VOCODEAUDIORESPONSE,
__module__ = 'protos.audio_pb2'
# @@protoc_insertion_point(class_scope:voder_audio.VocodeAudioResponse)
))
_sym_db.RegisterMessage(VocodeAudioResponse)
# @@protoc_insertion_point(module_scope)
+3
View File
@@ -7,6 +7,7 @@ as a live demonstration of the trained model.
Brandon Thomas 2019-07-29 <bt@brand.io> <echelon@gmail.com>
"""
# noinspection PyInterpreter
import argparse
import io
import librosa
@@ -24,6 +25,8 @@ import zmq
from falcon_multipart.middleware import MultipartMiddleware
from model import CycleGAN
from preprocess import *
from protos.audio_pb2 import VocodeAudioRequest
from protos.audio_pb2 import VocodeAudioResponse
from wsgiref import simple_server
print("TensorFlow version: {}".format(tf.version.VERSION))
+11 -4
View File
@@ -20,15 +20,17 @@ pub mod ipc;
pub mod protos;
pub mod synthesis;
use wavy::*;
use protos::voder_audio::VocodeAudioRequest;
use protos::voder_audio::VocodeAudioResponse;
use wavy::*;
use byteorder::{ByteOrder, BigEndian, LittleEndian, ReadBytesExt};
use cpal::traits::{DeviceTrait, EventLoopTrait, HostTrait};
use failure::_core::time::Duration;
use ipc::AudioQueue;
use prost::Message;
//use model::load_model;
//use model::print_version;
use std::collections::VecDeque;
@@ -98,6 +100,13 @@ fn run_cpal_audio() -> Result<(), failure::Error> {
Some(d) => d,
};
let mut vocode_request = VocodeAudioRequest::default();
vocode_request.float_audio = drained.clone();
let mut encoded_bytes = Vec::with_capacity(vocode_request.encoded_len());
vocode_request.encode(&mut encoded_bytes).unwrap();
//println!("Encoded len: {}", vocode_request.encoded_len());
//println!("Len drained: {}", drained.len());
let mut bytes: Vec<u8> = Vec::with_capacity(drained.len()*4);
@@ -132,8 +141,6 @@ fn run_cpal_audio() -> Result<(), failure::Error> {
}
}
let mut outgoing = VocodeAudioRequest::default();
match socket.send(&bytes, 0) {
Ok(_) => {
//println!("Sent len: {}", bytes.len());