Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Blind signal separation:"Cocktail party problem"

Status
Not open for further replies.

jkormanski

Newbie level 6
Joined
Feb 8, 2005
Messages
12
Helped
3
Reputation
6
Reaction score
2
Trophy points
1,283
Activity points
240
cocktail party matlab

Hello, i am working currently on algorithms for solving "cocktail party problem". I am interested if anyone works on this topic. I would like to exchange some knowledge about this topic.
 

blind signal separation fpga

sounds interesting. could you explain what you've learned until now?
 

signal seperation by matlab

I had a look into the methods of Independent Component Analysis.. looked intresting.. came across couple of books (one posted in this site).. Are you just trying to formulate new algorithms or trying to modify the method of ICA ?
 

single blind signal separation matlab

"Cocktal party problem" can be described as a situation when we have 2 (or more) speakers talking simultaneously. Each speaker is a source and we record a mixture of the sources using 2 microphones (sensors). Each sensor contains a mixture of voices of 2 speakers. It`s a 2x2 MIMO system. The task is to recover the individual sources(voices) having only the record of their mixtures (the mixing process of sources is unknown).
By this time i wrote an algorithm in matlab which solves this problem.The recover(demixing) process is done with natural gradient adaptation algorithm.
When i tested the performance of demixing algorithm i took 2 wav files,one with the voice of my brother and second with my own voice and mixed them together. The mixing was done with a mixing 2x2 matrix by multiplying matrix by source vectors to give 2 vectors of mixed speech ( 2 sensors). This system is invertible so if we have the observations of signals (records from sensors) then if the mixing matrix is known, original sources can be found by multiplying the inverse mixing matrix by sensor vectors. Of course in blind signal separation tasks we assume that the mixing process is unknown (we dont know the values of the mixing matrix) and we want to recover original sources from their mixtures.So it can be said that problem will be solved when the demixing matrix will be found.
I hope that the whole problem and solution is clear. In my research i want to compare different kinds of demixing algorithms. The next algorithm i want to concentrate on is a demixing algorithm using genetic algorithms beacuse they perform well in finding optimal solutions.
I also plan to model some acoustic path( like a room impulse response) when mixing sources: adding echo effect which will affect that mixture will be with an echo effect and then recover orginal voices without echo.
If someone is interested i can put my m-files and also some material coevering this topic in here.
 
mixture signal separation matlab

Dear jkormanski,
Your problem looks nice.. I also once studied Independent component analysis and Multiple De-correlation technique for Blind Source separation and i also discussed this topic with one Post Doc from Holland who worked nice on Array signal Processing and Blind Source Separation. So i am intedending to opt. this topic for my phd and that's why i am starting initial work on this topic. It would be great if you share the m files and the text related to your problem. I will read this and discuss with my advisor so then i can further discuss with you if you like.

Regards
 

rapidshare 2xn

Hi Jkormansky .I'm very much interested in blind signal processing .But i'm so behind .The book that i have is several hundred pages long .And summer is hot
i don't feel like reading it now .Can you tell me where can i find a shorter course in this area?
 

blind signal separation matlab

Hello, i uploaded my m-files + 2 wav files with voices,the code isnt so complicated and i added some comments.To run it just type bss1 in the matlab command window. Elton,I guess that this very long book is Cichocki, Amari :"Adaptive blind signal and image processing" WILEY 2002. The other good and not so long reference is chapter 7 of "handbook of neural networks for signal processing" CRC PRESS(algorithm in bss1.m is covered there,i also uploaded this chapter here) . I also read some articles about cocktail party problem. So take a look how it works. I am waiting for reply.
 
  • Like
Reactions: rahima

    V

    Points: 2
    Helpful Answer Positive Rating

    rahima

    Points: 2
    Helpful Answer Positive Rating
matlab sound demixing ica blind source separation

Yes Jkormansky Cichocki, Amari . that's the book, is very good and well written .But i also got another book on ICA .and several matlab toolboxes .This area is great and i took the time all this week end to to see about any fpga implementation on blind processing and there is a lot to do.
One of the areas that i was involved many years ago (15 years )was a project to design sotware to advice what stock to buy . maybe this kind of techcniques can be applied !
One thing that i don't get is when separating sound is t necessary to have several microphones or sampling devices?
i understand that if you want to solve the system as a linear system is necessary to have redundant information !

Ok i runned your code and is simple enough to be coded in a dsp . I just would like to get a better grasp how to produce the mixing matrix !
So i can change it .
 

how to perform signal separation in matlab

Dear eltonjohn and jkormanski,
I am also very interested in this topic but i dont have that book by Cichocki, Amari ,
Can any one of you please upload it's soft copy or send me the link to some book in soft form.

-Regards
 
cocktail party problem mimo

Swahlah, the ebook by Cichocki and Amari is in the book upload section, use this link to download it: .
Elton, in blind signal separation tasks we assume that the number of microphones is at least equal to the number of sources. If we have 2 talkers then we need at leats 2 microphones.For example one microphone can be placed closer to first talker and second to another talker. That give us 2 recordings of mixtures and makes that the separation is possible.
The mixing matrix A in m-files is 2x2. s is 2xN matrix of source signals (N-number of samples) and each raw contains single voice signal,x is sensor matrix also 2xN,each raw contains a mixture of source signals.
The mixing is given by: x=A*s . Each raw of matrix A defines the mixing process for a sensor ( first raw-first sensor ...).
if the matrix A is [0.8 0.4;0.2 0.3] then first mirophone records x1=0.8*s1+ 0.4*s2 and 2nd microphone records x2=0.2*s1 + 0.3*s2 ( x=[x1;x2] and s=[s1;s2] ).So in this case the mixtures at sensors have different amplitudes,we have 2 mixtures of voice signals at different amplitudes that gives us some addiational information needed in separation process.
You can see a mixing matrix as a matrix FIR filter coefficient too. We only use 1 coefficient and the output depends only on current values. But if we would like mixing process to be more interesting then we can apply some digital audio effects ( echo, reverbation). Then we should use FIR filter with L coefficients,so we would use L matrixes instead of just single A matrix, the mixing is done by .Then the mixtures will cointain voiced signals + echo/reverbation effects and after separation we will get clean voices without echo/reverb. In my program L=0 so i use only 1 coefficient (single A matrix), but as you can see in a code i declared a demixing matrix W as a cell array. I use only 1 W{1} matrix for demixing, if add cell array of L A-matrixes then demixing will require a cell array of L W-matrixes. The estimation of L is also an interesting problem.
If you have any questions then ask me and i will respond as soon as possible.
Regards
 

code cocktail party problem

Hi Jkormanski,

Could you give a little background on the mixing matrix that you chose. I understand that sound sources further away will be less heard compared to nearer sound sources. So that makes sense by using the mixing matrix to attenuate the different sound sources relative to the position of your sensors. This is along the lines of Inter-aural Level Difference (ILD).

But how does the mixing matrix describes Inter-aural Time Delay (ITD)? This is where a sound is heard in one sensor (say left ear) before the other sensor (right ear). For example, if some is speaking to you from your left side, you would hear his/her voice first in your left ear before your right ear.

Regards,
Atfi
 


cocktail party problem bss

Dear svd,
Can u give some links for theory about Multiple Decorrelation. Because instead of ICA i am interested in Multiple Decorrelation Technique as i am considering Non-Stationary, non-White Source type.
You can read the turtoial slides for reference.

-Regards
 

audio demixing matlab code

Hello again,i am currently working on new algorithms for separation of mixed voice signals. Again it`s a 2x2 MIMO system and this time i take an approach of minimizing a mutual information of y ( size 2xN where N is number of samples) which contains the estimates of source signals. Minimizing a mutual information is a optimization problem and i use genetic algorithm for finding the optimal solution. Second algorithm is applied to a system that can be descirbied as 2x1 MISO system (2 sources and 1 sensor). Algorithm`s task is to separate mixed signals using only single record of their mixtures.To solve the problem i need 3 articles and i dont have access to ieeexplore base, can someone upload this articles for me?? Here is the list of articles:

[1] J. L. Flanagan, "Voices of Men and Machines," J. Accoust.
Soc. Am., vol. 51, pp. 1375-1387, Mar. 1972.

[2] J. D. Wise, J. A. Caprio, and T. W. Parks, "Maximum
Likelihood Pitch Estimation," IEEE Trans. Accoustics, Speech,
and Sig. Proc., vol. ASSP-24, no. 5, pp. 418-423, Oct. 1976.

[3] D. O'Shaughnessy, "Enhancing Speech Degraded by Additive
Noise or Interfering Speakers," IEEE Communications Magazine,
pp. 46-52, Feb. 1989.

Dear Swahlah, there is a whole chapter about blind decorrelation in the ebook by Cichocki, Amari:"Adaptive blind signal and image processing".
 

audio demixing matlab code+edaboard

Dear jkormanski,
Actually still i couldnt download that book as my network is slow.
When i will download that book then i will read that chapter but in the mean time i was looking for some tutorial papers on Multiple Decorrelation on internet.
Thanks a lot for your help.

-Best Regards
 

ica cocktail party

could you tell me where to find the book

handbook of neural networks for signal processing" CRC PRESS

also i need a good book about pca
 

cocktail party problem matlab code

Hello as_518 ,you can download "handbook of neural networks signal processing"+matlab files from here:

**broken link removed**
 

adaptive blind source signal and image rapidshare

thank you for this link. I need any good books about ICA and PCA
 

cocktail party problem wav files

Hello again ! I havent been posted anything about BSS for quite a long time. I was quite busy with my master`s degree thesis (topic: MIMO communication systems). Now I am back with some fresh ideas that can be applied to BSS.
Recently i wrote a new algorithm that implemented a blind extraction of sources from their linear mixtures. Currently i am interested in undetermined BSS (number of sensors is less than number of sources).
I remember that some people from this forum where interested in a topic of BSS. I can share what i have done so far. I also have a question about one thing that will be useful in my recent work. Let`s assume that we have a record that consists of 3 mixed sources. Is there any class of algorithms that can determine when a signal is present or not in that mixture ? (or moments when record consists of only 2 signals ? ).
 

cocktail party problem bss

All the discussion taking place here is about a mixture of linear processes....could someone tell me if there is any way to get arround the problem of blind source separation of volterra outputs with the use of Higher Order Statistics only.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top