final notes on attempts to convert XML to JSON in Max

update: this conversion may be built into Max 6.1.7… [js]

For now I am using the following method:

  • Write xml using jit.textfile
  • use aka.shell to convert xml to json using python script xml2json.py (modified header)
  • read the json file in using method in JSON_Readwrite.maxhelp

Its not elegant but it works on the MAC – without installing additional software, like node.js and all of its packages.

update: 3 weeks later. Have been using the above method and also calling curl from aka.shell – writing XML files to /tmp – Then following steps 2 and 3 above. Works fine.

 

 

 

 

Max XML to JSON conversion

update 6/2014 – In the internet-sensors chatbot project, I am using a python script to convert xml to json: https://reactivemusic.net/?p=9834 – also the most recent version of Max 6.1.8 now includes JSON parsing in the javascript object

original post

notes:

Lest I completely forget. There is now an xml.parse object in max.

  • So I have figured out how to write xml files from an http request using jit.textfile
  • How to read an xml file into javascript
  • many ways of parsing xml in max using externals from sadam, jasch, and xml.parse – see weather report from mz
  • some – ways of converting xml to json using php (not quite), java, and node.js – but not yet in core javascript.

So the current approach is to try to find or write a javascript function to convert and xml string to a json object – or even to a json string. Or to find a generic xml/json converter which can be run in the background from the command line

 

Max XML to JSON

update 4/2014 – Max6.1.7 js object now incudes JSON parsing

notes

(update) none of these worked – the solution ended up being a patch from Peter Nyoeber explained elsewhere in this blog…

Looking for a solution to converting xml to json in max

https://gist.github.com/4153569

From this…

http://davidwalsh.name/convert-xml-json

From Stack Overflow – a simple function…

http://stackoverflow.com/questions/7769829/tool-javascript-to-convert-a-xml-string-to-json

Speech recognition in Max

(update 6/2014): its easier to use the Google speech-api by calling it from curl. See recent examples at: https://reactivemusic.net/?p=4690

original post:

from Luke Hall in the c74 forum:

http://cycling74.com/forums/topic.php?id=18403

I’ve used Macspeech Dictate in this way. In fact it uses the same speech recognition engine as Dragon Naturally Speaking, it works very well but you could potentially run into the same problems as CJ described above.

Another way to achieve this on a mac is using the built in voice recognition and applescripts and extra suites, which is an applescript extension that extends the range of what you can do, including letting you send key presses.

1. Turn on “speakable items” from system preferences > speech > speech recognition.
2. Open max.
3. Open script editor and write a script like this:

tell application “MaxMSP” to activate
tell application “Extra Suites”
ES type key “1”
end tell

4. Save it in library > speech > speakable items > application speakable items > maxmsp and name the file whatever you want the voice command to be, for example “press one”
6. Now on the floating speech icon click the down arrow at the bottom and “open speech commands window”. With max as the front-most application check that the commands you just saved as applescripts have appeared in the maxmsp folder.
7. Now simply hook up a [key] object in max, press “escape” (or whichever key you have set up to turn speech recognition on) and say “press one” and you should have [key] spit out “49”!

Sorry about the length explanation I hope it makes sense to you and gives you another possible (and cheaper!) method of obtaining you goals.

Oh and the applescript extension can be downloaded from: http://www.kanzu.com/

lh