Dear all,
Due to maintenance to the network that the linuxaudio.org server is part
of there will be scheduled downtime of all websites and some other
services from Friday June 2 23:00 until Saturday June 3 09:00 EST. We
apologize for any inconvenience this might cause.
Best regards,
Jeremy Jongepier
root(a)linuxaudio.org
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/
On Fri, Apr 29, 2016 at 09:08:40AM +0200, Jano Svitok wrote:
> I tried to compile ffado trunk now (ubuntu 14.04 trusty) and the
> compilation failed with undefined errno.
> The attached patch fixed that.
Thanks. Patch applied as r2607.
> I didn't look why the others work and these two files not.
The others either don't reference errno directly or include other headers
which apparently pull it in.
Regards
jonathan
Folks!
it has been our pleasure having some of you at c-base the past weekend!
It trully was an awesome event. Thank you!
Some notes about the event:
* all videos here: https://media.ccc.de/c/minilac16
* github association here: https://github.com/linuxaudio
* update your information and files for content freeze prior to wiki
move before 20160430! http://minilac.linuxaudio.org/
Please watch https://media.ccc.de/v/minilac16-lacisdeadlongliveminilac
to get an update on a possible location for next year.
The video also serves as explanatory for our proposal of a collective
redesign, managed through github.
For this to happen, please let me know about your github name, so I can
add you!
All the best from c-base,
David
--
David Runge
Schreinerstraße 11
10247 Berlin
http://sleepmap.de