let read_input_wave = fun argv ->
let n_input = (Array.length argv) - 3 in
if n_input < 0 then
raise Missing_Expression
else if n_input = 0 then
([], [])
else
let file_string_array = Array.sub argv 3 n_input in
let make_chemin s = io_macro_to_string Input_Route_string ^ s in
let file_chemin_string_array = Array.map make_chemin file_string_array in
let file_array = Array.map Sndfile.openfile file_chemin_string_array in
let file_list = Array.to_list file_array in
let frames_array = Array.map Int64.to_int (Array.map Sndfile.frames file_array) in
let create_data_array num = Array.create num 1. in
let data_float_array_array = Array.map create_data_array frames_array in
let data_float_array_list = Array.to_list data_float_array_array in
let rate_list = List.map Sndfile.samplerate file_list in
let _ = List.map2 Sndfile.read file_list data_float_array_list in
let _ = List.map Sndfile.close file_list in
(rate_list, data_float_array_list)