[AudioI] Octo: easiest way to perform a basic demonstration of all inputs and outputs

Chris Fernandez chris at hardline.io
Mon Apr 25 22:45:33 UTC 2022


Ugo, thank you for the great suggestion. PureData has been a huge help to
me in testing out the functionality of the AudioInjector Octo.

For anyone following in my footsteps, here is my process:
-------------------------
Install PureData:
sudo apt install puredata
(At time of writing, this is version 0.51.4-1)

Open a command prompt and type "pd" to launch the PureData GUI application.
Select your sound card by clicking Media -> Audio Settings.
>From this menu, make sure you have the Output Device set to the
audioinjector, and set the channel count to 8. Save settings, hit apply,
and OK.

To use the built in test tone generator, click Media -> Test Audio and MIDI.
On the left side, there are settings for the test tone generator.
It defaults to 440Hz (A4 on a piano). You can choose which output channels
to send the tone. I hit All, and I was able to hear the tone at all eight
outputs.
Note that my test setup is using 4 pairs of cheap wired earbuds, so 8
channels = 4 earbuds (left and right).

Next, I wanted to send different outputs to each of the 8 channels. I
created a new pd file (File -> New).
I created an oscillator object by clicking Put -> Object and then entering
the text "osc~ 440" where 440 is the frequency of the oscillator object.
I made 8 oscillators with different frequencies so I could tell them apart.
Then, I made an output object by clicking Put -> Object and entering the
text "dac~ x" where x is the channel number. I made 8 objects, numbering
them 1-8.
Using the graphical interface, I connected one oscillator to one DAC until
they were all connected.
As they were connected, they started playing. I went through the 8 earbuds
and heard 8 different tones.

Finally, I wanted to play .wav files, instead of tones. I already had 4
different .wav files downloaded to my Pi.
I created a new pd file. Then I added an object to read a .wav file by
entering "readsf~" in the object text field.
Next, I added two DACs ("dac~ 1" and "dac~ 2") for the right and left
channels.
I hooked both DAC inputs to the output of the "readsf~" object (so, this is
mono output, but to both the right and left sides).
Then I added an object to open the .wav itself: "open
/home/pi/Desktop/audio_samples/drums.wav, 1". (You'll need to update that
with your own filepath.)
I connected the output of the "open" object to the input of the "readsf~"
object.
Then, I could click on the "open" object, and the audio would play.
I copied and pasted my connection structure to set up the additional
channels. I renamed the "dac" objects (to get 1-8) and changed the .wav
filepath for my other three audio samples.
Then I clicked all 4 "open" blocked, and I got all 4 .wav files playing
simultaneously, one on each of my sets of headphones.

Here's a link to a useful series of tutorial videos on PureData:
https://www.youtube.com/watch?v=v53tJl3rE1c&ab_channel=QVisible
-------------------------

Hopefully, this writeup is able to help someone someday. I still need to
try recording audio, but PureData was absolutely a great software tool for
testing out this device. Thanks again for the help!

     -Chris

On Mon, Apr 25, 2022 at 6:44 PM Chris Fernandez <chris at hardline.io> wrote:

