<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
FYI, after testing [mp3write~] from 'unauthorized' library in my
projects, this object is not a real MP3 encoder/recorder. It's
'manipulating' in fact Ogg Vorbis coder and modifying the file
header.<br>
<br>
Thus, the Audio players recognize or not the files as:<br>
- Ogg/Vorbis stream for Celluloid,<br>
- Can read for Audacity,<br>
- Can't read at all for VLC, and<br>
- Error reading metadata for Audacious.<br>
<br>
[mp3write~] is a real false good idea for recording MP3 file under
Purr Data.<br>
<br>
<div class="moz-signature">Joseph<br>
- - - - - - - - - - - - - - - - - - - -<br>
</div>
<div class="moz-cite-prefix">Le 20/09/2020 à 13:20, Linux ROUEN
Normandie a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:d27741e8-3075-f07b-938f-f60c01ccfc3e@free.fr">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Jonathan, Ico and Albert,<br>
Thanks for your analysis and suggestions.<br>
<br>
My original question was: "Any ideas - suggestions about an
available and working [MP3 file Reader/Player] object?".<br>
The answer is: NO.<br>
<br>
What is available but not tested yet by me is: the [mp3write~]
object - an MP3 file Recorder.<br>
But it's missing its Reader/Player counterpart. Using an external
application for doing so is the current workaround to avoid format
conversion.<br>
<br>
As of today, we can only and mainly use the OGG (Vorbis), WAV
(Microsoft) and AIFF (Apple) Recorders/Players out of the box
within a project. It's what I'm already doing.<br>
<br>
For now, I'll integrate [mp3write~] into my projects and ask the
users to use an external PC application for reading/verifying
their recorded MP3 files under Purr Data.<br>
<div class="moz-signature">- - - - - - - - - - - - - - - - - - - -<br>
Best, Joseph<br>
- - - - - - - - - - - - - - - - - - - -<br>
</div>
<div class="moz-cite-prefix"><br>
Le 18/09/2020 à 19:48, Albert Graef a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:CA+rUic2YchoYUpj7R4=8PZ_TktuH9fb3dL5fpY-5KtSZ7zmrsA@mail.gmail.com">
<meta http-equiv="content-type" content="text/html;
charset=UTF-8">
<div dir="ltr">
<div>tabread4~ does interpolation, but no on-the-fly
resampling. soundfiler and readsf~ do this (IIRC), but they
only support a (very small) handful of uncompressed file
formats, one of which is dead already, but still seems to
get some use in the computer music community for historical
reasons.</div>
<div><br>
</div>
<div> I always thought that we had an object in the library
somewhere that interfaces to libsndfile. Probably it's Tim
Blechman's sndfiler~, but it doesn't seem to be built right
now, although we include the sources. So I think that we
should try to get this working, if only because libsndfile
is the queen of reading and writing sound files in FLOSS
land, and supports an abundance of audio file formats. Alas,
there's one notable exception -- it doesn't support mp3 at
present either. But at least there's an open ticket for it (<a
href="https://github.com/erikd/libsndfile/issues/258"
moz-do-not-send="true">https://github.com/erikd/libsndfile/issues/258</a>)
and there seems to be some work going on, so there's a faint
chance that we might get it eventually.</div>
<div><br>
</div>
<div>Sorry, Joseph, I wish I had better news for you, but I
think that the best solution that you can offer right now is
to point your customers to some mp3 => ogg conversion
tool. FLOSS developers just don't care much about mp3, even
though the patent expired, as we have ogg which was free
from the get-go (and many say that it's superior anyway). If
your users want to take advantage of open source, they
should be aware of these sentiments and willing to
accommodate.<br>
</div>
<div><br>
</div>
<div>Best,</div>
<div>Albert</div>
<div><br>
</div>
<div><br>
</div>
<div>It looks to me<br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Fri, Sep 18, 2020 at 5:28
PM Ivica Ico Bukvic <<a href="mailto:ico@vt.edu"
moz-do-not-send="true">ico@vt.edu</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex"><br>
On 9/18/2020 11:08 AM, Jonathan Wilkes wrote:<br>
> On Fri, Sep 18, 2020 at 11:00 AM Ivica Ico Bukvic <<a
href="mailto:ico@vt.edu" target="_blank"
moz-do-not-send="true">ico@vt.edu</a>> wrote:<br>
>><br>
>> On 9/18/2020 10:55 AM, Jonathan Wilkes wrote:<br>
>>> On Fri, Sep 18, 2020 at 10:12 AM Ivica Ico
Bukvic <<a href="mailto:ico@vt.edu" target="_blank"
moz-do-not-send="true">ico@vt.edu</a>> wrote:<br>
>>>> Based on the help file this object needs a
lot of love to be truly usable. See the transposing part on
anything other than the 3 apparently hardcoded sampling
rates...<br>
>>> So it can't play back vbr mp3s?<br>
>> Well, as of right now it can't do anything since it
does not work :-).<br>
>> However, even if it did, it appears that vbr is not
supported.<br>
>><br>
>> From the help file:<br>
>><br>
>> "The player supports mono and stereo MPEG Layer III
files. Any bitrate<br>
>> is supported - but we have tested 128Kb/s and 32
Kb/s only.<br>
>><br>
>> The sample rate of the output depends on the system
sample rate of pd:<br>
>><br>
>> If the sample rate of pd is set to 44100, files
having the sample rates<br>
>> of 44100, 22050 and 11025 are correctly played,
other files will be<br>
>> transposed."<br>
> How do `[tabplay~]` and `[readsf~]` handle this?<br>
<br>
I can only think off top my head how tabread4~ does it,
which is via <br>
4-point interpolation. Basically, if we can import the mp3
into array, <br>
all our problems will be solved. This would therefore limit
our need to <br>
support the conversion/exporting part only, instead of also
usability of <br>
yet another object that recreates much of the functionality.
The would <br>
only leave the streaming part as a separate object that
could <br>
potentially in-part piggy-back on the conversion thingy...<br>
<br>
><br>
> -Jonathan<br>
><br>
>>> -Jonathan<br>
>>><br>
>>>> That said, it would be great to be able to
support mp3 file manipulation. What would be even better if
you could simply load it into an array natively and export
from it, then all the problems this object already has would
become moot.<br>
>>>><br>
>>>> On 9/16/2020 7:06 PM, Linux ROUEN Normandie
wrote:<br>
>>>><br>
>>>> Le 17/09/2020 à 00:01, Jonathan Wilkes a
écrit :<br>
>>>><br>
>>>> On Wed, Sep 16, 2020 at 4:49 PM Linux ROUEN
Normandie<br>
>>>> <<a href="mailto:linux.rouen@free.fr"
target="_blank" moz-do-not-send="true">linux.rouen@free.fr</a>>
wrote:<br>
>>>><br>
>>>> Thanks Jonathan,<br>
>>>> But that means it's not usable by a
standard project user.<br>
>>>><br>
>>>> What means that?<br>
>>>><br>
>>>> Well, translation from a poor French man
speaking poor English (LOL):<br>
>>>> What I meant is that if you are not a guy
who builds patchs/subpatchs using available objects but only
a one who is using a ready-to-go project (assembly of
patchs) built by someone else, you will never do what have
been suggested. Not everybody is a developer-programmer,
even I. So, what about a standard user of Purr Data / Pd
Vanilla!<br>
>>>><br>
>>>> You have to<br>
>>>> put your hands under the hood and then into
the dirty engine.<br>
>>>> I just checked [mp3play~] with 'iemlib'
r.1.17 properly installed and<br>
>>>> declared under Pd Vanilla v.0.50.2 and it's
the same bad behavior than<br>
>>>> under Purr Data v.2.13.0. Even more, here
'mp3play~-help.pd' is not<br>
>>>> present at all.<br>
>>>><br>
>>>> Do you know where the source code is for
the version of mp3play~<br>
>>>> available through Vanilla?<br>
>>>><br>
>>>> As I wrote it, it's not available under Pd
Vanilla 0.5.2 / iemlib 1.17 but only under Purr Data, as far
as my little experience.<br>
>>>> I attach to this email what I guess could
be the main source file (mp3play~.c), but with no guarantee
at all, awa its help file (mp3play~-help.pd).<br>
>>>> This 'C' file seems to have been
tested/working only on: 'debugged for windows 013-03-2003'
(line 13 of the file).<br>
>>>> These 2 files and few others can be found
on your Git repository at:
'/purr-data/externals/iemlib/iem_mp3/' (accordingly to the
copy I have on my GNU/Linux PC).<br>
>>>><br>
>>>> - Joseph<br>
>>>><br>
>>>> -Jonathan<br>
>>>><br>
>>>> -Joseph<br>
>>>> - - - - - - - - - - - - - - - - - - - -<br>
>>>> Le 16/09/2020 à 21:13, Jonathan Wilkes a
écrit :<br>
>>>><br>
>>>> On Wed, Sep 16, 2020 at 2:37 PM Linux ROUEN
Normandie<br>
>>>> <<a href="mailto:linux.rouen@free.fr"
target="_blank" moz-do-not-send="true">linux.rouen@free.fr</a>>
wrote:<br>
>>>><br>
>>>> Hello Folks,<br>
>>>><br>
>>>> I'm looking for some advises regarding
Recording and Playing MP3 files -directly- inside Purr Data
v2.13.0+ under GNU/Linux and Windows.<br>
>>>><br>
>>>> In my MIDI/Audio projects under Purr Data
I'm already using successfully:<br>
>>>> - [oggwrite~] / [oggread~] for .ogg
(Vorbis) files (with lossy audio compression), and<br>
>>>> - [writesf~] / [readsf~] for .wav, .aif,
.au and .snd files (with uncompressed linear pulse-code
modulation).<br>
>>>><br>
>>>> But some users are requesting, among other
demands, the possibility to handle also MP3 (with lossy
data-compression) for extending the number of compatible
Audio equipment (like TVs) able to read them.<br>
>>>><br>
>>>> After analysis I found only 2 objects -not
tested yet- from the 'unauthorized' library being able to
deal with MP3:<br>
>>>> - [mp3write~] an MP3 file recorder v.0.4,
and<br>
>>>> - [mp3cast~] an MP3 streamer v.0.5.<br>
>>>> But there is nothing about an MP3 file
reader/player.<br>
>>>><br>
>>>> Despite the many libraries installed by
default, Purr Data could not create any of the following
objects (see towards the end of the link - FR):<br>
>>>> - [mp3amp~],<br>
>>>> - [graphic-mp3amp~],<br>
>>>> - [mp3live~],<br>
>>>> - [mp3streamout~],<br>
>>>> - [mp3streamin~],<br>
>>>> - [mp3fileout~], and<br>
>>>> - [mp3play~] from 'iemlib library'.<br>
>>>><br>
>>>> * [mp3play~] should be in the 'iemlib'
library but it's not there when its help file is well
present in
'/opt/purr-data/lib/pd-l2ork/extra/iemlib/mp3play~-help.pd'.<br>
>>>> One strange thing is that the 'mp3play~.c'
file is well present on the Git copy I made from Jonathan's
repo for my French translations in:<br>
>>>> -
'/home/joe/GitLab/purr-data/externals/build/src/mp3play~.c'
(47 bytes), and<br>
>>>> -
'/home/joe/GitLab/purr-data/externals/iemlib/iem_mp3/src/'
(107 kB).<br>
>>>><br>
>>>> mp3play~ is not currently getting built
(and wasn't in Pd-extended, either).<br>
>>>><br>
>>>> What a weirdo class structure! After
compiling it, you must first create this:<br>
>>>><br>
>>>> [iem_mp3]<br>
>>>><br>
>>>> Which will then go in and trigger the setup
routine for mp3play~, so<br>
>>>> that you can then do this:<br>
>>>><br>
>>>> [mp3play~]<br>
>>>><br>
>>>> Both will create properly. I was able to
play the test file and it<br>
>>>> seemed to output something, though couldn't
get my headphones to work<br>
>>>> so I don't know if it sounded right.<br>
>>>><br>
>>>> It appears there are no dependencies for
this object, so if we add it<br>
>>>> then it will work in the web app, too!<br>
>>>><br>
>>>> I guess the first thing to do is look in Pd
Vanilla and see if anyone<br>
>>>> has done work on this object since 2003.<br>
>>>><br>
>>>> -Jonathan<br>
>>>><br>
>>>> Any ideas - suggestions about an available
and working [MP3 file reader/player] object?<br>
>>>> Thank you.<br>
>>>> - - - - - - - - - - - - - - - - - - - -<br>
>>>> Best,<br>
>>>> Joseph Gastelais<br>
>>>> LINUX ♥ ROUEN ♥ Normandie<br>
>>>> - - - - - - - - - - - - - - - - - - - -<br>
>>>>
_______________________________________________<br>
>>>> L2Ork-dev mailing list<br>
>>>> <a
href="mailto:L2Ork-dev@disis.music.vt.edu" target="_blank"
moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
>>>> <a
href="https://disis.music.vt.edu/listinfo/l2ork-dev"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a><br>
>>>><br>
>>>>
_______________________________________________<br>
>>>> L2Ork-dev mailing list<br>
>>>> <a
href="mailto:L2Ork-dev@disis.music.vt.edu" target="_blank"
moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
>>>> <a
href="https://disis.music.vt.edu/listinfo/l2ork-dev"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a><br>
>>>><br>
>>>>
_______________________________________________<br>
>>>> L2Ork-dev mailing list<br>
>>>> <a
href="mailto:L2Ork-dev@disis.music.vt.edu" target="_blank"
moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
>>>> <a
href="https://disis.music.vt.edu/listinfo/l2ork-dev"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a><br>
>>>><br>
>>>>
_______________________________________________<br>
>>>> L2Ork-dev mailing list<br>
>>>> <a
href="mailto:L2Ork-dev@disis.music.vt.edu" target="_blank"
moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
>>>> <a
href="https://disis.music.vt.edu/listinfo/l2ork-dev"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a><br>
>>>><br>
>>>><br>
>>>>
_______________________________________________<br>
>>>> L2Ork-dev mailing list<br>
>>>> <a
href="mailto:L2Ork-dev@disis.music.vt.edu" target="_blank"
moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
>>>> <a
href="https://disis.music.vt.edu/listinfo/l2ork-dev"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a><br>
>>>><br>
>>>> --<br>
>>>> Ivica Ico Bukvic, D.M.A.<br>
>>>> Director, Creativity + Innovation<br>
>>>> Co-Director, Human Centered Design iPhD<br>
>>>> Institute for Creativity, Arts, and
Technology<br>
>>>><br>
>>>> Virginia Tech<br>
>>>> Creative Technologies in Music<br>
>>>> School of Performing Arts – 0141<br>
>>>> Blacksburg, VA 24061<br>
>>>> (540) 231-6139<br>
>>>> <a href="mailto:ico@vt.edu"
target="_blank" moz-do-not-send="true">ico@vt.edu</a><br>
>>>><br>
>>>> <a href="http://www.icat.vt.edu"
rel="noreferrer" target="_blank" moz-do-not-send="true">www.icat.vt.edu</a><br>
>>>> <a href="http://www.performingarts.vt.edu"
rel="noreferrer" target="_blank" moz-do-not-send="true">www.performingarts.vt.edu</a><br>
>>>> <a href="http://l2ork.icat.vt.edu"
rel="noreferrer" target="_blank" moz-do-not-send="true">l2ork.icat.vt.edu</a><br>
>>>> <a href="http://ico.bukvic.net"
rel="noreferrer" target="_blank" moz-do-not-send="true">ico.bukvic.net</a><br>
>>>><br>
>>>>
_______________________________________________<br>
>>>> L2Ork-dev mailing list<br>
>>>> <a
href="mailto:L2Ork-dev@disis.music.vt.edu" target="_blank"
moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
>>>> <a
href="https://disis.music.vt.edu/listinfo/l2ork-dev"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a><br>
>>> _______________________________________________<br>
>>> L2Ork-dev mailing list<br>
>>> <a href="mailto:L2Ork-dev@disis.music.vt.edu"
target="_blank" moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
>>> <a
href="https://disis.music.vt.edu/listinfo/l2ork-dev"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a><br>
>> --<br>
>> Ivica Ico Bukvic, D.M.A.<br>
>> Director, Creativity + Innovation<br>
>> Co-Director, Human Centered Design iPhD<br>
>> Institute for Creativity, Arts, and Technology<br>
>><br>
>> Virginia Tech<br>
>> Creative Technologies in Music<br>
>> School of Performing Arts – 0141<br>
>> Blacksburg, VA 24061<br>
>> (540) 231-6139<br>
>> <a href="mailto:ico@vt.edu" target="_blank"
moz-do-not-send="true">ico@vt.edu</a><br>
>><br>
>> <a href="http://www.icat.vt.edu" rel="noreferrer"
target="_blank" moz-do-not-send="true">www.icat.vt.edu</a><br>
>> <a href="http://www.performingarts.vt.edu"
rel="noreferrer" target="_blank" moz-do-not-send="true">www.performingarts.vt.edu</a><br>
>> <a href="http://l2ork.icat.vt.edu"
rel="noreferrer" target="_blank" moz-do-not-send="true">l2ork.icat.vt.edu</a><br>
>> <a href="http://ico.bukvic.net" rel="noreferrer"
target="_blank" moz-do-not-send="true">ico.bukvic.net</a><br>
>><br>
>> _______________________________________________<br>
>> L2Ork-dev mailing list<br>
>> <a href="mailto:L2Ork-dev@disis.music.vt.edu"
target="_blank" moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
>> <a
href="https://disis.music.vt.edu/listinfo/l2ork-dev"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a><br>
> _______________________________________________<br>
> L2Ork-dev mailing list<br>
> <a href="mailto:L2Ork-dev@disis.music.vt.edu"
target="_blank" moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
> <a
href="https://disis.music.vt.edu/listinfo/l2ork-dev"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a><br>
<br>
-- <br>
Ivica Ico Bukvic, D.M.A.<br>
Director, Creativity + Innovation<br>
Co-Director, Human Centered Design iPhD<br>
Institute for Creativity, Arts, and Technology<br>
<br>
Virginia Tech<br>
Creative Technologies in Music<br>
School of Performing Arts – 0141<br>
Blacksburg, VA 24061<br>
(540) 231-6139<br>
<a href="mailto:ico@vt.edu" target="_blank"
moz-do-not-send="true">ico@vt.edu</a><br>
<br>
<a href="http://www.icat.vt.edu" rel="noreferrer"
target="_blank" moz-do-not-send="true">www.icat.vt.edu</a><br>
<a href="http://www.performingarts.vt.edu" rel="noreferrer"
target="_blank" moz-do-not-send="true">www.performingarts.vt.edu</a><br>
<a href="http://l2ork.icat.vt.edu" rel="noreferrer"
target="_blank" moz-do-not-send="true">l2ork.icat.vt.edu</a><br>
<a href="http://ico.bukvic.net" rel="noreferrer"
target="_blank" moz-do-not-send="true">ico.bukvic.net</a><br>
<br>
_______________________________________________<br>
L2Ork-dev mailing list<br>
<a href="mailto:L2Ork-dev@disis.music.vt.edu"
target="_blank" moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a><br>
<a href="https://disis.music.vt.edu/listinfo/l2ork-dev"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a></blockquote>
</div>
<br clear="all">
<br>
-- <br>
<div dir="ltr" class="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">Dr. Albert Gr"af<br>
Computer Music Research Group, JGU Mainz, Germany<br>
Email: <a href="mailto:aggraef@gmail.com"
target="_blank" moz-do-not-send="true">aggraef@gmail.com</a>,
web: <a href="https://agraef.github.io/"
target="_blank" moz-do-not-send="true">https://agraef.github.io/</a></div>
</div>
</div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
L2Ork-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:L2Ork-dev@disis.music.vt.edu" moz-do-not-send="true">L2Ork-dev@disis.music.vt.edu</a>
<a class="moz-txt-link-freetext" href="https://disis.music.vt.edu/listinfo/l2ork-dev" moz-do-not-send="true">https://disis.music.vt.edu/listinfo/l2ork-dev</a></pre>
</blockquote>
<br>
</blockquote>
<br>
</body>
</html>