Menu

Nsound / News: Recent posts

Nsound-0.7.3 released!

Nsound is a C++ library and Python module for audio synthesis featuring dynamic digital filters. Nsound lets you easily shape waveforms and write to disk or plot them. Nsound aims to be as powerful as Csound but easy to use.

2009-12-07 Nsound 0.7.3

+ Added Python2.6 support on Windows (already worked on Linux/OSX)
+ Added typedef std::vector< boolean > BooleanVector
+ Added typedef std::vector< BooleanVector > BooleanVectorVector
+ Added AudioStream::mono()
+ Added AudioStream::getMono()
+ Added class AudioStreamSelection
+ Added class BufferSelection
+ Added example7
+ Added FilterStageIIR::operator=()
+ Added Generator::drawWindowBartlett()
+ Added Generator::drawWindowBlackman()
+ Added Generator::drawWindowBlackmanHarris()
+ Added Generator::drawWindowHamming()
+ Added Generator::drawWindowHanning()
+ Added Generator::drawWindowNuttall()
+ Added Generator::drawWindowParzen()
+ Added Generator::drawWindowRectangular()
+ Added Instrument Hat
+ Added Instrument OrganPipe (A pipe organ)
+ Added TODO.txt, a list of things Nick would like to see get done
+ Added Wavefile 64 & 32 floating point support (Most apps can't open
64-bit, but usefull for unit testing or saving high percision waveforms)
- Removed AudioStream::setLessThan(), new operators replace functionality
- Removed AudioStream::setGreaterThan(), new operators replace functionality
- Removed Buffer::setLessThan(), new operators replace functionality
- Removed Buffer::setGreaterThan(), new operators replace functionality
+ Fixed FilterLowPassFIR::filter(AudioStream, float64) infinite recursion
error
+ Fixed FilterLowPassFIR::filter(x,y), was calling itself
+ Fixed Generator::ctor(sample_rate, Buffer) memory copy
+ Fixed NsoundConfig.py::checkForMatplotlibCAPI() bug, need to return 0;
+ Fixed swig/plotting.i to report a warning when paylab is not avaliable

Posted by Nick 2009-12-10

Nsound-0.7.2 Released

Nsound-0.7.2 Released

Nsound is a C++ library and Python module for audio synthesis
featuring dynamic digital filters. Nsound lets you easily shape
waveforms and write to disk or plot them. Nsound aims to be as
powerful as Csound but easy to use.

Many new features in this release and a new Drum!

2009-09-13 Nsound 0.7.2

+ Code fixes to compile with GCC 4.3.3
+ Added AudioStream::AudioStream(sample_rate, channels,
preallocate)
+ Added AudioStream::convolve() convolves the signal with any
other signal
+ Added AudioStream::downSample()
+ Added AudioStream::limit(Buffer min, Buffer max)
+ Added AudioStream::limit(min, max)
+ Added AudioStream::resample()
+ Added AudioStream::setGreaterThan(threshold, value)
+ Added AudioStream::setLessThan(threshold, value)
+ Added AudioStream::sqrt()
+ Added AudioStream::upSample()
+ Added Buffer::circular_iterator operators += and -=
+ Added Buffer::convolve() convolves the signal with any other signal
+ Added Buffer::downSample()
+ Added Buffer::limit(Buffer min, Buffer max)
+ Added Buffer::limit(min, max)
+ Added Buffer::preallocate(n)
+ Added Buffer::resample()
+ Added Buffer::round()
+ Added Buffer::setGreaterThan(threshold, value)
+ Added Buffer::setLessThan(theshold, value)
+ Added Buffer::sqrt()
+ Added Buffer::upSample()
+ Added Cosine generator
+ Added DrumBD01 based on Istvan Varga's drum kits
http://www.csounds.com/istvan/
+ Added Docs/How_To_Reverse_Engineer_Csound_Instrument.odt
+ Added FFTransform::fft(Buffer) and FFTransform::ifft(Buffer)
+ Added Filter::filter(AudioStream, float64)
+ Added Filter::filter(Buffer, float64)
+ Added FilterBandPassFIR::filter(AudioStream, float64, float64)
+ Added FilterBandPassIIR::filter(AudioStream, float64, float64)
+ Added FilterBandRejectFIR::filter(Buffer, float64, float64)
+ Added FilterBandRejectIIR::filter(Buffer, float64, float64)
+ Added FilterHighPassFIR::filter(Buffer, float64)
+ Added FilterHighPassIIR::filter(Buffer, float64)
+ Added FilterLowPassFIR::filter(AudioStream, float64)
+ Added FilterLowPassIIR::filter(AudioStream, float64)
+ Added FilterStageIIR::filter(AudioStream, float64)
+ Added Generator::buzz(), generates a set of harmonics
+ Added Generator::buzz() unit tests
+ Added Generator::reset()
+ Added Generator::setPhase()
+ Added Generator::tell()
+ Added Plotter::run_string(string), sends raw string command to
Python
+ Fixed FilterTone::filter(), a bug when using dynamic frequencies
+ Fixed Generator::generate_(), changed some if's to while's
+ Fixed Plotter, added an internal state to avoid initializing the Python
interpreter multiple times, prevents crashes... read more

