2016-12-11 2 views
0

Я работал над proyect, и мне нужно получить максимальное значение графика, который я сделал в PlotlyJS, мне нужно получить частоту WAV-файла и напечатать музыкальную ноту, связанную с этой частотой. http://samcarcagno.altervista.org/blog/basic-sound-processing-julia/ Я слежу за этим сообщением, но это только дало вам спектрограмму частоты. Чтобы получить основную частоту, я изменил значение y.Как получить максимальное значение участка в Юлии?

plot(scatter(;x=freqArray/1000, y=p), 
Layout(xaxis_title="Frecuencia (kHz)", 
     xaxis_zeroline=false, 
     xaxis_showline=true, 
     xaxis_mirror=true, 
     yaxis_title="Intensidad (dB)", 
     yaxis_zeroline=false, 
     yaxis_showline=true, 
     yaxis_mirror=true)) 

That's the plot Пожалуйста, помогите мне, я не знаю, как получить частоту

+2

'максимум (freqArray)' не помогло? –

+3

Не имеет смысла говорить о максимальной стоимости сюжета. Вам нужно максимальное значение данных, которые вы ввели в сюжет. –

ответ

0

У вас есть два связанных векторов. p содержит значение интенсивностей, а freqArray содержит соответствующие частоты. На вашем участке отображается последовательность (x,y) точек, определяемых (freqArray[i],p[i]) по всем показателям i.

Вы можете использовать indmax(p), чтобы вернуть индекс, в котором p имеет максимальное значение. Затем вы можете посмотреть, что такое частота, путем индексации на freqArray по этому индексу.

julia> p = rand(200); 
     freqArray = 5:5:1000; 

julia> idx = indmax(p) 
114 

julia> p[idx] # this is the maximum value 
0.9968329198539723 

julia> freqArray[idx] # and this is its frequency 
570 
Смежные вопросы