The solutions you have discussed so far are very interesting, although I don't fully understand how this should be implemented. And with the time schedule (and budget) for this project in mind, I really hope that the capabilities of the NION Nx will do. I haven't seen a NION until three weeks ago, but I'm trying hard to learn as much as possible about this thing and it doesn't look too bad right now. There are still some open ends, though, so I'll make a short presentation here.
I work with this group, Urban Sound Institute (www.usit.nu), comsisting of two musical composers, two architects and me, who is a sound designer/producer/acoustician. I used to work with research in adaptive filters for active noise and vibration control.
We're doing this installation in a museum in Sweden. In a big hall we've built a labyrinth (approx 8 by 13 meters) that is ment to be pedagogical as well as entertaining. It has has four different sounding parts: The name, the story, the music and the room (with long reverberation). In all theese we're running pre-recorded sounds (with the 8TraXX = 16 channels of sound). In three of theese, (the name, the story, the room) people can add sounds.
The name: A push button, connected to one pin of the GPIO interface, starts a recording. The length of this recording is preset to something between 3-5 seconds. I've got four recorders, recording to files name1...name4. A python script decides which recorder to use. This is usually the next one in line, but if the corresponding file is currently used by a player, the second next recorder is picked. Four players are designated to play theese files. A pyhton script selects players randomly (avoiding the player that corresponds to a file currently beeing recorded) and at random times. This means that a maximum of four players/recorders will be running simultaneously. The names are played clean as well as processed and mixed with a pre-recorded marinade.
The story: In this case, lifting a telephone receiver starts the recording (another GPIO pin). The recording continues as long as the receiver is off the hook, or until a preset time limit is reached. As before, there are four recorders recording to story1...story4, respectively. A python script decides which writer to use and as before, I'm not recording to a file that is currently beeing played back. The stories are played back one after the other, again controlled by a script. This was quite tricky to write, since the playback has to work even if e.g. only one file has been recorded, so I maintain status flags (in the state variable) on files written.
You raise a good question here: What happens when I run out of disk space? The answer is: I don't know! (Yet!). In fact, I don't even know how much space there is to store data in. How can I find that out? My unit was shipped with the 256 Mb disc and the problem would definitely be smaller (I imagine) if I had the 2 Gb disc. I'll talk with TTS (your associate in Sweden) about this.
I don't know how clever the file system is, but I imagine it might become clogged after a (short) while. Maybe a solution would be to clean the disc once a day. How do I do that? Automatically?
The third place is just a room with long reverberation: A microphone in the room is fed back through loudspeakers with delay and reverberation, mixed with pre recorded material. The Feedback Ferret comes in handy Nothing is recorded or played back on the NION.
To save DSP time and disc space, I'm running the system at 24 kHz sampling rate, but somehow it seems that the CABs are still running at 48 kHz (I need to interpolate). How's that? I'm also getting compilation notes saying "Device has sample rate overrideâ€ that makes me a bit confused.
This was the short vesrion.
I'm wide open to suggestions.