Binaural Beats With Python
Join the DZone community and get the full member experience.Join For Free
How to use python and ALSA to generate binaural beats.
# A very simple python example to generate binaural beats. # The data is sent to the device in a too basic way, so the # script only works well with integer frecuencies. from alsaaudio import * from struct import pack from math import sin, pi # Channel 1 frec1=317 #Frecuency vol1=1 #Volume #Channel 2 frec2=323 #Frecuency vol2=1 #Volume #Very basic choice of parameters rate = 44100 period = 44100 channels = 2 # device initialization out = PCM(type=PCM_PLAYBACK, mode=PCM_NORMAL, card='default') # parameters out.setchannels(channels) out.setrate(rate) out.setformat(PCM_FORMAT_S32_LE) out.setperiodsize(period) # a list with the sinusoidal signals is built maxAmp = pow(2,31) - 1 list =  i=period while(i>0): list.append(maxAmp*vol1*sin(frec1*float(i)/rate*2*pi)) list.append(maxAmp*vol2*sin(frec2*float(i)/rate*2*pi)) i-=1 # and the list is writen over and over again. Just kill the process to stop. s=pack('<'+channels*period*'l',*list) while(1): out.write(s)
Opinions expressed by DZone contributors are their own.