Just speaking the words that are defined in my language model and dictionary. I think my problem is more severe than the words I am choosing to speak. Besides, if PocketSphinx segfaults just because you say hmmm then I am wasting my time.
On Wed, Mar 21, 2012 at 6:40 PM, JM <[email protected]> wrote: > What exactly are you speaking into the microphone? > Saying "null" or "hmm" may lead to segfauls ;) > > > Am Mittwoch, den 21.03.2012, 14:38 -0400 schrieb Brian Duffy: > > Sorry, forgot to mention that the segfault happens when I speak into the > > microphone; so my pipeline and asr are working well enough to pick up > > utterances from my microphone. > > > > > > > > ---------- Forwarded message ---------- > > From: Brian Duffy <[email protected]> > > Date: Wed, Mar 21, 2012 at 2:30 PM > > Subject: Porting "Using PocketSphinx with GStreamer and python" to Vala > > To: vala-list <[email protected]>, > > [email protected] > > > > > > Hello all, I am trying to port > > <http://goog_1501870203>this< > http://cmusphinx.sourceforge.net/wiki/gstreamer>example > > "Using PocketSphinx with GStreamer and Python" to Vala. I have an > > example compiling but I am getting some warnings that I don't understand > > and a segmentation fault when running. Also, I am not sure what data > types > > I should be using for the "text" and "uttid" params in the asrResult , > > asrPartialResult, partialResult and finalResult methods. My environment > is > > Fedora 16. PocketSphinx .7, latest gstreamer that comes with Fedora 16. I > > am using Clutter (1.8) for the main loop because my application UI will > > ultimately be written in Clutter. Any help would be greatly appreciated. > > Here are my compile warnings and code .... thanks. [brian@duffybr2foodie]$ > > valac -X -O2 -g --pkg clutter-1.0 --pkg gstreamer-0.10 --pkg > > gstreamer-interfaces-0.10 --pkg clutter-gst-1.0 cmu.vala > > cmu.vala:25.24-25.48: warning: unhandled error `GLib.Error' pipeline = > > (Pipeline)Gst.parse_launch(pipeDef); ^^^^^^^^^^^^^^^^^^^^^^^^^ > > cmu.vala:11.2-11.26: warning: field `Sphinx.vader' never used private > > Gst.Element vader; ^^^^^^^^^^^^^^^^^^^^^^^^^ cmu.vala:112.6-112.26: > > warning: local variable `sphinx' declared but never used var sphinx = new > > Sphinx(); ^^^^^^^^^^^^^^^^^^^^^ > /home/brian/BitBucketRepos/foodie/cmu.vala: > > In function ‘sphinx_asrPartialResult’: > > /home/brian/BitBucketRepos/foodie/cmu.vala:51:2: warning: passing > argument > > 1 of ‘gst_structure_set_value’ discards ‘const’ qualifier from pointer > > target type [enabled by default] > > /usr/include/gstreamer-0.10/gst/gststructure.h:117:25: note: expected > > ‘struct GstStructure *’ but argument is of type ‘const struct > GstStructure > > *’ /home/brian/BitBucketRepos/foodie/cmu.vala:52:2: warning: passing > > argument 1 of ‘gst_structure_set_value’ discards ‘const’ qualifier from > > pointer target type [enabled by default] > > /usr/include/gstreamer-0.10/gst/gststructure.h:117:25: note: expected > > ‘struct GstStructure *’ but argument is of type ‘const struct > GstStructure > > *’ /home/brian/BitBucketRepos/foodie/cmu.vala:54:2: warning: passing > > argument 1 of ‘_gst_structure_copy0’ discards ‘const’ qualifier from > > pointer target type [enabled by default] cmu.vala.c:287:17: note: > expected > > ‘gpointer’ but argument is of type ‘const struct GstStructure *’ > > /home/brian/BitBucketRepos/foodie/cmu.vala: In function > ‘sphinx_asrResult’: > > /home/brian/BitBucketRepos/foodie/cmu.vala:65:2: warning: passing > argument > > 1 of ‘gst_structure_set_value’ discards ‘const’ qualifier from pointer > > target type [enabled by default] > > /usr/include/gstreamer-0.10/gst/gststructure.h:117:25: note: expected > > ‘struct GstStructure *’ but argument is of type ‘const struct > GstStructure > > *’ /home/brian/BitBucketRepos/foodie/cmu.vala:66:2: warning: passing > > argument 1 of ‘gst_structure_set_value’ discards ‘const’ qualifier from > > pointer target type [enabled by default] > > /usr/include/gstreamer-0.10/gst/gststructure.h:117:25: note: expected > > ‘struct GstStructure *’ but argument is of type ‘const struct > GstStructure > > *’ /home/brian/BitBucketRepos/foodie/cmu.vala:68:2: warning: passing > > argument 1 of ‘_gst_structure_copy0’ discards ‘const’ qualifier from > > pointer target type [enabled by default] cmu.vala.c:287:17: note: > expected > > ‘gpointer’ but argument is of type ‘const struct GstStructure *’ > > /home/brian/BitBucketRepos/foodie/cmu.vala: In function > > ‘sphinx_app_message’: /home/brian/BitBucketRepos/foodie/cmu.vala:77:2: > > warning: passing argument 1 of ‘_gst_structure_copy0’ discards ‘const’ > > qualifier from pointer target type [enabled by default] > cmu.vala.c:287:17: > > note: expected ‘gpointer’ but argument is of type ‘const struct > > GstStructure *’ cmu.vala.c: In function ‘_vala_main’: > > /home/brian/BitBucketRepos/foodie/cmu.vala:107:15: warning: ignoring > return > > value of ‘clutter_init’, declared with attribute warn_unused_result > > [-Wunused-result] Compilation succeeded - 3 warning(s) > > > > > > > > > > [code] > > using Clutter; > > using ClutterGst; > > using Gst; > > > > > > class Sphinx : GLib.Object { > > > > > > // experimenting with gstreamer pocketsphinx > > private Gst.Pipeline pipeline; > > private Gst.Element vader; > > dynamic Gst.Element asr; > > private Gst.Bus bus; > > private Gst.Structure msg; > > private Gst.Structure my_struct; > > > > public Sphinx() { > > > > > > string a = """pulsesrc > > device="alsa_input.usb-AKM_AK5370-00-AK5370.analog-mono" ! audioconvert > > !"""; > > string b = """ audioresample ! vader name=vad auto-threshold=true ! > > pocketsphinx name=asr ! fakesink"""; > > > > > > string pipeDef = a + b; > > pipeline = (Pipeline)Gst.parse_launch(pipeDef); > > > > asr = pipeline.get_by_name("asr"); > > > > asr.set_property("lm", "4038.lm"); > > asr.set_property("dict", "4038.dic"); > > > > asr.partial_result.connect(asrPartialResult); > > asr.result.connect(asrResult); > > > > asr.set_property("configured", true); > > > > bus = pipeline.get_bus(); > > bus.add_signal_watch(); > > bus.message.connect(app_message); > > > > pipeline.set_state(Gst.State.PLAYING); > > > > } > > > > > > private void asrPartialResult(Gst.Element asr, GLib.Value text, > GLib.Value > > uttid) { > > my_struct = new Gst.Structure.empty("partial_result"); > > > > my_struct.set_value("hyp", text); > > my_struct.set_value("uttid", uttid); > > > > asr.post_message(new Gst.Message.application(asr, my_struct)); > > } > > > > > > private void asrResult(Gst.Element asr, GLib.Value text, GLib.Value > uttid) { > > > > stdout.printf("%s", "inside asrResult"); > > my_struct = new Gst.Structure.empty("result"); > > > > my_struct.set_value("hyp", text); > > my_struct.set_value("uttid", uttid); > > > > asr.post_message(new Gst.Message.application(asr, my_struct)); > > } > > > > > > private void app_message(Gst.Bus bus, Gst.Message p_msg) { > > > > //stdout.printf("%s", "inside app_message"); > > msg = p_msg.get_structure(); > > string msgType = msg.get_name(); > > > > if (msgType == "partial_result") { > > partialResult(msg["hyp"], msg["uttid"]); > > }else if (msgType == "result") { > > finalResult(msg["hyp"], msg["uttid"]); > > pipeline.set_state(Gst.State.PAUSED); > > } > > } > > > > private void partialResult(GLib.Value hyp, GLib.Value uttid) { > > > > stdout.printf("%s", (string)hyp); > > } > > > > private void finalResult(GLib.Value hyp, GLib.Value uttid) { > > stdout.printf("%s", (string)hyp); > > } > > > > > > } > > > > > > int main (string[] args) { > > > > Clutter.init(ref args); > > Gst.init(ref args); > > > > //ClutterGst.init(ref args); > > > > var sphinx = new Sphinx(); > > > > Clutter.main(); > > > > return 0; > > } > > [/code] > > -- > > Duff > > > > > > > > _______________________________________________ > > vala-list mailing list > > [email protected] > > http://mail.gnome.org/mailman/listinfo/vala-list > > > _______________________________________________ > vala-list mailing list > [email protected] > http://mail.gnome.org/mailman/listinfo/vala-list > -- Duff
_______________________________________________ vala-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/vala-list
