3 More Discussions You Might Find Interesting
1. UNIX for Beginners Questions & Answers
hello I hope you have a good day, no question is because a few days ago I did a malware scan to my debian and showed me that I have malware, and searched and not found how I can eliminate it, would be useful if someone knows how to You can delete or uninstall, thank you very much (2 Replies)
Discussion started by: asoh65
2 Replies
2. Cybersecurity
Hi. I'm trying to get information about the rates at which viruses and malware infect computers.
Let's say that Mr. Dastardly Developer discovers an exploitable flaw, writes a virus to take advantage of it, and releases the virus. Assuming that a large-scale attack method is chosen (Facebook,... (2 Replies)
Discussion started by: treesloth
2 Replies
3. UNIX Desktop Questions & Answers
How do i manage virus and melware in Unix ? (2 Replies)
Discussion started by: Suriano10
2 Replies
LEARN ABOUT DEBIAN
numm.spectral-analysis
spectral-analysis(7) Numm Tutorials spectral-analysis(7)
NAME
spectral analysis - perform realtime spectral analysis
SYNOPSIS
numm-run FILE
DESCRIPTION
Frequency makes for a meaningful description of many audio signals. We can use numpy's fourier analysis to compute spectra from the micro-
phone and display the results visually. We will break down the process into smaller parts: baby steps...
First, create and save a skeletal file that moves a line across the screen:
idx = 0
def video_out(a):
global idx
a[:,idx] = 255
idx = (idx + 1) % a.shape[1]
def audio_in(a):
pass
Save this snippet and run it with numm-run.
We will use the numpy.fft module for our analysis. First we define a function to get a particular frequency from the fourier transform:
import numpy as np
def get_freq(fourier, frequency):
freqs = np.fft.fftfreq(len(fourier), 1/44100.0)
nearest = (abs(freqs - frequency)).argmin()
return abs(fourier[nearest])
Next, we hook up this function to audio input from the microphone. A frequency bin is chosen on a log scale for each row on the screen to
display a spectogram. In total:
import numpy as np
idx = 0
recent_audio = np.zeros(4096, np.int16)
recent_video = np.zeros((240,320,3), np.uint8)
freq_bins = np.exp2(np.linspace(np.log2(27000),np.log2(27),240))
def get_freq(fourier, frequency):
freqs = np.fft.fftfreq(len(fourier), 1/44100.0)
nearest = (abs(freqs - frequency)).argmin()
return abs(fourier[nearest])
def video_out(a):
global idx
fourier=np.fft.fft(recent_audio)
values =np.array([get_freq(fourier,X) for X in freq_bins])
recent_video[:,idx,1] = (values/10000).clip(0,255)
idx = (idx + 1) % a.shape[1]
a[:] = np.roll(recent_video, -idx, axis=1)
def audio_in(a):
recent_audio[:] = np.roll(recent_audio, len(a))
recent_audio[:len(a)] = a.mean(axis=1)
SEE ALSO
numm-run(1), numm.getting-started(7), numm.one-bit-instrument(7)
numm February 2012 spectral-analysis(7)