Coder Social home page Coder Social logo

jherby2k / audioworks Goto Github PK

View Code? Open in Web Editor NEW
63.0 4.0 6.0 120.16 MB

A cross-platform, multi-format audio conversion and tagging suite

License: GNU Affero General Public License v3.0

C# 93.66% PowerShell 6.34%
music encode decode convert tag replaygain c-sharp dotnet-standard windows linux macos powershell apple-lossless opus aac mp3 id3 flac ogg-vorbis

audioworks's Introduction

A cross-platform, multi-format audio conversion and tagging suite for .NET and PowerShell. Formats currently supported are MP3, MP4 AAC, FLAC, Apple Lossless (ALAC), Opus, Ogg Vorbis and Wave.

A full user interface (Windows only) is in development.

This project supplants PowerShell Audio by targetting PowerShell cross-platform (Windows, Linux and MacOS).

Platform Build Status (main) Build Status (dev) Deployment Status
Windows Build Status Code Coverage Build Status Code Coverage Deployment Status
Linux Build Status Code Coverage Build Status Code Coverage Deployment Status
MacOS Build Status Code Coverage Build Status Code Coverage Deployment Status

System Requirements

AudioWorks runs on Windows 8.1+, MacOS 10.15+, and Ubuntu 18.04+. Other 64-bit Linux distributions may work, but may require additional dependencies and are currently untested.

On Windows:

  • PowerShell 7+ (recommended) and/or Windows PowerShell 5.1
  • .NET Framework 4.6.2+ (if using Windows PowerShell)
  • iTunes (optional, for AAC and ALAC support. Requires the classic installer, not the Windows Store version)

On Ubuntu:

Installation

The AudioWorks PowerShell module can found on the PowerShell Gallery.

Keep the module up to date with Update-Module -Name AudioWorks.Commands.

The .NET API is available via NuGet.

Additional Requirements for Building / Testing

Special Thanks

This project wouldn't be possible without the work of these other fine projects and organizations:

  • Hydrogen Audio Forums, a wonderful, scientifically-minded community of digital audio enthusiasts.
  • The LAME Project, maintainers of the high-quality MP3 encoder.
  • The Xiph.Org Foundation, maintainers of Ogg Vorbis and FLAC (the Free Lossless Audio Codec).
  • libebur128, a library implementing the EBU R.128 loudness standard.
  • QAAC, a command-line front-end for Apple's AAC and Apple Lossless encoders.

audioworks's People

Contributors

awsr avatar jherby2k avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

audioworks's Issues

Get-AudioMetadata returns all empty Metadata for .m4a and .wav files

I'm happy to provide examples, ffprobe/ffmpeg are able to read the tag information no problem - as are many other applications (e.g.: iTunes, AudioRanger, MusicBrainz Picard, etc).

Get-AudioInfo works correctly - only having issue with Get-AudioMetadata.

Example file with Get-AudioMetadata vs. Get-Media (an alternate PS cmdlet that uses ffprobe/ffmpeg).

PS C:\Music> $testFile | Get-AudioFile | Get-AudioMetadata

Title :
Artist :
Album :
AlbumArtist :
Composer :
Genre :
Comment :
Day :
Month :
Year :
TrackNumber :
TrackCount :
TrackPeak :
AlbumPeak :
TrackGain : dB
AlbumGain : dB

PS C:\Music> $testFile | Get-Media

InputPath : C:\Music\04\04 - 05 - Cuando Nadie Me Ve.wav
streams : {@{index=0; codec_name=pcm_s16le; codec_long_name=PCM signed 16-bit little-endian; codec_type=audio; codec_tag_string=[1][0][0][0];
codec_tag=0x0001; sample_fmt=s16; sample_rate=44100; channels=2; bits_per_sample=16; r_frame_rate=0/0; avg_frame_rate=0/0; time_base=1/44100;
duration_ts=13607496; duration=308.560000; bit_rate=1411200; disposition=}}
format : @{filename=C:\Music\04\04 - 05 - Cuando Nadie Me Ve.wav; nb_streams=1; nb_programs=0; format_name=wav; format_long_name=WAV / WAVE (Waveform
Audio); duration=308.560000; size=54430544; bit_rate=1411214; probe_score=99; tags=}
album : 04
artist : Alejandro Sanz
IWEB : http://www.alejandrosanz.com/
IMUS : Alejandro Sanz
encoded_by : dBpoweramp Release 15.3
encoder : -compression="PCM" -acm="0100020080BB000000EE0200040010000000" -wavemp3="-b 160 -encoding={qt}SLOW{qt} -crc={qt}1{qt}"
genre : Pop
language : spa
IWRI : Alejandro Sanz
ISRF : CD
ISRC : Warner Music
date : 2004-11-16
title : Cuando Nadie Me Ve
IFRM : 15
track : 5
TORG : Warner Music
TLEN : 308560
IENC : dBpoweramp Release 15.3
IMED : CD
ICNT : US
FileSize : 54430544
CodecTypes : audio
Codecs : pcm_s16le
Duration : 00:05:08.5600000

