|
FAQ index |
- Introduction
- Setup
- Operation
- Troubleshooting
- Theory
- General
|
|
|
What is baudline? |
Baudline is a powerful signal analyzer designed for scientific
visualization. See the
What is baudline?
page for a detailed description and a list of features.
|
|
|
What is SigBlips? |
SigBlips is the maker of baudline. We are a contract engineering design
and development firm that specializes in real-time embedded and digital signal
processing systems. Hire us. See the
SigBlips page for more information.
|
|
|
How do I install the baudline input decoder helpers? |
By default, Mandrake 7.1 and Red Hat 6.2 install most of the helpers necessary
for decoding audio files. Special installation is required for
GSM, flac, and Ogg Vorbis files.
Helper |
Minimum version |
file type |
gunzip -V |
1.2.4 |
gz, Z, zip |
bunzip2 -V |
0.9.0b |
bz2 |
flac |
1.0 |
lossless |
sox -h |
12.17.1 |
ADPCM |
untoast -v |
1.0 |
GSM |
rmdtopvf -v |
0.9.16 |
rmd |
mpg123 |
0.59r |
MP3 |
mpg321 |
0.2.10 |
MP3 |
ogg123 -V |
1.0rc2 |
Ogg Vorbis |
The decoder helper binaries need to be located someplace
in your standard search $PATH.
For GSM 6.10 decoding you will need to install the GSM
and sox source code (see above links) and follow the directions
in the sox INSTALL file about the optional GSM libraries. Make sure
you uncomment the WAV49 declaration in the GSM Makefile.
Update: sox version 12.17.3 now includes the GSM library so no extra
compilation work is necessary, but the toast package is still required
to decode files with the .gsm
suffix.
|
|
|
How do I set up baudline as an audio file helper in Netscape? |
Go into Netscape's Preferences->Navigator->Applications window and edit the
following MIME Helpers. Or use your favorite text editor to manually
enter the following information into your
~/.mailcap and your
~/.mime.types files.
|
Description |
MIME Type |
Suffixes |
WAV Audio |
audio/x-wav |
wav |
|
audio/wav |
|
|
audio/x-pn-wav |
|
|
audio/x-pn-windows-acm |
|
ULAW Audio |
audio/basic |
au, snd |
|
audio/x-basic |
|
|
audio/x-pn-au |
|
AIFF Audio |
audio/x-aiff |
aif, aiff, aifc |
|
audio/aiff |
|
|
audio/x-pn-aiff |
|
MPEG Audio |
audio/x-mpeg |
mp3, mp2, mpa, abs, mpega |
|
audio/mpeg |
|
GSM Audio |
audio/x-gsm |
gsm, gsd |
|
audio/gsm |
|
Ogg Vorbis |
application/x-ogg |
ogg |
Under the "Handled By" section choose the Application
option and enter "/home/path/baudline -session file -mem 4 -play %s" in
the application box. The Netscape Preferences window should look
sort of like
this.
Now you can click on an audio file and baudline will open up and display
it.
Here is a description of what the dash options mean.
The "-session file" option instructs baudline to perform session management
under the filename of "file", the name is arbitrary, "-session netscape"
would of been a good choice. Session management means that window placement,
position, and other program settings are remembered when baudline startups
and exits. The "-mem 4" option tells baudline to use 4 megabytes
of buffer space which is the minimum amount, this is useful if you happen
to open many audio files at once. Without the "-mem 4" option each
baudline instance will default to using 25% of your RAM for its buffer
space and having more than 2 or 3 baudlines running will cause swapping.
Note that the -mem option overrides the memory size value that is stored
in the -session. The -play option forces the signal to be played
out of /dev/audio after it has been loaded. See the
session
management manual page for more information. |
|
|
How
do I get a scroll wheel mouse to work with baudline? |
By default, baudline automatically supports the
scroll wheel for sliding vertical scroll bars. Holding down the <Alt>
hotkey transforms a move action in a zoom action. Used with
the <shift> key modifier the vertical direction changes to the horizontal
direction.
If you haven't already done so, your X11 server will need
to be configured to work with the scroll wheel by adding ZAxisMapping information.
If you are using a 3.3.x version of the X server then modify your /etc/X11/XF86Config
file to contain this information:
Section "Pointer"
Protocol
"IMPS/2"
Device
"/dev/mouse"
Buttons
5
ZAxisMapping 4 5
If you are using a 4.x version of the X server then modify
your /etc/X11/XF86Config file to contain this information:
Section "InputDevice"
Identifier "Mouse1"
Driver
"mouse"
Option "Protocol"
"IMPS/2"
Option "Device"
"/dev/psaux"
Option "Emulate3Buttons"
"off"
Option "ZAxisMapping"
"4 5"
EndSection
The IMPS/2 is very important as the Generic PS/2 protocol
doesn't know about scroll wheels. The IM stands for Microsoft InteliMouse
but this protocol also works with the Logitech First Mouse that has
a scroll wheel. The MouseManPlusPS/2 protocol might also work but
you are on your own if you try it. You will need to restart your
X11 Server for the changes to the /etc/X11/XF86Config file to take effect.
Now start up baudline and <pause> it. The scroll
wheel should now move the main scroll bar. If it doesn't try using the
xev
utility to test if you are getting button 4 & 5 events.
Also doing a "ps aux | grep imwheel" is a good thing to check. Don't
use the imwheel program because it creates havoc with programs that
have native support for the scroll wheel.
|
|
|
How do I improve the DJ phono needle scratching performance? |
If the phono needle scratching response seems
a little slow and laggy then try reducing the number of output audio fragments
to a smaller number like 4, the default value is 16 fragments. You
do this by running "baudline -outfrags 4" from the command line.
Having a smaller number of output fragments will reduce the scratching
latency but it can also cause audio drop outs at high CPU load levels.
The -outfrags option can go as low as 2, but 4 is a better choice for a
balanced play back and low latency scratching system. |
|
|
I
use Gnome and KDE and I don't like using the Alt key modifier. How
do I make baudline use the Control key modifier instead?
|
Start up baudline from the command line with "baudline
-modifier ctrl" for a Control key shortcut modifier. Or try "baudline
-modifier meta" if you would like the Meta key to be your modifier.
See the manual page.
|
|
|
How do I enable backing store on my XFree86 or Xorg X11 Server?
|
Mac OS X and XFree86 3.3.x have backing store enabled while XFree86 4.x.x does
not. The X.org server in most modern Linux distributions have backing
store disabled by default. You can determine if backing store is
currently enabled on your X-Server by running "baudline -sysinfo". If the
value of backing store is NotUseful, then for maximum baudline performance you
should add the following backing store line to your /etc/X11/XF86Config or
/etc/X11/xorg.conf file and then restart your X11 Server.
Here is an example snippet:
Section "Device"
Identifier "ATI Rage LT
PRO"
VendorName "Unknown"
BoardName "Unknown"
Driver
"ati"
Option
"DPMS"
Option
"backingstore"
EndSection
For more information on backing store read about baudline's
-backingstore command line option.
|
|
|
My mouse cursor flickers when baudline is recording and it's driving me
crazy! How do I make it stop?
|
The flickering of the mouse cursor (arrow) is caused by the new Xorg software
cursor. While the new software cursor is very pretty with its
anti-aliasing and alpha blended drop shadow it is drawn and managed by software
in the video driver. When placed in front of moving video the cursor will
flicker. Unfortunately this flaw is inherent in this type of design, it
is not the sort of thing that can be fixed.
The better method of drawing a mouse cursor is the way it has been done for
decades, in hardware on the video card. If you want to get rid of the
flicker then you are going to have to go into the Control Panel and disable the
software mouse cursor.
Another problem of the software cursor is that it consumes CPU cycles.
Since the cursor is small the number of cycles isn't that great but it does add
up. In fact disabling the software cursor will result in the gain of
about 3 or 4 baudline FPS (frames per second) on a typical low end machine.
|
|
|
How do I setup KDE2 color themes to work with baudline? |
Start up the KDE Control Center application,
go into the LookNFeel->Style folder, and click on the "Apply
fonts and colors to non-KDE apps" option in the Other settings for
drawing section.
[Update December 2004]
The KDE3 default is to do this automatically.
|
|
|
How do I setup baudline to be a helper app in KDE2's Konqueror? |
- Start up the Konqueror application.
- From the Settings pulldown menu choose the Configure
File_Associations... item.
- Click on the audio types.
- Then just like with Netscape,
you will want to edit the following MIME types: basic, wav, x-basic, x-wav.
- For each MIME type remove the current default in the Application
Preference Order box.
- Then click the Add button.
The first time you setup this procedure you will need to type
/home/user_name/bin_path/baudline -session file -mem 4 -play
in the upper text entry box. This will add baudline as a Known
Application and then on subsequent entries for the remaining MIME types
you can just click on the baudline item. If you don't want the file to
automatically play then remove the -play option. See the
session management manual
for more information.
|
|
|
How do I get Alt+O (open file) to work in KDE 3.2? |
- Open KHotKeys in KDE's control center System section.
- Disable both the KHotKeys daemon and the mouse gestures.
|
|
|
In KDE 3.2 I can't see my new windows. How do I stop windows from opening behind the main display? |
- Open Window Behavior in KDE's control center LookNFeel section.
- Click on the Advanced tab.
- Set "focus stealing prevention" to None.
|
|
|
The right Alt key doesn't work in KDE 3.2, how do I fix this? |
For some strange reason keycode 113 (keysym 0xffea, Alt_R) is being translated
to the ISO_Level3_Shift key. You can test and verify this by running the
xev program. This can be fixed by doing the following:
- Open Keyboard Layout in KDE's control center Accessibility section.
- Click on the Xkb Options tab.
- Disable xkb options.
|
|
|
What is the best color temperature setting for baudline? |
Color temperature is a monitor setting and values are in Kelvin.
5000K, 6500K, 7500K, and 9300K are popular choices.
For the most natural colors and best full range contrasts we recommend the
5000K setting.
|
|
|
How do I configure baudline to run in a protected kiosk mode? |
To lock baudline down in a protected kiosk mode change the session parameter
file to be read only. Simply quit and restart baudline to return to
your preconfigured session parameters. After setting the operational
parameters and window layout try:
chmod ugo-w ~/.baudline/baudline_rc
or
chmod ugo-w ~/.baudline/session/name
if a -session configuration file is
used.
|
|
|
How do I get baudline to analyze the audio output going to my
computer speakers? |
What you need is a loopback. There are several different ways to accomplish
this:
-
Use a loopback Y-cable to connect your audio card's output to its input.
This analog solution will also be measuring your audio card's
SNR and other
distortions. Some devices such as the Edirol UA-25 let you do this
loopback digitally with the push of a button.
-
Go into baudline's
Input Devices
window and select the channel called "volume". Selecting this channel
instructs the /dev/mixer of the audio card to do an internal loopback.
Unfortunately this option has the same analog issues mentioned above and not
all audio cards have the "volume" mixer
channel.
-
Use JACK and route the audio output source to baudline's input sink.
-
Use SoundFlower on Mac OS X.
-
If you are using baudline's
Tone Generator
then there is a digital tone loopback button in the Input Devices window.
This option is great for
DUT
measurements such as performing dual-channel
transforms
like the impulse response and transfer function.
|
|
|
How do I save sample data to a file? |
- Put baudline into pause mode.
- Select All (Alt+A) or
click and drag a
selection of samples with the mouse.
- Save Selection As (Alt+S)
|
|
|
How do I record live sample data to disk? |
Start up baudline with the following command and then begin record:
baudline -stdout > file.raw
The resulting file.raw will be 16-bit native endian samples that are strided
with the preconfigured number of channels. This file can be opened with
baudline's
Raw Parameters window or
can be feed into the standard input pipeline with a command like:
cat file.raw | baudline -stdin -channels 2
See -stdin for more information.
|
|
|
How do I clear the sample rate calibration setting? |
The sample rate PPM calibration setting in the
Input Devices window can be reset
by manually changing the sample rate. Starting baudline with the
following command line option also resets the calibration value to zero:
baudline -calibratesr 0
|
|
|
How do I change color palettes? |
Baudline automatically selects an optimal color palette depending on the
number of channels and the number of panes. A non-default color palette
can be selected with the
Input Mapping
window. The three color palettes at the bottom of the option menu are
custom user palettes and can be configured with a fine degree of adjustment
with the Color Picker window.
|
|
|
How do I adjust the spectrogram intensity? |
Use the
Color Aperture window and
adjust the upper and lower dB slider controls.
|
|
|
How do I make /dev/audio2 the default for audio playback? |
Go to the popdown section
of the Play Deck window and change the Output Device option from automatic to
/dev/audio2.
|
|
|
I startup baudline and it says "all input devices disabled" and
the input devices window doesn't have any /dev/audio's, it is empty.
What do I do? |
Here are two possible explanations for this:
-
You don't have a properly configured audio card.
-
Or you don't have read and write privileges for /dev/audio
or /dev/mixer. This happens in Mandrake 7.1 if user A is logged
into the X console and user B remotely tries to access the audio device.
For security reasons Mandrake 7.1 changes the user of the /dev/audio devices
to the user that is logged at the X console and removes group and other
read/write permissions. Check if this is the case by doing a
ls -l /dev/audio* command. You can then run baudline as root or
su'd as that user or as root do a chmod go+rw /dev/audio* command.
If your audio card is half duplex you will see it
in the input devices window. Now if another program such as the enlightenment
sound daemon (esd), baudline, or an MP3 player is currently using or holding
the /dev/audio open then you will see the "all input devices disabled"
message. The solution is to stop the other program from running or
make it close the audio device.
|
|
|
I get a "/dev/audio requested fragsize ignored" error message when I try to
record. What can I do?
|
This error message indicates a buggy audio driver. It usually only
occurs when attempting to record and it can happen in both the OSS drivers and
the ALSA OSS emulation drivers. Audio playback typically works
fine.
The audio driver is broken and it needs to be fixed. Unfortunately this
is difficult and time consuming work. Luckily there are a number of
things you can try to get baudline recording:
- Try recording with all the different sample rates. Many times a couple rates will refuse to work while others will work fine.
- Next try starting baudline with different fragment sizes:
- baudline -fragsize 6
- baudline -fragsize 7
- baudline -fragsize 8
- baudline -fragsize 9
- baudline -fragsize 10
- Then try varying the number of input fragments, for example:
- baudline -infrags 8
- baudline -infrags 4
- baudline -infrags 2
- This can also work for a playback problem, just substitute -outfrags for
-infrags.
- If still no luck then try combinations of -fragsize and -infrags.
There might be a happy driver equilibrium point that works.
- baudline -fragsize 7 -infrags 4
- baudline -fragsize 8 -infrags 4
- baudline -fragsize 7 -infrags 8
- baudline -fragsize 8 -infrags 8
- ...
- Next you might want to try the above combinations with different sample
rates:
- baudline -fragsize 7 -infrags 4 -samplerate 11025
- baudline -fragsize 7 -infrags 4 -samplerate 44100
- baudline -fragsize 7 -infrags 4 -samplerate 48000
- baudline -fragsize 7 -infrags 8 -samplerate 11025
- ...
- As a last resort before doing anything major you can always pipe
/dev/audio into baudline with the -stdin command line option. The
scrolling performance will be poor because of the large 2048 or 4096 pipe
buffer size but it should work.
cat /dev/audio | baudline -stdin -format ulaw
- This type of fragsize ignored bug usually tends to get fixed as a driver
matures. So trying a newer Linux kernel might be worthwhile.
- If you are using ALSA then consider switching back to the old OSS kernel
drivers. ALSA is still new and it suffers from a number of reliability
problems, in time this will change. [December 2004]
- Soundcards are cheap and most soundcards work fine with baudline.
So it might be a good idea just to break down and buy an inexpensive PCI
soundcard or a USB audio device.
If you have gone through all of the above command line combinations and still
nothing works then send us an email with the text output of "baudline
-sysinfo". We might be able to suggest a couple of things to try that are
particular and unique to your audio hardware.
|
|
|
I have
a Creative Labs SoundBlaster Live! card and it doesn't work with baudline.
Why? |
In short, baudline will work acceptably with the SB Live! card if you use the
OSS/Free drivers in the Linux 2.4.18 kernel and if you start baudline with the
-brokentrigger command line option. Read on for a brief Linux
history lesson.
The Linux drivers for the SoundBlaster Live! card have had a very troubled
life. Back in October 2000 the emu10k1-######.tar.gz driver from the
Creative Open source page worked
flawlessly. Technically the problem was solved, it was a success, but
somewhere somehow there was an utter communications failure.
- Prestigious hardware manufacturers shipped bad drivers with computers
containing the SB Live! card.
- The 0.5.2 and 0.9beta4 ALSA code was based on the faulty code and their SB
Live! drivers are horribly broken.
- It took two years to get decent SB Live! OSS/Free drivers into the kernel
(2.4.18).
The code was open source. What went wrong? I don't know, but I
have a stack of email from many baudline users that describe the pain and
frustration. On to happier thoughts ...
Thankfully the SB Live!'s troubled past is almost over. The OSS/Free SB
Live! drivers in the 2.4.18 Linux kernel work correctly, well almost.
As far as baudline is concerned all of the SB Live! features work except for
the trigger start mechanism (SNDCTL_DSP_SETTRIGGER). When queried the
DSP_CAP_TRIGGER reports that the trigger is supported, unfortunately the
trigger is broken and when baudline attempts to record the SB Live! driver
stalls. Baudline detects this failure and kick starts the driver, then
operation is normal until the next pause and record. So the
-brokentrigger
command line option was added to baudline specifically
for the SB Live! driver. The -brokentrigger command line option
prevents the stall-and-recovery sequence on the Record operation.
[Update December 2004]
Just when you thought it was over...
The SB Live! card works with the 2.6.9 kernel and ALSA OSS emulation.
Unfortunately there are only 2 record audio fragments so
xrun drops are a common occurrence
under normal load. The playback side fragments are normal and don't have
this problem. Strangely it is always the playback side that gets the
more thorough developer testing. ):
|
|
|
I
get a "! /dev/audio Cannot allocate memory" popup error message and I can't
get baudline or other programs like XMMS to work anymore. What is
going on? |
If
you are running the 2.0.x series kernels and after a period of time you
continually get the error message shown on the right then you could be
encountering a known kernel buffer allocation bug. The problem is
the open() call to the audio device is failing even though there is plenty
of available memory. Attempting to Record or Play opens the audio
device. Once successfully opened the kernel memory buffer usage is
static so the audio device will stay open until it is closed by putting
it into the Pause mode.
When it happens, this is a very frustrating problem.
The only real solution is upgrading to a newer kernel. Retrying the Record
or Play request might be a temporary solution, also quitting or closing
some unused programs and then retrying might help. Removing and
re-loading the sound driver with "rmmod" and "ismod" or "modprobe" will
give some temporary relief. Note this bug was fixed in the 2.2.x
series kernels and 2.2.16 is known to not have this bug. |
|
|
I have a motherboard with the Via AC97 82cxxx sound chip and the kernel
crashes when I run baudline. Help!
|
The problem is a bug in the via82cxxx_audio kernel driver which is sometimes
identified as ICE1232. This crash is known to occur with a number of
motherboards that have the on-board Via VT82C686 sound chip when using either
the 2.4.18 or the 2.4.19 Linux kernels.
The solution is to use the
-brokentrigger command line
option every time you start baudline. The -brokentrigger option
will prevent the SNDCTL_DSP_SETTRIGGER from being used which is the source of
the kernel crash. Aliasing it in your .cshrc file would be a good idea.
|
|
|
I am using KDE3 with aRts running and I occasionally get a "/dev/audio
Resource temporarily unavailable" error message. What can I do?
|
What is happening is that the aRts sound server is holding the /dev/audio
device open and not closing it.
To solve this problem run the KDE3 Control Server and choose the Sound Server
from the Sound tree branch. Next, there are two possible
solutions. The best and most robust solution is to disable the line
"Start aRts soundserver on KDE startup." An alternate solution which is
almost as good is to set the "Autosuspend if idle for" line to zero
seconds. This will force aRts to release the /dev/audio immediately when
it is no longer in use.
|
|
|
I am getting a "/dev/audio Device or resource busy" error message. What
can I do?
|
Some other audio program is hogging the sound card. Try quitting any
running sound applications and deamons. If the problem persists try
restarting the ALSA server by running the command "su -c 'rcalsasound
restart'".
|
|
|
I
don't have a sound card, can I still run baudline? |
Yes you can. Not having a working sound card
will keep you from recording or playing audio. But you still can load
audio files, perform browsing and analysis, and use the
-stdin command line option.
You can also use baudline's
Tone Generator in
loopback mode by sending and the audio output stream to
standard output and discarding
it. Try:
baudline -stdout > /dev/null
This bypasses baudline's internal sample clocking and "free-runs" as fast as
the /dev/null sink can consume it. Doing this is will use
100% percent of the CPU and it may make your machine sluggish. Hitting
the <Pause> key might work better than attempting to access the 3rd
mouse button popup menu. This setup could be used as a sort of
experimental signal sand box to investigate the basics of DSP. All
without a sound card.
The following line will automatically configure baudline as a session for this
sort of work. It will enable the loopback, open the Tone Generator, plus
do a couple other handy things. Then manually select Record and start
playing with the Tone Generator's controls. Try:
baudline -stdout -session sandbox -devtone -tonegenerator -overlap 50 -pause > /dev/null
|
|
|
What sound card do you recommend for
use with baudline? |
There are many sound cards that work just great with baudline. It is
best to avoid the newest and latest sound card / integrated motherboard chip
solution since it tends to take a while for Linux drivers to be written and
evolve into high quality solutions.
If I had to recommend a sound card for use with baudline I would suggest the
Ensoniq ES1371 card also known as the Creative Labs Sound Blaster PCI16 and
SB128 cards. These audio cards are widely available, fairly inexpensive
(~$20 US), have good noise measurements, and have very high quality OSS/Free
kernel drivers. For a laptop solution I would recommend the Labtec
Verse-704 USB Microphone, it is fairly inexpensive and it has good noise
measurements (excellent for a PC based microphone), and the OSS/Free USB
audio drivers work acceptably.
[Update December 2004]
The Labtec Verse-704 USB Microphone is now the
Logitech USB Microphone.
It is still the same product except the green LED is now blue.
[Update September 2005]
For a detailed distortion and performance analysis of various sound cards check
out the
full duplex DAQ comparison
application note.
|
|
|
Baudline doesn't startup when I restart a session in KDE2. What can I do? |
The problem is that baudline is not in
the KDE2 session manager's search path and KDE2 isn't smart enough to use
the embedded XSMP information to find it. Also it appears that the
KDE2 session manager doesn't use your standard .login $PATH environment
variable so putting baudline in your ~user/bin directory won't work
either. Also the dot isn't in the search path even though your root
user directory is the current working directory (cwd). Despite this
deficiency there are three possible solutions:
-
copy the baudline executable to a standard place such
as /bin or /usr/X11R6/bin
-
specify the full path on the command line such as /home/user/bin/baudline
-
copy the baudline executable to your ~/ root directory and
run it as ./baudline (note the dot)
|
|
|
Does baudline work with the ALSA sound drivers?
|
Yes, baudline works extremely well with ALSA's OSS emulation feature.
Most Linux distibutions enable OSS sound driver emulation by default but if
you build your own kernel you will need to set the following configuration
options to YES:
- CONFIG_SND_OSSEMUL=y
- CONFIG_SND_MIXER_OSS=y
- CONFIG_SND_PCM_OSS=y
[Update June 2005]
The Linux kernel 2.6.11 OSS emulation still has a mixer gain control problem
with USB audio devices. A quick solution to this problem is to use an
ALSA native mixer application. This mixer gain problem first appeared
with kernel 2.6.8. Kernel 2.6.7 with ALSA 1.0.4 is known not to
have this problem.
[Update January 2006]
Baudline reports that full duplex audio cards are half duplex. ALSA is
passing erroneous information and this is an OSS emulation bug. Baudline
uses the duplex label for information purposes only. The only sure test
of audio card full duplex functionality to try it (record with the Tone
Generator window open).
[Update September 2010]
Fedora 13 removed OSS emulation kernel support. Instead of rebuilding
your kernel it is possible to run baudline with an ALSA wrapper. Try
running "aoss baudline"
|
|
|
Baudline doesn't start and reports a X_PolyFillRectangle BadMatch error.
What is the problem?
|
Some video card drivers when configured for a 3D desktop like compiz or beryl
that run on top of XGL or AIGLX will fail to start baudline and report:
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 70 (X_PolyFillRectangle)
Serial number of failed request: 219
Current serial number in output stream: 221
This problem is caused by a bug in the X11 video driver and it can be solved
by disabling or commenting out the "Composite" option in the /etc/X11/xorg.conf
file. Then restart the X-Server.
Some distributions have the Composite option enabled by default and set it via
the command line from some different configuration file. You can look
for it with the "ps auxw | grep X" command. So if you don't see Composite
in your /etc/X11/xorg.conf file then you might want to try overriding it by
adding this section to your xorg.config file:
Section "Extensions"
Option "Composite" "false"
EndSection
Certain video cards and drivers will experience this problem with the composite
option while
others work fine. Not sure why.
|
|
|
How can I stop my desktop from locking up when I press the 3rd mouse button
to popup the main menu?
|
This X11 bug was introduced in the Xorg 1.7 series used by many popular Linux
distributions such as Debian squeeze (testing), Ubuntu 10.04, Fedora 12,
and Red Hat RHEL6-beta2. The solution is to avoid the Xorg 1.7.#
version. Xorg 1.6.# and Xorg 1.8.# do not have this problem. So the
only two known options are to use an older distribution which has Xorg 1.6 or
update your X-Server to Xorg 1.8+ through your package manager.
Side notes:
- Popping up the main menu by pressing the "menu key" which is next
to the MS Windows key on some keyboards does not cause this lock up.
For keyboards that lack a menu key try the Shift+F10 combination as an
alternative.
- If you manually build and install a newer xorg-server you will need to
also build libdrm >= 2.4.18 and MesaLib-7.7.1 versions. A baudline user
reported that this worked with xorg-server-1.7.7 which helped narrow down
the bug. Xorg 1.8 was released shortly after that.
- The Ubuntu 10.04.2 LTS update has fixed this X11 lockup problem.
|
|
|
How I do fix Fedora 13's missing fonts problem?
|
For some unknown reason Red Hat decided to remove the Helvetica and the legacy
fixed-point bitmap fonts. These very basic fonts have been a staple in
Linux distributions for more than a decade and now you need to install these
"optional" fonts.
On Fedora 13 run:
yum install xorg-x11-fonts-misc
yum install xorg-x11-fonts-ISO8859-1-75dpi-7.2-6.fc9.noarch
On Fedora 20 run:
yum install xorg-x11-fonts-ISO8859-1-75dpi.noarch
For more information on the fonts baudline needs read the comment at the end of
this blog post.
|
|
|
How do I fix the missing Helvetica font in Ubuntu 12.04?
|
The following error message appears when baudline is run on Ubuntu 12.04 LTS:
Warning: Cannot convert string "-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*" to type FontStruct
Warning: Cannot convert string "-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*" to type FontStruct
The missing Helvetica font causes many baudline windows to have layout
problems. To install the Helvetica font on Ubuntu 12.04 and remedy this
situation try doing:
sudo apt-get install xfonts-75dpi
and then restart the X-Server.
Note that there exists an xfonts-100dpi package that may be useful for those
with a higher DPI monitor.
|
|
|
Can you recommend a good DSP text book?
|
The text book
Discrete-Time Signal Processing
by Oppenheim and Schafer was used extensively in the design and creation of the
baudline signal analyzer. This excellent book is THE reference DSP text
and we recommend it highly. It is fairly math heavy and it requires an
understanding of Calculus.
Buy it, learn it, love it, and live the DSP dream!
|
|
|
How
can a 16 bit linear waveform, which has 6 * 16 = 96 dB of dynamic range,
have spectral energy with a signal to noise ratio (SNR) of 136 dB or more? |
The answer is that dynamic range and SNR
are not the same thing. Let us look at it like this; if you take digital
silence (all zeroes) and you toggle the least significant bit (LSB) then this will be the quietest signal
that is possible with that bit resolution. This will register in
with spectral energy of about -96 dB, anything less will just be digital
silence. So for spectral energy to be below -96 dB, the waveform LSB
toggling has to be less than one bit and that's impossible.
Detecting a signal beneath the noise floor is common in DSP but how can a
signal exist that is below a noise floor of zero? It doesn't get any
quieter than digital silence. So what is going on? The Fourier transform
done by the FFT takes a large block of time domain data and transforms
it into the frequency domain. Looking at such a large block of data
at a time gives the FFT the advantage of being able to see long term trends
in the sub bit noise and infer a signal from that. Pretty spooky?
Well this is one of the many wonders of DSP. |
|
|
Isn't it pointless to use gzip or bzip2 lossless compression on audio files? |
It all depends on the audio file. It is
true that using bzip2 on music ripped from a CD will result in poor compression
rates on the order of about 5%. But since gzip and bzip2 are generic
entropy encoders, the less information a file has the more it should compress
in a lossless fashion.
Here are some examples.
-
A quiet signal with much less than the 96 dB dynamic range
allowed for in a 16 bit wav file will have a sample
amplitude distribution that uses, lets say, half of the 16 bits. This
audio file could of been stored as an 8 bit wav file without any loss of
information, but it wasn't, so using gzip or bzip2 will compress out most
of that redundant information (roughly about a factor of 2). The
same argument is true for a stereo file which is actually a mono file (both
channels are the same). Even if the redundancy isn't ideal, like
the 8 bit and mono cases, an entropy encoder will still do a very good
job.
-
Test signals like sine waves are very redundant and they
compress very well with an entropy encoder (roughly 10:1). Simpler
test signals like triangle, ramp, and square waves compress even more.
Note that 0 dB white noise is truly random and by definition it
can't be compressed by an entropy encoder, but -40 dB white noise can.
The proper way to losslessly compress an audio file is to
use an algorithm that is specifically designed for waveform data.
Baudline currently supports flac lossless decoding, read this
question for more information and links. The big advantage of
gzip and bzip2 is that they are universal, everyone has them, everyone
knows how to use them, and they are simple to use. Netscape will
automatically gunzip a downloaded file and now baudline will
automatically gunzip and bunzip2 loaded files, so it makes sense to try
an entropy encoder first, the worst that will happen is wasting some CPU
cycles.
See the audio compression codecs
application note for a detailed distortion and performance analysis of various
lossy and lossless codecs.
|
|
|
Is it better to use a larger FFT or to decimate when trying to resolve the
frequency between two closely spaced tones?
|
Increasing the frequency bin resolution by using a larger
FFT size, by decimating
with the down mixer, and by using a
lower sample rate are all equivalent operations. They can even be
combined for even more signal extraction gain. The differences between
methods are:
- A larger FFT size is not as efficient and requires more CPU power but it has the most flexibility.
- Decimating with the down mixer reduces the sample rate but it adds filter
skirts (roll-off) to the left and right of the spectrum.
- A lower sample rate reduces the sample rate by doing the resampling with
the audio cards ADC. This doesn't utilize a CPU performance hit but it
can create a
serious artifact problem
with some sound cards.
The current bin resolution can be found in the Drift Integrators
pop down section.
|
|
|
Is there a mailing list that might keep me updated on new baudline releases?
|
To keep up to date on baudline news, events, and happenings you can:
- Periodically check the News page.
- Subscribe to the baudline XML
feed with an RSS reader or the
live-bookmark feature of a web browser.
- Create a free user account on
Freshmeat
and "subscribe to new releases."
- Join the
baudline Google Group.
- Follow @baudline on Twitter.
|
|
|
What operating system distributions do you test and develop with?
|
Our goal is to have baudline work correctly with a wide variety of Linux and
BSD distributions. This requires a diverse testing environment.
Here is a list of the different Linux distributions and versions that we
develop and test baudline with:
Current
LiveCDs
Previous
|
|
|
How can I get baudline to use a specific sample rate not offered on the list of
standard rates?
|
Use the -samplerate
command line option.
It works for both stdin and audio card inputs. A floating point rate
can even be entered but you should be aware that the OSS Free audio drivers
only support integer sample rates. You can also enter a custom sample
rate in the Raw Parameters
window.
|
|
|
My computer is old and slow. Baudline seems unresponsive and the 3rd
button popup menu is sluggish. What can I do?
|
Baudline is a very resource intensive and configurable application.
It's default (-reset) startup parameters can be too demanding for older
slower computers that have limited CPU, memory, and video bandwidth.
So in order to improve performance; try starting baudline with a minimal set of
resource parameters such as:
baudline -fftsize 1024 -overlap 100 -memory 4 -backingstore
Setting the FFT size to 1024 and the sliding overlap to 100% will
significantly reduce the number of floating point calculations. Setting
the memory parameter to 4 MB minimizes baudline's RAM footprint which
will reduce HD swapping. The backing store parameter will improve the
video bandwidth, but for quality purposes it is recommended to
enable backing store on your X11 server.
Next, carefully and systematically increase the demands on your computer by
adjusting the parameters in the
Scroll Control window.
Optimizing your video bandwidth can also help a lot. Here are a couple
system configuration parameters that might be worth trying:
- Disabling any window manager animation and extra features will
improve interactive response.
- Old video cards had very poor 24
bpp performance so a change to 16 bpp
video can result is a 3X improvement or more.
- Changing the Xorg default
software mouse cursor to a the old style hardware
mouse cursor can result in a mild speed up that is good for a gain of a couple
FPS.
- Enabling backing store is always a
good thing.
- Disable video double buffering with the
-nodoublebuffer command line
option.
|
|
|
Do you have any tips on how to become a power baudline user?
|
Reading both this FAQ and the on-line manual are good places to start, but
specifically:
Most importantly, experiment. If baudline gets into a strange
mode, remember that you can always restore it to the default settings with the
-reset command line option.
As a bonus, here is a baudline audio quality tip: you can increase the dynamic
range slightly (+.5 bit) during play back by disabling the
surround matrix mixing
option in the Play Deck.
|
|
|
How much is baudline going to cost? |
The current plan is to have a free version
with features similar to those in the beta and to make money from special
add on services. Also we will have a pay version of baudline
that has an expanded set of professional features.
If you have any "professional features" that you would like to see in baudline
then please contact us and tell us about them.
|
|
|
Can you explain what the baudline licensing terms mean?
|
The about baudline window says "All
distribution is explicitly prohibited." This means you are not allowed
to distribute copies of the baudline software. Here are some examples:
- You are not allowed to copy baudline to a CD, floppy, or USB memory stick
with the intent of selling or giving it away.
- You are not allowed to put a copy of baudline on your website, file
server, Dropbox, GDrive, or other file sharing platforms.
- You are not allowed to put copies of baudline on machines that you sell.
- You are not allowed to put baudline on software package management
repository systems like apt-get, up2date, zypper, yum, MacPorts, etc.
Usage is not restricted. So personal, commercial, educational, and government
usage is fine. Distribution of the baudline software is what is
restricted.
Distribution of the baudline software requires a license from SigBlips.
The license will be in the form of an annual subscription with larger
companies requiring a site license. This simplified licensing model
ensures compliance while encouraging broad corporate-wide use.
Please contact SigBlips
for more information about baudline licensing, services, and support.
|
|
|
Will you port baudline to FreeBSD?
|
The baudline Linux x86 executable currently runs on FreeBSD with some minor
configuration modifications.
|
|
|
Will you port baudline to Mac OS X?
|
Baudline has been ported to Mac OS X as an X11 application. It is a
universal app that runs on the PowerPC and Intel x86 32-bit and 64-bit
architectures. File drag-n-drop and dockification are supported on both
the Leopard (10.5) and Snow Leopard (10.6) operating system versions.
Snow Leopord will automatically launch the X-Server if necessary but on
Leopard the X11 app will need to be manually started.
Depending on the level of success baudline receives on the Macintosh platform,
a native Aqua interface version may happen in the future. As always,
SigBlips can be hired to speed this process
up.
|
|
|
Will you port baudline to Microsoft Windows XP?
|
Yes, you can hire SigBlips to create a
baudline port for the Microsoft Windows XP or Vista operating systems.
The Microsoft Windows graphics interface is significantly different than X11
which makes this a high difficulty port.
|
|
|
Will you port baudline to Sun Solaris?
|
Baudline has been ported to Solaris SPARC.
You can hire SigBlips to make a native
Solaris x86 port of baudline or you can try
Sun's
Project Janus
which is a Solaris based Linux emulation environment.
|
|
|
Will you port baudline to Linux x86_64?
|
Baudline has been ported to Linux x86_64.
Using JACK on a 64-bit platform requires baudline x86_64. Some Linux
distributions, such as 64-bit Ubuntu 7.10 don't, include the 32-bit
compatibility libraries as default, so baudline x86_64 is required for those
installations too.
The 32-bit i686 version of baudline runs about 4% faster than the 64-bit x86_64
version. So if performance is important then running 32-bit i686 baudline
on a x86_64 CPU and 64-bit operating system would be beneficial. The
reason for this difference in performance is still a mystery. The x86_64
platform has twice the number of integer registers and when coupled with
specific K8 optimizations it should make for a respectable speed
increase. Unfortunately it seems that the extra overhead of the 64-bit
addresses outweighs the advantage gained from having double the number of
registers. SigBlips is actively working on x86_64 performance
improvements so this disparity may change in the future.
|
|
|
Will you port baudline to Linux PowerPC?
|
Baudline has been ported to Linux PowerPC.
In fact, baudline has obtained Linux technical validation to run on IBM iSeries
and pSeries Power machines. Contact us for more information.
|
|
|
|
|