audio classification based only on first few seconds

I record audio notes on my recorder, and each belongs to a certain category ("work", "parenting", "miscellaneous", etc.). At the beginning of each recording, I say the name of the category, then stay silent for a few seconds, and only then I begin talking.

I'm looking for software which classifies audio notes, either automatically or maybe given as input the voice recordings for each category name, or in any feasible way.

My audio signal processing knowledge is very limited, so I'd greatly appreciate recommendations for software or code that can do this. If anything off-the-shelf exists for this task, that'd be the best case. Otherwise, I can code in MATLAB and Python. My deep Learning knowledge: little.

TL;DR

You can use a speech recognition software to recognize the beginning of your recording or a speech recognition API to code this.

If You want to implement this yourself, you can use a VAD algorithm to isolate the note at the beginning of the file, and then apply by a speech recognition method for classifying into a category.

Edit:

With respect to your edit, and as mentioned in my original answer, you can use an 'off the shelf' speech recognition api. The link I gave you is for python but many exist in all platforms (including MATLAB). You will still need to use some VAD or time convention (the first second) for the stamp section.

If you are more interested in getting the job done, you can use a program that performs speech recognition and manually cut the note at the beginning.

My original answer assumed you want to implement this yourself, as this is a signal processing stack exchange and not a 'get the job done' stack exchange. I will, therefore, leave it for the benefit of anyone stumbling this question who does want to implement such a task themselves.

There are a number of valid solutions for what you are describing. I am not sure how familiar are you with deep learning (DL) methods but to my best knowledge, you are better off using them for classification methods.

Enunciation won't help you at all, as audio is usually a non-stationary statistical process.

You may avoid the note all together (as you mentioned) and proceed to scene recognition. The Idea, here, is to use a deep network for classification of the scenery with respect to sound. This is a code that tries to cope with this task, and this is a review of methods.

On the other hand, you may use speech recognition, either speaker-dependent or speaker-independent. The benefits here are that speech recognition is a vastly researched field with many robust solutions. In my personal opinion, it will produce a lower error rate in your task. If you are taking this approach, you can isolate the note in the beginning in two methods. Either you trim the first $$x$$ seconds, which you decided to dedicate to noting purposes and work on them, or you use a voice activity detection (VAD) algorithm to isolate the word, such as this code. The speech recognition can be done either by a neural network or using a model-based method such as HMM.

With either of these methods, you can't avoid recording and labeling many examples of your speech or audio scene for the method to train on. This is usually a tedious work.

• I don't understand why this answer has been downvoted. In my opinion, the described approaches are valid options to solve this problem. Having said this, I would try to go with the VAD → Speech Recognition idea first. – applesoup Dec 4 '19 at 10:52
• I don't know why the answer was downvoted, @applesoup, or why my question was downvoted. In any case, I did my share which was upvoting the answer. thanks again to both of you. – Baback Dec 20 '19 at 22:08
• @Baback, main point is I hope I helped you and others. The points are pointless :). – havakok Dec 21 '19 at 7:18