Issue with write-progress

Hi

I have found when i encode files in batch in Powershell 5.1 using ISE, the progress bars keep acumulating (they dont seem to terminate when they are completed)

Capture

Is there possible Path-Issue causing this ?

In Theory, If i would:

Get-AudioFile .\input.flac | Export-AudioFile -Encoder LameMP3 .

and assuming the conversion was successful, shouldn't:

Get-AudioFile .\input.mp3 | Export-AudioFile -Encoder <Any> .

work ?
Every Encoder returns:

"Export-AudioFile: No supporting decoders are available."

.. Yes, i can assure you, that all Decoders are present.
It seems like a path is misdirected, because
when using the UI (properly compiled),
the GUI shows - i can do everything BUT start/initiate the encoding-process
.. Not showing any errors - like it won't,
because the path is not set properly ??

wav a-law is not recognizedby get-audiofile

I Can not convert wav a-law audio files to .mp3
The proccess fails when the get-audiofile fails with error:

Get-AudioFile : Unable to decode '<FilePath.wav>' with any loaded extension.
At line:1 char:1
+ Get-AudioFile -Path "<FilePath.wav>"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (<FilePath.wav>:String) [Get-AudioFile], AudioUnsupportedException
    + FullyQualifiedErrorId : AudioUnsupportedException,AudioWorks.Commands.GetAudioFileCommand

AudioInfo

AudioFile.wav.zip

Apply LAME --gain to Export

I'm looking for the analogy to the -Setting @{ApplyGain = "Track"} option from the retired PowerShell Audio. I apologize for resorting to logging an issue, just haven't found an alternate path after my Google Fu failed me.

Multichannel Flac files not loading

Follolowing error on all my Multichannel Flac files. (4, 5, 6 and 8 channels)

$af = Get-AudioFile G:\tools\test2.flac

Get-AudioFile : Unable to decode 'G:\tools\test2.flac' with any loaded extension.
At line:1 char:8
+  $af = Get-AudioFile G:\tools\test2.flac
+        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (G:\tools\test2.flac:String) [Get-AudioFile], AudioUnsupportedException
    + FullyQualifiedErrorId : AudioUnsupportedException,AudioWorks.Commands.GetAudioFileCommand

I don't know how to checkt the version. Instaled AudioWorks using "Install-Module -Name AudioWorks.Commands" today (12 - Feb - 2021) (expect 1.1.0)

This Flac File works with DBPoweramp, Flac.exe, MetaFlac.exe and TagLib.dll

AudioWorks works fine with my 2 Channel .Flac files.

Issue related to home-assistant-addons lego

Hello,
i can't find in the repository https://github.com/jherby2k/via-justa-home-assistant-addons where to write :-(
I want to ask you if is possible to add an optiot that, after the first line of SAN certificate has generated, copy and rename the certificate here:
/ssl/fullchain.pem
/ssl/privkey.pem

So we can use this addon instead of duckdns addon, this is some line of code that i have created but i don't know how to test this:

