[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[AUDITORY] Try AUXLAB!
I’d like to introduce AUXLAB to you all.
AUXLAB is a free program in Windows (Windows 7 and later) to generate
and process audio signals with command line syntax. The syntax, AUX
(AUdio syntaX), is similar to MATLAB syntax; but it has a number of its
own language features useful for audio. If you are a MATLAB user, you
will have very little problem following AUX. Actually, those with little
or no programming background should learn AUX relatively easily, too, as
long as they have some understanding of sound and acoustics.
Download link (no installation required; just unzip and run it):
http://auditorypro.com/download/auxlab/auxlab.html
Video tutorials on YouTube (probably more useful than wordy help
documents below):
https://www.youtube.com/playlist?list=PL3oVyjivNwSemikPL_pP3gqz8Ud3wqXkR
Documentation: http://auditorypro.com/download/auxlab/AUXLAB.pdf
Online help: http://auxlab.org/help/AUXLAB.html
Join the forum and ask me questions: http://auxlab.org/forum
Source code link: https://github.com/bjkwon/auxlab
Watch the tutorial videos (each is 4-5 min on average) today. You won't
regret.
Bomjun Kwon
bjkwon@xxxxxxxxx
If your sanity is not compromised by long, verbose, wordy messages, keep
reading---
Back in the 70’s or 80’s , MATLAB was introduced to science/engineering
students as an alternative to C, and has gained popularity over the
years because we don’t want to spend time worrying about memory
management or other C-language things (no matter how fancy they look)
when all we need to solve this damn problem or run simulation, etc. I
say the same thing: MATLAB is a great tool; but it still has a lot of
programming chores that are not relevant to auditory perception or audio
processing. How often do you swear when you have an error because you
didn’t match the length of arrays to add or multiply? Probably every
day, all the time. Do you, auditory scientists or audio engineers,
really need to care about data sample points and counting them? Yes,
embedded systems engineers do; but not you. You care more about how long
the sound is, how long one sound proceeds or overlaps with the other, or
how long is the gap, etc—all in seconds (or milliseconds), not in
samples. You live in the dB world—your brain releases a lot more
neurotransmitters when you hear “amplitude down by 2.5 dB” than
“amplitude reduced by the factor of 0.75.” AUX provides a layer of
abstraction just the way we audio people need, so we focus more on the
sound itself not its implementation. MATLAB knows no sound; AUXLAB is
built on sound. Why not try AUXLAB?
Some numbered bullet points here:
1. On the surface, AUXLAB looks like and runs like MATLAB; It has the
console where you type in the syntax; the variables window showing the
variables in the workspace; and the history window showing the commands
you have typed in.
2. Easy to make plots of variables (the plot automatically updated as
the variable changes)
3. Easy to play audio signals, easy to manage multiple sound objects
4. The AUX syntax is largely similar to MATLAB; but there are numerous
operators unique for audio processing (such as @ to set the RMS level)
and improvements in syntax features at a different level from MATLAB;
for example, the OOP style function calling: e.g., x.sqrt instead of
sqrt(x) or x.fft.abs.plot instead of plot(abs(fft(x))); which one would
you choose?
5. You can make your own functions with *.aux files, just like *.m files
of MATLAB; There’s also a debugger similar to the one in Visual Studio
or MATLAB.
6. Shh, don’t tell this to anyone—this is totally FREE. Except for
corporate users: I may charge them somehow in the future; but don’t know
how now. Enjoy free while you can.
7. This is an open source project. Contributors are welcomed, especially
if you can help with other platforms--OSX, Linux or Web interface
https://github.com/bjkwon/auxlab
8. There are “modules” that reside in AUXLAB for additional
functionalities, including psychoacoustic experimental suites (like
Psycon), special speech processing suite, real-time audio processing
suite. I’m not releasing them publicly. I may in the future, if I am in
the right mood. Anyway, the point is, modules can be made opaque to test
proprietary ideas. Now you know.
9. A little history: I began this software project in 2006 when I made a
program called Psycon to support psychoacoustic experiments. In 2011 a
paper was published introducing AUX, after rejected by almost all major
journals (JASA, HR, JSHLR, EH, you name it) for several years! (Kwon, B.
J. (2012). AUX: A scripting language for auditory signal processing and
software packages for psychoacoustic experiments and education. Behavior
Research Methods. 44, 361-373). Given this feat, I’m sad to say this:
please don’t read it. It’s like trying to understand MS-DOS to use
Windows 10.
10. To users of Psycon and AUX Viewer: AUX Viewer is obsolete and given
the comprehensive features of AUXLAB, there’s no need to even update it.
Psycon, on the other hand, is still alive, but I wouldn’t support it its
original form; because it can be a separate module residing in AUXLAB. I
would be happy to help you run a Psycon-like module in AUXLAB.
11. One of the goals of the Psycon project was to make a program that
could support ANY psychoacoustic experiment that we could conceive.
Indeed, Psycon fulfilled that goal. Well, almost, because one of my
esteemed colleagues Huanping Dai once asked me (I think that was in
2008) if Psycon could support an experiment where a psychoacoustic
testing is done while the presentation of background noise is
indefinitely on-going without interruption. That was the only time I
couldn’t answer right away “Yes, Psycon can" when I was talking to many
psychoacousticians. Now, I say confidently: Yes Psycon in AUXLAB can.
12. Actually, it’s not just whether it can or cannot. I am more
concerned with how easy the job can be done and how intuitive the coding
is to general audio people, not software engineers. AUXLAB gives you
that privilege.
13. The help document mentioned above is more like a reference manual;
not a friendly guide or tutorial. So, I made video tutorials and put
them on YouTube. Each of these is 4-5 minutes on average, helping you
invest your time topic by topic.
https://www.youtube.com/playlist?list=PL3oVyjivNwSemikPL_pP3gqz8Ud3wqXkR
1. Quick start
2. Quick filtering
3. Addition, Time-shift operator >>
4. Vectors and colon operator
5. Time indexing with tilde (~)
6. Stereo audio signals
7. Matrix: Part 1
8. Matrix: Part 2
9. Keyboard shortcuts
10. Compound operators
11. Replicator ..
12. Conditional indexing
13. Audio playback
14. Graphics
15. Time-frequency manipulation Part 1
16. Debugger & UDF (User-Defined Function)
(not yet uploaded, but in the pipeline)
17. Time-frequency manipulation Part 2
18. UDF demo with a real audio application
19. Audio "chunk" programming
20. Programming with time sequences
21. $ (Special) variables