I need help with creating a patch that detects the frequencies of the audio of a speech and turn them to an algorithmic ambient track
Hi all, newbie here!
I'm trying to make a tool that will detect the frequencies of the speech audio and will make an ambient track using those frequencies. I've been looking for hours to find a patch that can do that, could you please give me some information how to do that if there is no patch which can do that. or send me the link of the patch so i can work/learn on it.
Thanks.
Welcome!
Generally, the best way to ask for advice for a project like this (which has a number of moving parts) is to break your idea down into its component parts β in this case, it would involve questions about how one might go about creating a Max patch that detects "frequencies of the speech audio" [that's kind of a loaded phrase], and a Max patch that generates an ambient track.
Either one of those component parts masks a lot of individual decisions... decisions that are so personal on the part of persons who've tried what you're asking about that perhaps they may not answer because they figure you have something else in mind than what they did.
So your best chance of getting a really satisfying response or help from someone is to be specific about what you're asking for. Here's an example:
When you talk about "detecting the frequencies of the speech audio," do you mean that you want information about the primary frequency of the audio file you're listening to (tracking its deviations of pitch over the course of the audio input), or do you want to analyze the input signal to extract its harmonic content (what a linguist would call the "formants" of any vowels) that you can use for some possible polyphonic purposes? Are you interested in mapping the temporal sequence of attack transients from the audio and using them to construct rhythms? I expect you'd get very different answers for any of these approaches, some of which would involve quick analysis/slow extraction of lots of data, etc.
Similarly, "generating an ambient track" is also very very general, and connected to specifics related to the ideas in the previous paragraphs. While the adjective "ambient" isn't exactly an empty description, it leaves so much to the imagination as to give little assistance to someone who might otherwise wish to help you.
It's great that you're starting with an idea! Taking an initial project as the way to start learning Max is a road that many many many of the persons here have traveled before you. The best outcome for you is to find a way to connect with someone whose work somewhat parallels what you have in mind, and there are a few basic things that I think will help with that process (they've certainly worked for me, anyway):
1. Be as specific as you can about what it is you want to achieve. The more detail you can bring to your description ("I'd like my ambient track to sound like Lou Reed's "Metal Machine Music...." or "I'm looking for a collage like something from Brian Eno's "Scape" application...." You're more likely to connect with someone whose general tastes may parallel your own that way. You'd be surprised how effective that can be.
2. Rather than asking for a large finished patch of some sort, requesting help on one of the component parts of the large patch will probably get you much better results. In addition, those responses may help you to think through what you thought you initially wanted to do in better detail (since you'll have a more seasoned user with whom to correspond), and perhaps initiate the kind of correspondence from which friendship can emerge.
3. When asking about your component parts, one great way to get much better and more detailed responses involves indicating that you have some idea of where to start in Max β the basic external objects or sample patches in Max or online β that you're likely to use as a starting point.
Doing that isn't as hard as you might imagine (often, beginners aren't sure how to do this), given that you can search for answers for everything from what basic Max objects, tutorial, and sample patches are included with Max to Forum discussions related to what you want to do from a single location: inside the Max application itself. Just click on the Magnifying glass in the upper left-hand-corner of your Max patcher window and type in a word or phrase based on your idea (pitch detection, analyze speech, generative, etc.) and look at what comes up. The help files are always great places to start if you're really a beginner.
I would pretty much guarantee that doing that basic research and basing your questions on what you find will get you lots better responses (e.g. "What's the difference between using fzero~ for pitch detection vs. sigmund~ when it comes to working with spoken word material?")
Whew. This is longer than I expected, but it feels like early on a Monday morning to me and I was sitting here remembering myself standing where you are now. That was the advice I got back in the day, and I think it may serve you well, too.
Good luck, and - again - welcome to The Land of Rabbit Holes.
this thread IS an ambient track π
(just kidding... i don't even know what that means, it just sounded appropriate to the 'ambience' of the idea π€)
'detecting frequency' is not always the most beginner-friendly thing to start with(and you don't necessarily need to detect frequency if you're going to... let's call it, "nebulize" vocals into some form of ambient/spacious gesture)...
maybe just going off the general 'sonic' idea you might be going for, we could isolate a few rudimentary techniques:
-pitch isolation(filters? filterbanks? pitch-tracking-guided-filters/distortion?)
-transformation towards 'spaciousness'(reverb? delays? granulation?)
excellent! it is decided! this is raja's rudimentary definition of an 'ambient track maker' π
so here's a patch sending your adc~ into fffb~(a filter-bank seems most beginner-friendly and powerful at the same time) and then on into some tap delays(tapin~/tapout~) and reverb(yafr2), and additionally i setup peakamp~ so that some basic amplitude change in the input signal could work some changes over presets:
(on my laptop, i just scratch with my finger over the left speaker and get the 'ambient track' i desire, but you'll want to tweak the patch to setup 'relevant frequencies' for the vocals you might be inputting, to do that, just go into the fffb~ helpfile and play around with what you see there, it should become clear, then setup the sliders how you want, and checkout the 'preset' helpfile if you need help understanding how to record newer presets into it... and finally, for the utmost help in all of this, beyond all the helpfiles, check out the tutorials if you haven't already, especially the MSP ones: https://docs.cycling74.com/max8 )
hope it helps ππ€
thank you! i'll check the files rn, i appreciate ur replies!