int h = 0
for domain in $(bashio::config 'domains'); do
    sans=(${domain//,/ })
    bashio::log.debug "Checking for certificate ${CERT_PATH}/certificates/${sans[0]//[*]/_}.crt existence"
    if [[ ! -f "${CERT_PATH}/certificates/${sans[0]//[*]/_}.crt" ]]; then
        bashio::log.info "Certificate for domain ${sans[0]} not found, issuing"
        domainargs=$args
        for san in ${sans[@]}; do
            domainargs="${domainargs} -d ${san}"
        done
        bashio::log.debug "running command: lego ${domainargs} run"
        lego ${domainargs} run
        
        for (i=1 ; i<100 ; i++) ;
        
        if [ h == 0 ]; 
		then
            cp -rp ${CERT_PATH}/certificates/${sans[0]//[*]/_}.crt /ssl/fullchain.pem
			cp -rp ${CERT_PATH}/certificates/${sans[0]//[*]/_}.key /ssl/privkey.pem
        fi
    else
        bashio::log.info "Certificate for domain ${sans[0]} found"
    fi
    h++
done

I hope in this implementation
Best regards
Stefano

Dependency conflict

Hello,

We are trying to add AudioWorks to a larger project which has dependencies on newer NuGet packages, this is causing a conflict with some of the dependencies of AudioWorks which are considerably older.

AudioWorks.Common depends on Microsoft.Extensions.Configuration.Json >= 2.2.0, which depends on Newtonsoft.Json >= 11.0.2

We are using Newtonsoft.Json 13.0.1.

For some reason the ">=" is not being honoured in Audioworks, perhaps there's a fixed version binding somewhere?

Is there any chance a new AudioWorks package can be deployed with an updated dependency to Microsoft.Extensions.Configuration.Json v6.0.0, which does not have that seemingly fixed dependency on Newtonsoft.Json 11.0.2 ?

Thanks,

Exceptions:
System.TypeInitializationException: The type initializer for 'AudioWorks.Api.ExtensionProviderWrapper' threw an exception. ---> System.TypeInitializationException: The type initializer for 'AudioWorks.Common.ConfigurationManager' threw an exception. ---> System.IO.FileLoadException: Could not load file or assembly 'Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

System.TypeInitializationException: The type initializer for 'AudioWorks.Api.ExtensionProviderWrapper' threw an exception. ---> System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Extensions.Configuration.Abstractions, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

System.TypeInitializationException: The type initializer for 'AudioWorks.Api.ExtensionProviderWrapper' threw an exception. ---> System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Extensions.Configuration.Abstractions, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

OSX needs prerequisite handling

On OSX, many libraries need to be obtained through HomeBrew or shipped with AudioWorks. Options are:

  1. Just warn, with suggested command lines
  2. Fully automate HomeBrew.
  3. Ship the libraries ourselves.

Get-AudioFile does not support square brackets [] in path

This does not work:

PS C:\Windows\system32> [string]$file = "\\10.0.24.10\share_media\media\music\qobuz_source\SvartePetter\SvartePetter - Jeg er tilbake (2010) [FLAC] [16B-44.1kHz]\02. SvartePetter - Vanlig (Explicit).flac"
PS C:\Windows\system32> Get-AudioFile -Path $file | Get-AudioMetadata
Get-AudioFile : The specified wildcard character pattern is not valid: SvartePetter - Jeg er tilbake (2010) [FLAC]
[16B-44.1kHz]
At line:1 char:1
+ Get-AudioFile -Path $file | Get-AudioMetadata
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-AudioFile], WildcardPatternException
    + FullyQualifiedErrorId : RuntimeException,AudioWorks.Commands.GetAudioFileCommand

The issue is these square brackets in the path: [FLAC] [16B-44.1kHz]
If I replace with normal parenthesis it works:

PS C:\Windows\system32> [string]$file = "\\10.0.24.10\share_media\media\music\qobuz_source\SvartePetter\SvartePetter - Jeg er tilbake (2010) (FLAC) (16B-44.1kHz)\02. SvartePetter - Vanlig (Explicit).flac"
PS C:\Windows\system32> Get-AudioFile -Path $file | Get-AudioMetadata


Title       : Vanlig
Artist      : SvartePetter
Album       : Jeg er tilbake
AlbumArtist : SvartePetter
Composer    : Xtatic; tom12"; euphonius; endless; oral bee; dat music
Genre       : Rap
Comment     :
Day         : 10
Month       : 05
Year        : 2010
TrackNumber : 02
TrackCount  : 19
TrackPeak   :
AlbumPeak   :
TrackGain   :  dB
AlbumGain   :  dB

Should be supported, found the issue by reading this one: https://stackoverflow.com/questions/20854896/the-specified-wildcard-pattern-is-not-valid-warnings

Get-AudioFile throws error due to missing optional Apple components

Running version 1.0.0-beta9 on up-to-date Windows 10 with PowerShell 7.0.2 and no Apple libraries installed.

Tested using OGG, MP3, and WAV files. All files gave the same error: The type initializer for 'AudioWorks.Extensibility.ExtensionContainerBase' threw an exception.

Error record seems to point to:
AudioWorks/AudioWorks/src/AudioWorks.Extensibility/ExtensionContainerBase.cs
and

try
{
foreach (var methodInfo in typeof(SafeNativeMethods).GetMethods(
BindingFlags.NonPublic | BindingFlags.Static))
Marshal.Prelink(methodInfo);
}
catch (DllNotFoundException e)
{
logger.LogWarning(e.Message);
return false;
}
catch (EntryPointNotFoundException e)
{
logger.LogWarning(e.Message);
return false;
}

Full error text follows:

Exception             :
    Type           : System.TypeInitializationException
    TypeName       : AudioWorks.Extensibility.ExtensionContainerBase
    TargetSite     : Void .ctor()
    StackTrace     :
   at AudioWorks.Extensibility.ExtensionContainerBase..ctor()
   at AudioWorks.Extensibility.ExtensionContainer`1..ctor()
   at AudioWorks.Extensibility.ExtensionContainer`1.<>c.<.cctor>b__8_0()
   at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
   at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
   at System.Lazy`1.CreateValue()
   at System.Lazy`1.get_Value()
   at AudioWorks.Extensibility.ExtensionContainer`1.get_Instance()
   at AudioWorks.Extensibility.ExtensionProvider.GetFactories[T](String key, String value)
   at AudioWorks.Api.ExtensionProviderWrapper.GetFactories[T](String key, String value)
   at AudioWorks.Api.AudioFile.LoadInfo()
   at AudioWorks.Api.AudioFile..ctor(String path)
   at AudioWorks.Api.TaggedAudioFile..ctor(String path)
   at AudioWorks.Commands.GetAudioFileCommand.ProcessPath(String path)
   at AudioWorks.Commands.GetAudioFileCommand.ProcessRecord()
   at System.Management.Automation.Cmdlet.DoProcessRecord()
   at System.Management.Automation.CommandProcessor.ProcessRecord()
    Message        : The type initializer for 'AudioWorks.Extensibility.ExtensionContainerBase' threw an exception.
    InnerException :
        Type       : System.IO.DirectoryNotFoundException
        TargetSite :
            Name          : CreateDirectoryHandle
            DeclaringType : System.IO.Enumeration.FileSystemEnumerator`1[TResult]
            MemberType    : Method
            Module        : System.IO.FileSystem.dll
        StackTrace :
   at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
   at System.IO.Enumeration.FileSystemEnumerator`1.Init()
   at System.IO.Enumeration.FileSystemEnumerator`1..ctor(String directory, Boolean isNormalized, EnumerationOptions options)
   at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
   at System.IO.Enumeration.FileSystemEnumerableFactory.FileInfos(String directory, String expression, EnumerationOptions options, Boolean isNormalized)
   at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
   at System.IO.DirectoryInfo.GetFiles(String searchPattern, EnumerationOptions enumerationOptions)
   at System.IO.DirectoryInfo.GetFiles(String searchPattern)
   at AudioWorks.Extensibility.ExtensionLoadContext.<>c__DisplayClass3_0.<LoadUnmanagedDll>b__0(String path)
   at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.MoveNext()
   at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Boolean& found)
   at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
   at AudioWorks.Extensibility.ExtensionLoadContext.LoadUnmanagedDll(String unmanagedDllName)
   at System.Runtime.Loader.AssemblyLoadContext.ResolveUnmanagedDll(String unmanagedDllName, IntPtr gchManagedAssemblyLoadContext)
   at System.Runtime.InteropServices.Marshal.PrelinkCore(MethodInfo m)
   at System.Runtime.InteropServices.Marshal.Prelink(MethodInfo m)
   at AudioWorks.Extensions.Apple.CoreAudioHandler.Handle() in d:\a\1\s\AudioWorks\src\Extensions\AudioWorks.Extensions.Apple\CoreAudioHandler.cs:line 60
   at AudioWorks.Extensibility.ExtensionContainerBase..cctor()
        Message    : Could not find a part of the path 'C:\Program Files\Common Files\Apple\Apple Application Support'.
        Source     : System.IO.FileSystem
        HResult    : -2147024893
    Source         : AudioWorks.Extensibility
    HResult        : -2146233036
CategoryInfo          : NotSpecified: (:) [Get-AudioFile], TypeInitializationException
FullyQualifiedErrorId : System.TypeInitializationException,AudioWorks.Commands.GetAudioFileCommand
InvocationInfo        :
    MyCommand        : Get-AudioFile
    ScriptLineNumber : 1
    OffsetInLine     : 1
    HistoryId        : 2
    Line             : Get-AudioFile .\gap100ms.wav
    PositionMessage  : At line:1 char:1
                       + Get-AudioFile .\gap100ms.wav
                       + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    InvocationName   : Get-AudioFile
    CommandOrigin    : Internal
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1

AoTuV Linux packages for Ubuntu

Linux users should have first-class Ogg Vorbis encoding via AoTuV. Ubuntu maintainers have rejected this patch, so a separate repository is probably warranted.

Apple hardware (M1, arm64) native support

Was waiting on .NET 6.0 for native arm64 compatibility.

  • Include arm64 binaries
  • Target .NET 6.0
  • Fix any interop issues on arm64
  • Review test results on Big Sur
  • Review test results on Monterey

AudioWorks.Commands only works with PowerShell Core

AudioWorks.Commands currently targets .NET Core 2.0 as the current PowerShell Core packages do not work with .NET Standard 2.0. This means the module will not work with older PowerShell versions that depend on the full framework.

Error loading NuGet.PackageManagement.NetStandard

This dependency fails to load when using the desktop framework and shadow copied assemblies, because it is public key signed.

This isn't actually an official NuGet package, but rather a fork to provide .net standard compatibility. Once an official package is out we can switch to that.

APEv2 tag support

These tags are reasonably common on MP3 files, and other lesser-used formats (MusePack, Monkey's Audio, Wavpack).

Get-AudioFile (without a file extension)

I am having an issue where some files are sometimes named .wav
but they are of .mp3 or .wma format (incorrect extension)

When I do a Get-AudioFile it fails:

Get-AudioFile : Not a valid RIFF stream.
At line:1 char:1
+ Get-AudioFile 'C:\Exp\Test-Encode\wavfiles\88c37d0d-918e-4c6a-860a-18 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (C:\Exp\Test-Enc...865c3285da2.wav:String) [Get-AudioFile], AudioInvalidException
    + FullyQualifiedErrorId : AudioInvalidException,AudioWorks.Commands.GetAudioFileCommand

if i remove the file extension, it fails with this error:

Get-AudioFile : Unable to decode 'C:\Exp\Test-Encode\wavfiles\88c37d0d-918e-4c6a-860a-1865c3285da2' with any loaded extension.
At line:1 char:1
+ Get-AudioFile 'C:\Exp\Test-Encode\wavfiles\88c37d0d-918e-4c6a-860a-18 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (C:\Exp\Test-Enc...0a-1865c3285da2:String) [Get-AudioFile], AudioUnsupportedException
    + FullyQualifiedErrorId : AudioUnsupportedException,AudioWorks.Commands.GetAudioFileCommand

Is there a way I can get these to work without manual intervention?

88c37d0d-918e-4c6a-860a-1865c3285da2.zip

Unable to set .aac file as AudioFile

 $af = Get-AudioFile in.aac

Get-AudioFile : Unable to decode 'C:\temp\test\in.aac' with any loaded extension.
At line:1 char:7
+ $af = Get-AudioFile in.aac
+       ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (in.aac:String) [Get-AudioFile], AudioUnsupportedException
    + FullyQualifiedErrorId : AudioUnsupportedException,AudioWorks.Commands.GetAudioFileCommand

Is ID3v2.4 supported?

I think the answer is probably "no" since the string "ID3v2.3" is in the code, but "ID3v2.4" is not. But I'm so desperate to find a library that supports "ID3v2.4", I thought it can't hurt to ask.

No supporting decoders are available

I am trying to convert an mp3 file but I always get this error

Export-AudioFile: No supporting decoders are available.

In reference to this problem #27, how do I install a decoder?

Opus support

Opus is the next most popular format not currently supported.

Support for tags that aren't explicitly supported

Hi,

If I issue Get-AudioFile '.\test.flac' | Export-AudioFile LameMP3 ., tags that aren't explicitly supported are not carried over, "Disc number" and "Total discs", for instance. Nor are they visible in the metadata property of a TaggedAudioFile object.

Wouldn't it be a good idea to support all tags, including non-standard ones?

AoTuV MacOS packages

MacOS users should have first-class Ogg Vorbis encoding via AoTuV and Lancer. Probably best to submit this to HomeBrew and then use their binaries going forward.

WebException running net48 tests

If extensions are not yet cached on the system when the net48 tests run, you may experience the following exception:

System.Net.WebException : The request was aborted: Could not create SSL/TLS secure channel.

This seems to be an TLS 1.3 issue with Visual Studio, as per NuGet/NuGetGallery#7705. It can be worked around by running the following commands to force a TLS downgrade:

reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f
reg add HKLM\SOFTWARE\WOW6432NODE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f

Add support for Android OS

Is Android currently targeted for support? I am interested in the capability to read and write different audio formats. Android an iOS are currently absent from the list on the main page. Thank you for all the great work, BTW.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.