A biological signal processing apparatus comprising: an obtaining unit that is configured to obtain a spectrum of a biological signal that has been observed; a weighting unit that is configured to weight a high-frequency component of the spectrum obtained by the obtaining unit; a generation unit that is configured to generate a three dimensional waveform by plotting elements of the spectrum whose high-frequency component has been weighted by the weighting unit in a space defined by a time axis, a frequency axis, and an intensity axis; a storage unit for storing at least one tolerance value for a quantity of a cross-section of the three-dimensional waveform associated with a particular position along the intensity axis; and a detection unit configured for detecting a specified waveform component by using the particular position (Sp) along the intensity axis at which a cross-section in a time-frequency domain of the three-dimensional waveform generated by the generation unit is to be observed and by using at least a width (fwp) of the cross-section along the frequency axis, a center of gravity of the cross-section, an area of the cross-section and a position of the width (fwp) of the cross-section along the frequency axis being within respective tolerance values when a cross-section is detected as corresponding to the specified waveform component. an obtaining unit that is configured to obtain a spectrum of a biological signal that has been observed; a weighting unit that is configured to weight a high-frequency component of the spectrum obtained by the obtaining unit; a generation unit that is configured to generate a three dimensional waveform by plotting elements of the spectrum whose high-frequency component has been weighted by the weighting unit in a space defined by a time axis, a frequency axis, and an intensity axis; a storage unit for storing at least one tolerance value for a quantity of a cross-section of the three-dimensional waveform associated with a particular position along the intensity axis; and a detection unit configured for detecting a specified waveform component by using the particular position (Sp) along the intensity axis at which a cross-section in a time-frequency domain of the three-dimensional waveform generated by the generation unit is to be observed and by using at least a width (fwp) of the cross-section along the frequency axis, a center of gravity of the cross-section, an area of the cross-section and a position of the width (fwp) of the cross-section along the frequency axis being within respective tolerance values when a cross-section is detected as corresponding to the specified waveform component. a weighting unit that is configured to weight a high-frequency component of the spectrum obtained by the obtaining unit; a generation unit that is configured to generate a three dimensional waveform by plotting elements of the spectrum whose high-frequency component has been weighted by the weighting unit in a space defined by a time axis, a frequency axis, and an intensity axis; a storage unit for storing at least one tolerance value for a quantity of a cross-section of the three-dimensional waveform associated with a particular position along the intensity axis; and a detection unit configured for detecting a specified waveform component by using the particular position (Sp) along the intensity axis at which a cross-section in a time-frequency domain of the three-dimensional waveform generated by the generation unit is to be observed and by using at least a width (fwp) of the cross-section along the frequency axis, a center of gravity of the cross-section, an area of the cross-section and a position of the width (fwp) of the cross-section along the frequency axis being within respective tolerance values when a cross-section is detected as corresponding to the specified waveform component.