Posted by Nick 2009-09-13

Nsound-0.7.2: GCC 4.3 Fixes &amp; Drums

Nsound News: GCC 4.3 Fixes & Drums

Nsound is a C++ library and Python module
for audio synthesis featuring dynamic
digital filters. Nsound lets you easily shape
waveforms and write to disk or plot them.
Nsound aims to be as powerful as Csound
but easy to use.

Nsound has been fixed to compile without
warnings for GCC 4.3, the default compile
with Unbuntu 9.04. Nsound has not been
formally released with these fixes but one
can easily get them by checkout out of
Subversion.... read more

Posted by Nick 2009-05-14

GCC 4.3 Fixes &amp; Drums

Nsound News: GCC 4.3 Fixes & Drums

Nsound is a C++ library and Python module
for audio synthesis featuring dynamic
digital filters. Nsound lets you easily shape
waveforms and write to disk or plot them.
Nsound aims to be as powerful as Csound
but easy to use.

Nsound has been fixed to compile without
warnings for GCC 4.3, the default compile
with Unbuntu 9.04. Nsound has not been
formally released with these fixes but one
can easily get them by checkout out of
Subversion.... read more

Posted by Nick 2009-05-14

GCC 4.3 Fixes &amp; Drums

Nsound News: GCC 4.3 Fixes & Drums

Nsound is a C++ library and Python module for audio
synthesis featuring dynamic digital filters. Nsound lets you
easily shape waveforms and write to disk or plot them.
Nsound aims to be as powerful as Csound but easy to use.

Nsound has been fixed to compile without warnings for
GCC 4.3, the default compile with Unbuntu 9.04. Nsound
has not been formally released with these fixes but one can
easily get them by checkout out of Subversion.... read more

Posted by Nick 2009-05-14

Nsound 0.7.1 is out, use Nsound in Python

Nsound-0.7.1

I have finished the effort to wrap Nsound in Python using
the SWIG interface generator. When using Nsound in
python, the syntax is nearly identical to the syntax in C++.

The most notable difference in syntax is that the Python
module does not have the C++ assignment operator. In
Python, if you want to make a deep copy of an object,
call the class copy constructor. For example:

from Nsound import *
b = Buffer()
b << 1 << 2 << 3
copy_of_b = Buffer(b)... read more

Posted by Nick 2009-04-01

Nsound 0.7.1 is out, use Nsound in Python

Nsound-0.7.1

I have finished the effort to wrap Nsound in Python using the SWIG
interface generator. When using Nsound in python, the syntax is nearly
identical to the syntax in C++.

The most notable difference in syntax is that the Python module does not
have the C++ assignment operator. In Python, if you want to make a deep
copy of an object, call the class copy constructor. For example:

from Nsound import *
b = Buffer()
b << 1 << 2 << 3
copy_of_b = Buffer(b)... read more

Posted by Nick 2009-04-01

Nsound 0.7.0 is out, compiles on Mac

Nsound 0.7.0

What's New:

I added support for compiling Nsound on the Apple Mac. I have a Mac Mini running 10.5 and there is some funkiness with the preinstall Python. I had a little bit of trouble getting Numpy and Matplot lib installed on the Mac. After I resolved this, there still was some problems with Nsound making plots. I figured out that if I run python in the shell and import Pylab and plot soemthing, then the plots from Nsound would pop up. Very strange. Also, some of the paths in NsoundConfig_Mac.py are hard coded from my system. It may not work on your Mac. If it doesn't send me an email and I can help you.... read more

Posted by Nick 2009-02-15

Nsound 0.7.0 test post

Nsound 0.7.0

What's New:

I added support for compiling Nsound on the Apple Mac. I have a Mac Mini running 10.5 and there is some funkiness with the preinstall Python. I had a little bit of trouble getting Numpy and Matplot lib installed on the Mac. After I resolved this, there still was some problems with Nsound making plots. I figured out that if I run python in the shell and import Pylab and plot soemthing, then the plots from Nsound would pop up. Very strange. Also, some of the paths in NsoundConfig_Mac.py are hard coded from my system. It may not work on your Mac. If it doesn't send me an email and I can help you.... read more

Posted by Nick 2009-02-15

Nsound 0.7.0 is out, compiles on Mac

Nsound 0.7.0

What's New:

I added support for compiling Nsound on the Apple Mac. I have a Mac
Mini running 10.5 and there is some funkiness with the preinstall
Python. I had a little bit of trouble getting Numpy and Matplot lib
installed on the Mac. After I resolved this, there still was some
problems with Nsound making plots. I figured out that if I run
python in the shell and import Pylab and plot soemthing, then the
plots from Nsound would pop up. Very strange. Also, some of the
paths in NsoundConfig_Mac.py are hard coded from my system. It may
not work on your Mac. If it doesn't send me an email and I can help
you.... read more

Posted by Nick 2009-02-15

Nsound-0.6.1 is out!

Nsound-0.6.1 Notes:

The major features are the ReverbrationRoom class which implements artificial reverberation using the freeverb model. The ReverbrationRoom is used in some of the examples so check out the examples page on the website.

A voice coder class was added, Vocoder. Check out its
example on the website.

A Slinky Filter was also added. It's based on how sound travels through a slinky. The lower the frequency the slower it travels through it. The Star Wars blaster sound effect is the most famous example. I have an example on the example page.... read more

Posted by Nick 2008-12-25

Nsound-0.6.0 Windows Install Instructions

So the news submit box doesn't preserve text formatting. Look at the instructions here:

http://nsound.svn.sourceforge.net/viewvc/nsound/branch/nsound-0.6.1/_WINDOWS_README.txt?view=markup

Posted by Nick 2008-11-08

Nsound 0.6.0 is out!

The biggest news is that I dropped support for the Microsoft VC++ compiler. If you must use Windows use these instructions to get Nsound working (I forgot to update the instructions in the release package!):

Windows install instructions

1) Install the Cygwin package (www.cygwin.com)

2) Using Cygwin setup, install cygwin python

3) Using Cygwin setup, install cygwin gcc-g++

4) Using Cygwin setup, install cygwin gcc-mingw-g++... read more

Posted by Nick 2008-11-08

Nsound 0.5.1 is out!

Finally I'm releasing nsound-0.5.1!

I had a lot of things happen in my personal life. I searched for and bought a new house, I moved to newly purchased house, I worked some 50+ hour weeks at work.

After some maintenance to my sprinkler system, I finally got a little bit of time to release nsound.

Highlights:

1)FFT plotting, take a look at src/test/test_fft.cc
2)Filter Frequency response plotting, take a look at src/test/test_fft.cc
3)All filters use pointers, improved speed... read more

Posted by Nick 2008-08-12

Nsound 0.5.1 Soon

I just got done updating svn with a few fixes to 0.5.1. It now is working under cygwin. I need to test it under Linux and native Windows before release.

You could check it out of SVN by doing:

svn co https://nsound.svn.sourceforge.net/svnroot/nsound/branch/nsound-0.5.1

Hopefully it will be released soon.

Posted by Nick 2008-08-01

Next Release Mid July

I'm finally closing on my house today (June 12, 2008) and will be moving in the next couple of weekends. I expect to be back working on nsound in early July and get nsound-0.5.1 out by mid July. 0.5.1 is mostly some class clean up and small filter speed improvements. It was almost out the door a month ago but I accidentally broke one of the filters.

Posted by Nick 2008-06-12

Nsound 0.5.1 Delayed

Due to personal activities, the next Nsound release has been delayed. I've attended a wedding in New York City (awesome time) and have been buying a new house!

The current subversion branch for 0.5.1 is mostly working, I didn't release it because I broke one of the filters, forgot which one. I will be fixing that and adding a more rigorous unit test for the filters so I don't have to do any inspection of the output to know if they are working.... read more

Posted by Nick 2008-05-16

Nsound-0.5.0 is out!

This Release:

This release is mostly interface cleanup. I hope
to use this release to flesh out the wiki!