> Ugo, thank you for the great suggestion. PureData has been a huge help to
> me in testing out the functionality of the AudioInjector Octo.
>
> For anyone following in my footsteps, here is my process:
> -------------------------
> Install PureData:
> sudo apt install puredata
> (At time of writing, this is version 0.51.4-1)
>
> Open a command prompt and type "pd" to launch the PureData GUI application.
> Select your sound card by clicking Media -> Audio Settings.
> From this menu, make sure you have the Output Device set to the
> audioinjector, and set the channel count to 8. Save settings, hit apply,
> and OK.
>
> To use the built in test tone generator, click Media -> Test Audio and
> MIDI.
> On the left side, there are settings for the test tone generator.
> It defaults to 440Hz (A4 on a piano). You can choose which output channels
> to send the tone. I hit All, and I was able to hear the tone at all eight
> outputs.
> Note that my test setup is using 4 pairs of cheap wired earbuds, so 8
> channels = 4 earbuds (left and right).
>
> Next, I wanted to send different outputs to each of the 8 channels. I
> created a new pd file (File -> New).
> I created an oscillator object by clicking Put -> Object and then entering
> the text "osc~ 440" where 440 is the frequency of the oscillator object.
> I made 8 oscillators with different frequencies so I could tell them
> apart.
> Then, I made an output object by clicking Put -> Object and entering the
> text "dac~ x" where x is the channel number. I made 8 objects, numbering
> them 1-8.
> Using the graphical interface, I connected one oscillator to one DAC until
> they were all connected.
> As they were connected, they started playing. I went through the 8 earbuds
> and heard 8 different tones.
>
> Finally, I wanted to play .wav files, instead of tones. I already had 4
> different .wav files downloaded to my Pi.
> I created a new pd file. Then I added an object to read a .wav file by
> entering "readsf~" in the object text field.
> Next, I added two DACs ("dac~ 1" and "dac~ 2") for the right and left
> channels.
> I hooked both DAC inputs to the output of the "readsf~" object (so, this
> is mono output, but to both the right and left sides).
> Then I added an object to open the .wav itself: "open
> /home/pi/Desktop/audio_samples/drums.wav, 1". (You'll need to update that
> with your own filepath.)
> I connected the output of the "open" object to the input of the "readsf~"
> object.
> Then, I could click on the "open" object, and the audio would play.
> I copied and pasted my connection structure to set up the additional
> channels. I renamed the "dac" objects (to get 1-8) and changed the .wav
> filepath for my other three audio samples.
> Then I clicked all 4 "open" blocked, and I got all 4 .wav files playing
> simultaneously, one on each of my sets of headphones.
>
> Here's a link to a useful series of tutorial videos on PureData:
> https://www.youtube.com/watch?v=v53tJl3rE1c&ab_channel=QVisible
> -------------------------
>
> Hopefully, this writeup is able to help someone someday. I still need to
> try recording audio, but PureData was absolutely a great software tool for
> testing out this device. Thanks again for the help!
>
>      -Chris
>
> On Fri, Apr 22, 2022 at 5:14 PM Ugo Fosco <nasa50126 at gmail.com> wrote:
>
>> Hi Chris, i am not a programmer, but i made a simple mixer with all
>> inputs and output fully working in puredata. I started with no previous
>> knowledge of the program and i completed in a couple days. Sometimes, very
>> rarely,  pd dont recognize the soundcard, in that case i simply unplug the
>> power supply from rpi, i reboot,  and it comes back alive. pd is super easy
>> to install in raspberry pi. Don't know if this solution will suits you, now
>> the rpi-octo couple is my synths mixer, reverb and delay included, and i
>> love it. Bye, have fun.
>>
>> On Fri, 22 Apr 2022, 19:59 Chris Fernandez via People, <
>> people at lists.audioinjector.net> wrote:
>>
>>> Hello,
>>>
>>> I recently purchased an Octo and I am trying to demonstrate its
>>> capabilities. I have connected it to a Raspberry Pi 3B+ with a fresh
>>> install of Raspbian (v11). I've gone through the GitHub octo installation
>>> instructions, and I have been able to play 1x audio output from the
>>> AudioInjector card. Sound quality is good!
>>>
>>> However, I am struggling to get more than one audio output working at a
>>> time. I've tried opening multiple instances of VLC media player to play two
>>> different audio files. This works if I send one audio stream to the
>>> AudioInjector, and another to HDMI. However, the AudioInjector is only
>>> showing up as a single audio sink. I don't see how I can send other audio
>>> streams to the other channels of the AudioInjector.
>>>
>>> I have spent a few days looking into this, and playing around with aplay
>>> and other Asla tools. No luck for me so far.
>>>
>>> Is the basic installation from GitHub intended to default to a 1x output
>>> mode? Are there other steps I need to do to enable multiple independent
>>> outputs? Is there something like a tutorial or demo that I could use to
>>> validate the hardware and test operation with 6x inputs and 8x outputs?
>>> What is the easiest way to test the full functionality of the Octo board?
>>>
>>> Any guidance would be greatly appreciated! Thanks in advance!
>>>
>>>      -Chris
>>>
>>> --
>>> Chris Fernandez
>>> chris at hardline.io
>>> 518-242-6475
>>> Hardline, Inc.
>>> 112 South Park Street
>>> San Francisco, CA 94107
>>>
>>> --
>>> People mailing list
>>> People at lists.audioinjector.net
>>> https://lists.audioinjector.net/mailman/listinfo/people
>>>
>>
>
> --
> Chris Fernandez
> chris at hardline.io
> 518-242-6475
> Hardline, Inc.
> 112 South Park Street
> San Francisco, CA 94107
>


-- 
Chris Fernandez
chris at hardline.io
518-242-6475
Hardline, Inc.
112 South Park Street
San Francisco, CA 94107
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.audioinjector.net/pipermail/people/attachments/20220425/03416175/attachment-0001.htm>


More information about the People mailing list