Hi all,
I just found this list after being directed to the IRC channel over the
weekend. I'm new here! Lately I've been dabbling in a bit of open-source
audio development (I say open-source rather than linux, because I've been
dabbling on both linux and windows).
Anyhow, amongst other things I've been trying to teach myself about DSP, so
I wrote a really (really, really, really) naive distortion plugin. I was
wondering if anyone would be interested in taking a look at it and giving
me some feedback, and tips on where to go next.
I wrote a little about it here:
http://guysherman.com/2015/08/30/my-first-ever-audio-plugin/
And the code is at: https://github.com/guysherman/si-plugins
I've got some other projects on the boil that I've been talking about with
the crew from the Ardour list, which I'll mention here when they take shape
a little more.
Cheers,
Guy.
--
Guy Sherman
*e:* guy(a)guysherman.com
*w: *http://guysherman.com
Greetings,
I am fairly new to USB dev (in linux in particular, but also in general), but I
would very much like to try to get support for the above device working in
snd-usb-audio.
- Is this an appropriate place to discuss snd-usb-audio?
- Are there any recommended reading pointers for behavior of the quirk table?
I patched parse_audio_format_rates_v2(), get_sample_rate_v2(), and
set_sample_rate_v2(), and through some sort of beginner luck was able to get
aplay audio out of the first two channels. That was incomplete hackery though
(eg fixed sample rate), and I would like to learn how to properly add quirk
support. There have been other reports that this device worked OOTB, but I
fail to see how!
I've also been examining the traffic to the device with wireshark and a
win7 vm, but the learning curve for USB is a bit steep, so I am digesting. (:
If anyone can provide suggestions on lsusb output alone, here's what I have:
http://pastebin.com/pA9MLQet
cheers,
Greg
[x-post from alsa-devel due to empty thread -
see: http://mailman.alsa-project.org/pipermail/alsa-devel/2015-July/094682.html]
Hi,
we have an open position for a student assistant for linux audio driver
development in our group "digital hearing devices" at the university of
Oldenburg, Germany:
http://www.careerservice.uni-oldenburg.de/admin/public/_jobboerse/jobs/1907…
Unfortunately this document is in German only, therefore please find a
google translation below. German language skills are not required, and
remote collaboration could be possible.
Best regards,
Giso
Student assistant for programming Linux audio driver
searched
To connect a multi-channel sound card ( development of the Uni
Hannover ) on the processor board BEAGLEBONE black with Linux
Operating system using standard libraries examined the
AG Auditory signal processing a student assistant ( with or
without bachelor's degree , but without master's degree ) . The scope
is initially 120h (3 months a 40h / month).
Candidate / candidates should programming skills in C and
bring knowledge of Linux . Previous experience with Linux
Kernel development is helpful but not required.
If interested, please contact Prof. Dr. V. Hohmann
(volker.hohmann(a)uni-oldenburg.de).
> I've been knocking my head against a wall for more than a year trying to
> figure out how to correctly mix two streams of audio while using
> libsndfile for input and libao for output. My main requirement is that
> I cannot assume anything about the output drivers -- that is, I cannot
> depend on the output driver (ALSA, OSS, Sun, etc) being able to do the
> mixing for me. Many of my target platforms lack any sort of mixing
> services. I need to do this myself. I tried starting a mixer/player
> thread that would work in a producer/consumer relationship with one or
> two audio file decoder threads. I can play one sound at a time just
> fine. When I try to do both, I get distortion followed by a segfault.
Hi,
not sure if I understood correctly: do you just want to mix N files?
Like you I'm learning libsndfile and libao so this is my attempt to mix
some audio files:
http://pastebin.com/dm7z8b3Z
HTH,
Andrea
P.S.
Can someone explain line 88 (I already read the sndfile FAQ)?
On Mon, May 16, 2016 at 11:30 PM, <
linux-audio-dev-owner(a)lists.linuxaudio.org> wrote:
> You are not allowed to post to this mailing list, and your message has
> been automatically rejected. If you think that your messages are
> being rejected in error, contact the mailing list owner at
> linux-audio-dev-owner(a)lists.linuxaudio.org.
>
>
>
> ---------- Forwarded message ----------
> From: Andrea Del Signore <sejerpz(a)gmail.com>
> To: linux-audio-dev(a)lists.linuxaudio.org
> Cc:
> Date: Mon, 16 May 2016 21:26:40 +0000 (UTC)
> Subject: Re: [LAD] mixing while using libao and libsndfile
> On Sun, 15 May 2016 16:34:34 +0000, David Griffith wrote:
>
> > I've been knocking my head against a wall for more than a year trying to
> > figure out how to correctly mix two streams of audio while using
> > libsndfile for input and libao for output. My main requirement is that
> > I cannot assume anything about the output drivers -- that is, I cannot
> > depend on the output driver (ALSA, OSS, Sun, etc) being able to do the
> > mixing for me. Many of my target platforms lack any sort of mixing
> > services. I need to do this myself. I tried starting a mixer/player
> > thread that would work in a producer/consumer relationship with one or
> > two audio file decoder threads. I can play one sound at a time just
> > fine. When I try to do both, I get distortion followed by a segfault.
> >
> > So, I'm back to a demo program. What must I do to this program to cause
> > it to start playing one audio file, then play another N seconds later?
> >
> > David Griffith dave(a)661.org
> >
>
> Hi,
>
> not sure if I understood correctly: do you just want to mix N files?
>
> I'm a noob with both libsndfile and libao :)
>
> Here my code: http://pastebin.com/dm7z8b3Z
>
> HTH,
> Andrea
>
> P.S.
> Can someone explain line 88 (I already read the sndfile FAQ)?
>
>
>
I've been knocking my head against a wall for more than a year trying to
figure out how to correctly mix two streams of audio while using
libsndfile for input and libao for output. My main requirement is that I
cannot assume anything about the output drivers -- that is, I cannot
depend on the output driver (ALSA, OSS, Sun, etc) being able to do the
mixing for me. Many of my target platforms lack any sort of mixing
services. I need to do this myself. I tried starting a mixer/player
thread that would work in a producer/consumer relationship with one or two
audio file decoder threads. I can play one sound at a time just fine.
When I try to do both, I get distortion followed by a segfault.
So, I'm back to a demo program. What must I do to this program to cause
it to start playing one audio file, then play another N seconds later?
David Griffith
dave(a)661.org
===begin code===
/*
* gcc -o mixer mixer.c -lao -lsndfile
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <ao/ao.h>
#include <sndfile.h>
#define BUFFSIZE 512
int playfile(FILE *);
int main(int argc, char *argv[])
{
FILE *fp1, *fp2;
if (argc < 2) {
printf("usage: %s <filename>.ogg <filename>.aiff\n", argv[0]);
exit(1);
}
fp1 = fopen(argv[1], "rb");
if (fp1 == NULL) {
printf("Cannot open %s.\n", argv[1]);
exit(2);
}
fp2 = fopen(argv[1], "rb");
if (fp2 == NULL) {
printf("Cannot open %s.\n", argv[1]);
exit(3);
}
ao_initialize();
playfile(fp1);
playfile(fp2);
ao_shutdown();
return 0;
}
int playfile(FILE *fp)
{
int default_driver;
ao_device *device;
ao_sample_format format;
SNDFILE *sndfile;
SF_INFO sf_info;
short *shortbuffer;
int64_t toread;
int64_t frames_read;
int64_t count;
sndfile = sf_open_fd(fileno(fp), SFM_READ, &sf_info, 1);
memset(&format, 0, sizeof(ao_sample_format));
shortbuffer = malloc(BUFFSIZE * sf_info.channels * sizeof(short));
frames_read = 0;
toread = sf_info.frames * sf_info.channels;
count = 0;
default_driver = ao_default_driver_id();
memset(&format, 0, sizeof(ao_sample_format));
format.byte_format = AO_FMT_NATIVE;
format.bits = 16;
format.channels = sf_info.channels;
format.rate = sf_info.samplerate;
device = ao_open_live(default_driver, &format, NULL);
if (device == NULL) {
printf("Error opening sound device.\n");
exit(4);
}
while (count < toread) {
frames_read = sf_read_short(sndfile, shortbuffer, BUFFSIZE);
count += frames_read;
ao_play(device, (char *)shortbuffer, frames_read * sizeof(short));
}
ao_close(device);
sf_close(sndfile);
}
===end code===
--
David Griffith
dave(a)661.org
I'm not sure if this has been covered before...
While I understand that generally you can't be certain of writing or reading
all bytes in a block of data in one call, what about the specific case where
you *always* read and write the same number of bytes and the buffer is an exact
multiple of this size.
e.g data block is 5 bytes & buffer size is 75 bytes.
No I'm not intending to use such an example, I just want to cover worst case :)
If that doesn't work, what about the case when you are always working in
powers of 2?
e.g data block is 16 bytes & buffer size is 1024 bytes.
--
Will J Godfrey
http://www.musically.me.uk
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
The Guitarix developers proudly present
Guitarix release 0.35.0
Guitarix is a tube amplifier simulation for
jack (Linux), with an additional mono and a stereo effect rack.
Guitarix includes a large list of plugins[*] and support LADSPA / LV2
plugs as well.
The guitarix engine is designed for LIVE usage, and feature ultra fast,
glitch and click free, preset switching, full Midi and/or remote
controllable (Web UI not included in the distributed tar ball).
This release introduce the new GUI design by Markus Schmidt aka. boomshop
Beside that, it comes with a couple of fixes and some new plugins.
Also included be the MOD UI's for the LV2 plugins used by the MOD[*]
For all changes, please check out the changelog.
Please refer to our project page for more information:
http://guitarix.sourceforge.net/
Download Site:
http://sourceforge.net/projects/guitarix/
Forum:
http://guitarix.sourceforge.net/forum/
Please consider visiting our forum or leaving a message on
guitarix-developer(a)lists.sourceforge.net
<mailto:guitarix-developer@lists.sourceforge.net>
regards
hermann
[*] http://moddevices.com/