wit 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca7043e6f072014963a1d0dd2a7e13239a635706
|
4
|
+
data.tar.gz: 58c178c79436cad62d2585900c14a9118dcb81c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1625bb89509f6a00a1fecdef7407ba6167d8f731ba3278fd9f037dd011bca5fba01089528bd6c39f280c2a412d6515eb83a77c347e4a587452a3c4f91177ee22
|
7
|
+
data.tar.gz: 8e7a23afeb5e1eeb44044f940b77936286e2cc3e0f37133ef56f63f900d891441f9a70cdc5969614c93d6e133b7b4550eaf2119ce9603c851733b9dce6b876c5
|
data/ext/wit/extconf.rb
CHANGED
@@ -2,19 +2,6 @@ require "mkmf"
|
|
2
2
|
|
3
3
|
PATH = File.expand_path(File.dirname(__FILE__))
|
4
4
|
|
5
|
-
abort "missing Cargo (http://crates.io)" unless system("cargo")
|
6
|
-
|
7
|
-
if not File.exist?(PATH + '/libwit')
|
8
|
-
p "Cloning libwit repository..."
|
9
|
-
abort "unable to clone libwit repository" unless system("git clone https://github.com/wit-ai/libwit.git", :chdir=> PATH)
|
10
|
-
p "Updating libwit..."
|
11
|
-
abort "unable to update libwit repository" unless system("git pull", :chdir=> PATH + "/libwit")
|
12
|
-
end
|
13
|
-
if not (File.exist?(PATH + '/libwit/include/libwit.a') and File.exist?(PATH + '/libwit/lib/wit.h'))
|
14
|
-
p "Compiling libwit..."
|
15
|
-
abort "could not build libwit" unless system("./build_c.sh;", :chdir=> PATH + "/libwit")
|
16
|
-
end
|
17
|
-
|
18
5
|
LIBDIR = RbConfig::CONFIG['libdir']
|
19
6
|
INCLUDEDIR = RbConfig::CONFIG['includedir']
|
20
7
|
HEADER_DIRS = [
|
@@ -26,11 +13,23 @@ LIB_DIRS = [
|
|
26
13
|
LIBDIR
|
27
14
|
]
|
28
15
|
|
16
|
+
if RUBY_PLATFORM.include? 'arm'
|
17
|
+
system('ln -s libwit-armv6.a libwit.a', :chdir=> PATH + '/libwit/lib')
|
18
|
+
elsif RUBY_PLATFORM.include? '64'
|
19
|
+
if RUBY_PLATFORM.include? 'darwin'
|
20
|
+
system('ln -s libwit-64-darwin.a libwit.a', :chdir=> PATH + '/libwit/lib')
|
21
|
+
else
|
22
|
+
system('ln -s libwit-64-linux.a libwit.a', :chdir=> PATH + '/libwit/lib')
|
23
|
+
end
|
24
|
+
else
|
25
|
+
system('ln -s libwit-32-linux.a libwit.a', :chdir=> PATH + '/libwit/lib')
|
26
|
+
end
|
27
|
+
|
29
28
|
$LOCAL_LIBS = '-lwit -lsox -lcurl'
|
30
29
|
|
31
30
|
dir_config 'wit', HEADER_DIRS, LIB_DIRS
|
32
31
|
|
33
32
|
abort "missing wit.h" unless have_header "wit.h"
|
34
|
-
abort "missing libwit" unless have_library "wit"
|
33
|
+
abort "missing libwit" unless have_library "wit"
|
35
34
|
|
36
35
|
create_makefile "wit"
|
@@ -0,0 +1,81 @@
|
|
1
|
+
#ifndef WIT_H
|
2
|
+
#define WIT_H
|
3
|
+
|
4
|
+
#include <stdlib.h>
|
5
|
+
|
6
|
+
struct wit_context;
|
7
|
+
typedef void (*wit_resp_callback)(char *);
|
8
|
+
|
9
|
+
/**
|
10
|
+
* Initialize the resources for audio recording and Wit API requests.
|
11
|
+
* This function returns a context object used by all the other functions
|
12
|
+
* in the library.
|
13
|
+
* The resources can be released using wit_close.
|
14
|
+
*/
|
15
|
+
struct wit_context *wit_init(const char *device_opt, unsigned int verbosity);
|
16
|
+
|
17
|
+
/**
|
18
|
+
* Release the resources allocated by wit_init.
|
19
|
+
* The context object should not be used for any other purpose after this function
|
20
|
+
* has been called.
|
21
|
+
*/
|
22
|
+
void wit_close(struct wit_context *context);
|
23
|
+
|
24
|
+
/**
|
25
|
+
* Send a text query to the Wit instance identified by the access_token.
|
26
|
+
* This function is blocking, and returns the response from the Wit instance.
|
27
|
+
*/
|
28
|
+
char *wit_text_query(struct wit_context *context, const char *text, const char *access_token);
|
29
|
+
|
30
|
+
/**
|
31
|
+
* Send a text query to the Wit instance identified by the access_token.
|
32
|
+
* This function is non-blocking. When a response is received from the Wit instance, the
|
33
|
+
* given callback is called with the response given as an argument.
|
34
|
+
*/
|
35
|
+
void wit_text_query_async(struct wit_context *context, const char *text, const char *access_token, wit_resp_callback cb);
|
36
|
+
|
37
|
+
/**
|
38
|
+
* Send a voice query to the Wit instance identified by the access_token.
|
39
|
+
* This function is blocking, and returns the response from the Wit instance.
|
40
|
+
*
|
41
|
+
* The function attempts to automatically detect when the user stops speaking. If this
|
42
|
+
* fails, the wit_voice_query_stop or wit_voice_query_stop_async functions below can
|
43
|
+
* be used to trigger the end of the request and receive the response.
|
44
|
+
*/
|
45
|
+
char *wit_voice_query_auto(struct wit_context *context, const char *access_token);
|
46
|
+
|
47
|
+
/**
|
48
|
+
* Send a voice query to the Wit instance identified by the access_token.
|
49
|
+
* This function is non-blocking. When a response is received from the Wit instance, the
|
50
|
+
* given callback is called with the response given as an argument.
|
51
|
+
*
|
52
|
+
* The function attempts to automatically detect when the user stops speaking. If this
|
53
|
+
* fails, the wit_voice_query_stop or wit_voice_query_stop_async functions below can
|
54
|
+
* be used to trigger the end of the request and receive the response.
|
55
|
+
*/
|
56
|
+
void wit_voice_query_auto_async(struct wit_context *context, const char *access_token, wit_resp_callback cb);
|
57
|
+
|
58
|
+
/**
|
59
|
+
* Send a voice query to the Wit instance identified by the access_token.
|
60
|
+
* This function returns immediately: the recording session stops only when either
|
61
|
+
* wit_voice_query_stop or wit_voice_query_stop_async is called. No end-of-speech
|
62
|
+
* detection is performed.
|
63
|
+
*/
|
64
|
+
void wit_voice_query_start(struct wit_context *context, const char *access_token);
|
65
|
+
|
66
|
+
/**
|
67
|
+
* Stop the ongoing recording session and receive the response.
|
68
|
+
* This function is blocking, and returns the response from the Wit instance.
|
69
|
+
* This function has no effect if there is no ongoing recording session.
|
70
|
+
*/
|
71
|
+
char *wit_voice_query_stop(struct wit_context *context);
|
72
|
+
|
73
|
+
/**
|
74
|
+
* Stop the ongoing recording session and receive the response.
|
75
|
+
* This function is non-blocking. When a response is received from the Wit instance, the
|
76
|
+
* given callback is called with the response given as an argument.
|
77
|
+
* This function has no effect if there is no ongoing recording session.
|
78
|
+
*/
|
79
|
+
void wit_voice_query_stop_async(struct wit_context *context, wit_resp_callback cb);
|
80
|
+
|
81
|
+
#endif
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julien Odent
|
@@ -18,6 +18,11 @@ extensions:
|
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
20
|
- ext/wit/extconf.rb
|
21
|
+
- ext/wit/libwit/include/wit.h
|
22
|
+
- ext/wit/libwit/lib/libwit-32-linux.a
|
23
|
+
- ext/wit/libwit/lib/libwit-64-darwin.a
|
24
|
+
- ext/wit/libwit/lib/libwit-64-linux.a
|
25
|
+
- ext/wit/libwit/lib/libwit-armv6.a
|
21
26
|
- ext/wit/wit.c
|
22
27
|
homepage: http://wit.ai
|
23
28
|
licenses:
|
@@ -31,7 +36,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
31
36
|
requirements:
|
32
37
|
- - ">="
|
33
38
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
39
|
+
version: 2.1.1
|
35
40
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
36
41
|
requirements:
|
37
42
|
- - ">="
|