----- Forwarded message from Simon Burton <simon(a)arrowtheory.com> -----
Date: Thu, 25 Mar 2004 07:18:59 +1100
From: Simon Burton <simon(a)arrowtheory.com>
Subject: [Portaudio] ANN: dsptools-0.4.0
To: portaudio(a)techweb.rfa.org
X-Mailer: Sylpheed version 0.9.3 (GTK+ 1.2.10; i686-pc-linux-gnu)
First public release. Comments sought.
dsptools
========
Here be Python wrappers for portaudio, ladspa and libsndfile.
There are three modules: ladspa, sndfile, and portaudio.
They are independant of each other, ie. they should compile/run individualy.
Data interchange is type sensitive and uses numarray arrays to store sound data.
It's possible to segfault by doing stupid things, eg. from within the portaudio callback only some portaudio calls are allowed.
See the python scripts for example usage, *.pyx files for implementation, and *.pxi for underlying c library info.
http://sourceforge.net/projects/dsptools/
It's under tested, under documented, but it's pretty cool.
Install
-------
Use any of the setup scripts:
$ python setup*.py build
$ python setup*.py install
Dependancies
------------
python 2.2.3 or better:
http://www.python.org/
numarray 0.8.1 (or better):
http://sourceforge.net/projects/numpy/
For portaudio module:
portaudio v18.1 (not v19):
http://www.portaudio.com/
For sndfile module:
libsndfile 1.0.5 or better:
http://www.mega-nerd.com/libsndfile/
For ladspa module:
ladspa.h v1.1 :
http://www.ladspa.org/ladspa_sdk/
and any plugins (optional):
http://www.ladspa.org/
Todo
----
* Enable the writing of ladspa plugins in python (!)
* portaudio v19
Related Projects
----------------
fastaudio, for portaudio & libsndfile :
http://www.freenet.org.nz/python/pyPortAudio/
libsndfile-python :
http://arcsin.org/archive/20030520025359.shtml
Thanks to
---------
Ross Bencina (portaudio)
Erik de Castro Lopo (libsndfile)
Greg Ewing and all the pyrex people
------------------------------------------------------------
Simon Burton
March 23, 2004
--
Simon Burton, B.Sc.
Licensed PO Box 8066
ANU Canberra 2601
Australia
Ph. 61 02 6249 6940
http://arrowtheory.com
_______________________________________________
Portaudio mailing list
Portaudio(a)techweb.rfa.org
http://techweb.rfa.org/mailman/listinfo/portaudio
----- End forwarded message -----
the pvoc package is at 0.1.7, with piped I/O in the stretch utility
rewritten for buffered operation, for a factor 2-3+ performance gain.
(sic, stupid me called write() and read() for every sample. ah, don't
you just love proof-of-concept code :)
if you use the the stretch utility with piped I/O you really should
upgrade.
tim
Conrads announcement just reminded me, but a freind of mine sugessted this
for Linux months ago (I think he nicked it off the way Amigas
filetype-drivers did generic file i/o) and I've been meaning to post about
it ever since.
The Idea
Have .so files (similar to LADSPA plugins, but different API) that contain
functions that can be called to inspect audio files on disk to determine
if they understand them or not. If they do a second function is called to
stream the audio from the file (in a single standard format, eg. IEEE
float or double).
These .so files would just be thin wrappers over existing libraries,
libsndfile, libfishsound, libFLAC etc. you could even wrap up General MIDI
file renderers as an extreme example.
The same could be done for writing, but thats probably less useful, and
harder.
The Motivation
It means that if your app only cares about audio i/o a little it can have
a single, simple .so file handling routine that scans the installed
plugins offfering them all the file, pick one that recognises the filetype
and asks it for the data.
If you need anything complex - like extracting loop points from metadata
streams then you will still have to use a library directly, but for simple
"get me this audio" tasks this should be fine.
Users can just install new plugins in a global directory and all the apps
that use this scheme will then be able to read the new filetype.
The API
The functions would be something like:
"get metadata" -- pass a fd, FILE * or filename and get back a struct
describing the contents of the file (length, no. of channels
etc.), or NULL if its not recognised by this plugin
"get data" -- pass the file reference, some preallocated float buffers,
and a frame count and they will be filled. returns how many frames
were actually written
I havent actually written any code, so you might need more API cruft than
that, but this is the basic idea.
- Steve
pleased to announce the new DSP package 'pvoc'. at its core, it
features the CARL phase vocoder.
there are three LADSPA units in this package (Exaggerate, Transpose,
Accumulate) plus a commandline utility for time compression and
expansion of n-channel audio data streams.
compilation of this package will probably be an even rougher ride than
with the initial release of caps (pvoc depends on FFTW3 and sndfile)
but i'll be happy to help should you run into problems.
http://quitte.de/dsp/pvoc.html
----------------------------------------------------------------------
in other news, the caps plugin collection has moved to version 0.1.11,
with refinements pertaining to the amplifier emulation plugins and the
SweepVF filter.
http://quitte.de/dsp/caps.html
as always, your feedback is welcome.
enjoy,
tim
Hello,
I'm working on a simple command line driven bpm
counter for mp3 files. It's very straight-forward.
I'm trying to use a 4-beat phase shifting technique,
but for some reason my code is returning the same
exact value for each file. Obviously I have a stupid
math error, or haven't thought things through enough.
If someone wants to look at this and tell me what they
think I did wrong, I'd appreciate it :) The code is
pretty clean (just wrong) and well commented. You'll
need to have mpg123 installed for it to (not) work.
Thanks very much!
=====
Jay Dolan
Software Engineer, Systems Analyst
Windmill Cycles, Inc.
508.999.4000
__________________________________
Do you Yahoo!?
Yahoo! Finance Tax Center - File online. File on time.
http://taxes.yahoo.com/filing.html
>From: David Garcia Garzon <david.garcia(a)iua.upf.es>
>
>http://www.iua.upf.es/mtg/clam/
Thank you. The list has now 110+ software and still I have to
download and verify 20-30. Graphics side has 130+ and more coming.
I have also added urls pointing to the webpages.
As I have actually downloaded the software during compiling the
list, I have progressed slowly.
BTW, downloading itself is becoming more difficult because of
the scripted (php etc.) sites as shown in the examples below:
% du -s
907336 innovation3d.sourceforge.net
703792 crystal.sourceforge.net
1039176 www.xiph.org
Must be the duplicates which makes the most space.
If I would be able to download the php database itself,
it sure would take less space. Then I would set up here
a php server and I could read the php databases with a browser.
Regards,
Juhana
Hello.
I have partially lost the track on the latest audio and graphics
development. Even I'm on 50+ mailing lists, the whole picture is
blurry.
So, I'm making a list of software which comes with source code.
The list is intended more to developers who are looking for
example codes, library codes, and projects to join.
An unfinished list follows. The list format is simple: name and
description. That is because one must be able to read the list
through line-by-line without getting bored to details.
Maybe later I will fill in the details: what re-usable gizmos
the software have (filters, drawing algorithms, etc).
Regards,
Juhana
Audio and graphics applications
===============================
with source code
for developers
Audio
-----
ac3filter AC3 decoder
Alsa audio device drivers
AlsaModularSynth (AMS) modular synth
AlsaPlayer
Anthem multitrack sequencer
Aqsis Renderman renderer
Ardour multitrack editor (and sequencer?)
Audacity multitrack editor
Audiality
audiofile
awesfx
bacterium
Brahms
cdparanoia
Cecilia graphical front end for Csound
Csound modular synth
Ecasound
FluidSynth SoundFont synth
gAlan modular synth
gdam
Glame
gmorgan rhythm station, a pattern sequencer
gmurf
Gnomoradio a peer-to-peer music playing system
Gramofile
Horgand FM synth
Hydrogen
JACK
JACK-Rack
Jamin mastering tool
Jazz
jMax
libsndfile
mffmtimescale
MusE multitrack audio and MIDI sequencer
NoteEdit score editor
OpenAL library for managing 3D spatialized audio devices
OpenMusic
PortAudio
PureData (PD)
Q/Q-Audio/Q-Midi
Rezound
Rosegarden multitrack audio and MIDI sequencer
seq24 pattern sequencer
solfege
sooperlooper
SoundFontCombi (SFC) MIDI router
Specimen sampling synth
SpiralLoop
SpiralSynthModular (SSM) modular synth
Supercollider
Swami
Sweep audio editor
swh-plugins effect plugin collection
tapiir
TerminatorX
TimeMachine
timidity sampling synth with SoundFont support
TSE3 sequencer engine (used by Anthem)
ZynAddSubFX analog modelling synth
CheeseTracker?
LilyPond?
Multitrack?
Skale?
SoundTracker?
Ptolemy?
Graphics
--------
Ayam 3D modeller
Aztec
Blender
CinePaint
ClanLib 3D game library
Coin 3D graphics library with Open Inventor API
Crystal Space 3D game library
dia
Dore
DRI
Effectv
ewave 3D modeller
FOX toolkit for developing GUIs, with OpenGL widgets
Freeman
FreeType font rendering library
GIMP
Glade
glaraocr
Glide graphics library for 3Dfx Voodoo based cards
gman
gmone
GNetLibrary
GNUPlot scientific plotting
gocr (jocr)
Gozer text rendering library
Imlib
Impress
imtools
Innovation3D 3D modeller
jpegsrc
K3D 3D modeller
kpovmodeler
libart
LibGLE OpenGL tubing and extrusion library
LibGNetwork
libgnomecanvas
libpng
LibSolid
Mesa
MeshIO library for loading 3D model files, 3DS format
Nebuladevice
MindsEye
Moonlight
Mops (ayam?)
Ogre
OpenEXR
Open Inventor 3D graphics library
OpenRM
Open Scene Graph
OpenSG
Pango text rendering library
Panorama
Pixelize pixelizes an image using other images as pixels
Pixie
PLIB
PLplot scientific plotting
POV-Ray
Prettypoly
qcad
Radiance
Renderpark
Rise
SDL
SGL
SIPP polygon renderer
Sketch
smpeg
Sodipodi
SuperZoom
tgif
Threedom (3dom?) 3D modeller
tiff
UGS3D
Vertex 3D modeller
Vreng networked virtual 3D world engine
VR Juggler
VTK 3D visualization library, OpenGL based
xcircuit circuit schematics drawing program
xfig
XFree86
Xine video player
Xite
xpdf
XSane
Matterial?
Khoros?
gSculpt?
== end ==
> > yamaha are willing to meet with us to discuss it. thats all the news
> > that's fit to print.
>
> Several of us met with a guy from Yamaha's mLAN department at Sounds Expo
> and he gave us the contact details ofr a guy in Japan who could provide
> specifications and so on. I dont know who has them now.
Me - I've traded a few emails with the Yamaha mLAN licencing manager and he's
been promising to get us in touch with a guy at Rhodes University who's been
working on mLAN driver support. Once I'd made contact with him I was going
to pass the details onto Bob et al. Be good for us to get all of these
contacts working together.
R
Hey LADs,
if you're looking for an easy way to add Ogg Vorbis and/or Speex support
to your apps, check this out :)
It's lightweight, callback based and uses per-channel float arrays by
default (ie. the format preferred by JACK and LADSPA). It's fully
documented, tested cross-platform, and includes examples for doing
Ogg Vorbis and Speex decoding (~100 loc) and encoding (~110 loc).
FishSound 0.6.0 Release
-----------------------
libfishsound provides a simple programming interface for decoding and
encoding audio data using Xiph.Org codecs (Vorbis and Speex).
This release is available as a source tarball at:
http://www.annodex.net/software/libfishsound/download/libfishsound-0.6.0.ta…
libfishsound by itself is designed to handle raw codec streams from a
lower level layer such as UDP datagrams. When these codecs are used in
files, they are commonly encapsulated in Ogg to produce Ogg Vorbis
and Speex files.
libfishsound is a wrapper around the existing codec libraries and provides
a consistent, higher-level programming interface. It has been designed for
use in a wide variety of applications; it has no direct dependencies on
Annodex or Ogg encapsulation, though it is most commonly used in conjunction
with liboggz to decode or encode Ogg encapsulated Vorbis or Speex files.
FishSound has been developed and tested on GNU/Linux, Darwin/MacOSX and
Win32. It probably also works on other Unix-like systems via GNU autoconf.
For Win32: nmake Makefiles, Visual Studio .NET 2003 solution files and
Visual C++ 6.0 workspace files are all provided in the source distribution.
Full documentation of the FishSound API, customization and installation,
and complete examples of Ogg Vorbis and Speex decoding and encoding are
provided in the source tarball, and can be read online at:
http://www.annodex.net/software/libfishsound/html/
FishSound is Free Software, available under a BSD-style license.
More information is available online at the FishSound homepage:
http://www.annodex.net/software/libfishsound/
enjoy :)
--
Conrad Parker
Senior Software Engineer, Continuous Media Web, CSIRO Australia
http://www.annodex.net/http://www.ict.csiro.au/cmweb/
http://www.notam02.no/arkiv/src/
SHORT DESCRIPTION
Run a vsti plugin as a jack and alsa-seq client.
HISTORY
0.0.2 -> 0.0.3
-Fixed stupid vsti init bug. Don't use v0.0.2, as it probably
won't work. (Sorry)
--