No errors with sending the command to shell.
I did get some errors though with a few runs of it in a terminal here is an
example.
ValueError: could not convert string to float:
bj@bj-HP-Pavilion-dv5-
Notebook-PC:~/Desktop/tunetof$ python scl2pd.py stiltnerphihr16.scl
Traceback (most recent call last):
File "scl2pd.py", line 69, in <module>
tab = convert_scala(file)
File "scl2pd.py", line 58, in convert_scala
tab.append(ratio2float(l))
File "scl2pd.py", line 21, in ratio2float
return float(r[0]) / float(r[1])
ValueError: could not convert string to float:
also in tunetof.pd there was an error with nonoctave tunings
here is a correction #N canvas 478 73 737 667 10;
#X obj 526 362 table \$0-tuning;
#X obj 102 214 t a a;
#X obj 102 172 inlet;
#X obj 102 551 outlet;
#X obj 102 504 * 1;
#X obj 261 136 inlet;
#X obj 526 333 s \$0-tuning;
#X obj 447 155 inlet;
#X obj 102 403 tabread \$0-tuning;
#X obj 447 194 route symbol;
#X msg 556 306 const 0;
#X msg 447 237 read \$1;
#X obj 319 182 inlet;
#X obj 526 274 list prepend 0;
#X obj 526 228 t a b;
#X text 293 162 notes per octave;
#X text 234 116 base frequency;
#X obj 238 463 * \$1;
#X obj 281 373 div \$2;
#X obj 102 379 mod \$2;
#N canvas 0 0 450 300 length 0;
#X obj 126 70 inlet;
#X obj 161 209 + 1;
#X obj 72 183 b;
#X obj 116 249 f;
#X obj 116 276 outlet;
#X obj 148 183 1;
#X obj 132 211 f 1;
#X obj 206 213 0;
#X obj 126 104 t a b b;
#X text 37 37 list-len: calculate length of a list.;
#N canvas 0 0 533 407 drip 0;
#X obj 64 206 list split 1;
#X obj 64 123 until;
#X obj 64 181 list append;
#X obj 194 206 bang;
#X text 146 90 First store list \, then start the loop;
#X text 163 118 "until" bangs its output until told to stop by a "bang"
to its right inlet.;
#X text 182 160 Store the remaining list.;
#X text 239 205 third outlet of "split" tells us to stop.;
#X obj 64 243 outlet;
#X obj 64 57 inlet;
#X text 237 44 From list-help.pd;
#X obj 143 243 outlet;
#X obj 64 86 t b a;
#X connect 0 0 8 0;
#X connect 0 1 2 1;
#X connect 0 2 3 0;
#X connect 0 2 11 0;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 1 1;
#X connect 9 0 12 0;
#X connect 12 0 1 0;
#X connect 12 1 2 1;
#X restore 72 152 pd drip;
#X connect 0 0 8 0;
#X connect 1 0 6 1;
#X connect 2 0 6 0;
#X connect 3 0 4 0;
#X connect 5 0 6 1;
#X connect 6 0 1 0;
#X connect 6 0 3 1;
#X connect 7 0 3 1;
#X connect 8 0 10 0;
#X connect 8 1 5 0;
#X connect 8 2 7 0;
#X connect 10 0 2 0;
#X connect 10 1 3 0;
#X restore 414 302 pd length;
#X obj 414 324 - 1;
#X obj 521 510 symbol \$3;
#X obj 521 488 loadbang;
#X obj 521 539 select 0;
#X msg 572 567 read \$1;
#X obj 572 591 s \$0-tuning;
#X text 37 18 Arguments (all are optional):;
#X text 112 43 1) base frequency;
#X text 113 62 2) notes in octave;
#X text 112 81 3) filename of tuning table;
#X text 410 130 filename or float list to set tuning table;
#X text 482 464 Init tuning table from file \$3;
#X floatatom 414 343 5 0 0 0 - - -;
#X floatatom 281 430 5 0 0 0 - - -;
#X floatatom 238 482 5 0 0 0 - - -;
#X floatatom 325 382 5 0 0 0 - - -;
#X floatatom 105 423 5 0 0 0 - - -;
#X floatatom 107 526 7 0 0 0 - - -;
#X obj 398 459;
#X obj 414 361 tabread \$0-tuning;
#X obj 281 408 expr pow($f2 \, $f1);
#X connect 1 0 19 0;
#X connect 1 1 18 0;
#X connect 2 0 1 0;
#X connect 4 0 3 0;
#X connect 4 0 38 0;
#X connect 5 0 17 1;
#X connect 7 0 9 0;
#X connect 8 0 4 0;
#X connect 8 0 37 0;
#X connect 9 0 11 0;
#X connect 9 1 14 0;
#X connect 10 0 6 0;
#X connect 11 0 6 0;
#X connect 12 0 18 1;
#X connect 12 0 19 1;
#X connect 13 0 6 0;
#X connect 14 0 13 0;
#X connect 14 0 20 0;
#X connect 14 1 10 0;
#X connect 17 0 4 1;
#X connect 17 0 35 0;
#X connect 18 0 36 0;
#X connect 18 0 41 0;
#X connect 19 0 8 0;
#X connect 20 0 21 0;
#X connect 21 0 18 1;
#X connect 21 0 19 1;
#X connect 21 0 33 0;
#X connect 22 0 24 0;
#X connect 23 0 22 0;
#X connect 24 1 25 0;
#X connect 25 0 26 0;
#X connect 33 0 40 0;
#X connect 40 0 41 1;
#X connect 41 0 17 0;
#X connect 41 0 34 0;