Cleaned up the interfaces a bit. The biggest
change is to the Plotter class. The function
Plotter::show() must be called at the end of your
programs in order to actually pop up the plot
windows. This tells the Nsound library that you
are done using the Python run-time and to display
all plots created and free up memory allocated by
Python.... read more

Posted by Nick 2008-03-06

Nsound-0.4.4 released

Added FFTransform class to perform FFTs & IFFTs. Add Plotter::quickPlot(FIRFilter) which will plot the frequency response of the filter.

Next release will be some major clean up. Fix all the compiler warnings when maximum warnings are enabled, I will clean up how some of the filters are implemented. I also want to add FFTFilters.

ChangeLog:
2008-02-18 Nsound 0.4.4

+ Fixed a bug with Buffer::subbuffer()
+ Moved IIRFilter to IIRFilterStage
+ Created base class IIRFilter that all IIR Filters inherit
+ Added class FFTransform to perform FFTs & IFFTs
+ Added class FFTChunk to represent the result of an FFT
+ Added Plotter::axhline(), draws horizontal line
+ Added Plotter::axvline(), draws horizontal line
+ Added Plotter::xlabel(), sets x axis label
+ Added Plotter::ylabel(), sets y axis label
+ Added Plotter::axisX(), sets plot xmin, xmax
+ Added Plotter::axisY(), sets plot ymin, ymax
+ Added Plotter::quickPlot(FFTChunk)
+ Added Plotter::quickPlot(FIRFilter), plots frequency response, phase
- Matplotlib still not working for cygwin, special case for linking with
Python that I haven't had time to figure out :(

Posted by Nick 2008-02-19

Nsound 0.4.3 is out!

This is mainly a bug fix release. There was a big bug with the Plotter class where it wouldn't compile if the Python C API was not detected.

Plus many fixes for building on a Big Endian system. I recently purchased a Play Station 3 (for a Blueray player) and I got Unbuntu installed and compiled Nsound on it!

Don't hesitate to write bug reports! And thanks for checking out Nsound.

-Nick

Changes:
2007-12-09 Nsound 0.4.3... read more

Posted by Nick 2007-12-09

Nsound-0.4.1 Released!

nsound-0.4.1 includes a complementary set of IIR filters. They provide FIR like quality at a fraction of the execution cost. The newly added IIR filter also can do dynamic filtering. Take a look at nsound-0.4.1/src/test/test_filters.cc for examples.

I've also added the DelayLine class. This class enables nsound to create all kinds of physical models developed in Csound that use feedback. Take a look at nsound-0.4.1/src/examples/example6.cc for physical models of a bass guitar, clarinet, and slide flute.... read more

Posted by Nick 2007-09-30

Branch nsound-0.4.0 FIR Filters

I've just checked in some basic FIR Filters: low pass, high pas, band pass and band reject.

You can even dynamically filter audio on a sample by sample basis!

For an example take a look at:

nsound-0.4.0/src/test/test_filters.cc.

You can check out branch nsound-0.4.0 by doing:

$ svn checkout https://nsound.svn.sourceforge.net/svnroot/nsound/branch/nsound-0.4.0

Try it out and submit bug reports!!
:)
Nick

Posted by Nick 2007-07-02

Nsound 0.3.2 Release

This release also closes bug 1665807 Generator::generate() error.

2007-04-10 Nsound 0.3.2

+ Added Cygwin build target
+ Removed old GNU Build System, SCons all the way!
+ Added DistTar.py, creates nsound-A.B.C.[tar.gz|tar.bz2]
+ Added DistZip.py, creates nsound-A.B.C.zip

+ Added AudioStream::stepAverage(uint32 n_samples_per_step); degrades the
AudioStream

+ Added Buffer::speedUp(float32 x); resamples the stream by x
+ Added Buffer::speedUp(Buffer x); resamples the stream by x on a per
sample basis, note that a less than 1.0 value will really slow down the
stream, so the name is a tiny bit missleading.... read more

Posted by Nick 2007-04-12

Nsound Subversion Access

I've turned on Subversion for the project and checked in the currentl release (0.3.0) and the current working release (0.3.1-working).

To get the working version do:

$ svn checkout https://nsound.svn.sourceforge.net/svnroot/nsound/tags/nsound-0.3.1-working

Enjoy!
:)
Nick

Posted by Nick 2007-01-07

New Nsound developer joined the project

Welcome to the project chadclan!

Posted by Nick 2006-12-15