Java的声音处理介绍

java编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器包括二胡、钢琴和琵琶。定义乐器类Instrument,包括方法makeSound() 。定义乐器类的子类 编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器包括二胡、钢琴和琵琶。 实现思路及关键代码 1)定义乐器类Instrument,包括方法makeSound() 2)定义乐器类的子类:二胡Erhu、钢琴Piano和小提琴Violin 3)定义乐手类Musician,可以弹奏各种乐器play(Instrument i) 4)定义测试类,给乐手不同的乐器让他弹... 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 声音可以创造意境,触发遐想,当与虚拟图像相结合时,更加可以让整个世界充满幻觉。声音是多媒体技术的基础。这就是Sun公司的JAVA媒体技术开发小组忙于准备Java Sound 1.0 API并将其包含于下一版本的JAVA开发工具库中的原因。   在JAVA2平台出现之前,JAVA语言只能处理电话音质的声音,以单声道8KHZ的采样频率存储为μ-law AU文件。JAVA2平台增加了对AIFF,WAV以及三种MIDI文件类型的支持。所支持的三种MIDI文件格式为MIDI文件类型0、MIDI文件类型1、以及RMF。   应用程序接口API1.0版提供了一个易于使用的工具集,使程序员可以访问底层的合成与演奏引擎,从而扩展了JAVA声音的应用。其中两个重要的领域是创建数字化音频以及乐器指令数字化接口MIDI。由于提供了大量的底层支持功能,所以程序员能输入输出声音,控制MIDI设备,并能查询系统运作情况。   声音文件类型简介   主要的声音文件类型如下:   AU - (扩展名为AU或SND)适用于短的声音文件,为Solaris和下一代机器的通用文件格式,也是JAVA平台的标准的音频格式。AU类型文件使用的三种典型音频格式为: 8位μ-law类型(通常采样频率为8kHz), 8位线性类型,以及16位线性类型。   WAV - (扩展名为WAV)由 Microsoft和 IBM共同开发,对WAV的支持已经被加进Windows 95并且被延伸到Windows 98. WAV文件能存储各种格式包括μ-law,a-law和 PCM (线性)数据。他们几乎能被所有支持声音的Windows应用程序播放。   AIFF - (扩展名为AIF或IEF)音频互换文件格式是为Macintosh计算机和Silicon Graphics (SGI)计算机所共用的标准音频文件格式。AIFF和 AIFF-C几乎是相同的,除了后者支持例如μ-law和 IMA ADPCM类型的压缩。   MIDI - (扩展名为MID)乐器数字接口MIDI是为音乐制造业所认可的标准,主要用于控制诸如合成器和声卡之类的设备。   MIDI文件不包含数字音频采样,而是包括一系列指令,这些指令控制把来自不同乐器上的音符序列合成乐曲。一些MIDI文件包含附加指令来为各种合成设置进行编程。   大多数合成器支持MIDI标准,所以在一个合成器上制作的音乐能够在另一个上播放。 有 MIDI接口的计算机能操纵 MIDI数据以产生新音乐或音响效果。例如,一个完整的音乐作品可以通过一个软件驱动的命令转换成全新的形式。   JAVA声音引擎支持两种MIDI文件类型:   MIDI类型0文件-包含仅仅一个序列,所有相关的乐器部分被包含在同一个逻辑 "磁道"上。   MIDI类型1文件-包含多重的 "磁道"使得不同的乐器被逻辑地分开,从而使对声音的操作和重组更加容易。   RMF - (扩展名为RMF)混合音乐格式是由Beatnik设计出来的混合文件类型,通过交互式设定将MIDI和音频采样封装在一起。RMF好比是一个所有音乐相关文件的容器。RMF也包含对有关版权的详细文件说明的支持。RMF文件可以包含多个由不同艺术家创作的存储为MIDI类型或音频采样类型的作品,每个都关联着相关的版权信息。 对声音引擎的选择   在1997年,SUN的JAVA媒体开发组试图找到一种方法,以增强声音的处理能力并为将来提供一个坚实的平台。根据JAVA媒体开发组经理Michael Bundschuh所说, "我们想要非常高质量的播放引擎以处理所有的从八位μ-law级直到 CD质量声音的每一件操作。 我们希望轻松跨越所有平台,诸如Solaris平台, Windows, Mac以及其他。我们也想要高度发展了的能够跨越不同平台的MIDI能力。为上述目的,合理的选择是Beatnik的音频引擎(从前是Headspace。)" SUN取得了Beatnik的音频引擎使用许可,把它当作JAVA声音应用程序接口API的基础。   Thomas Dolby Robertson-Beatnik简介   在90年代初之前,Thomas Dolby Robertson的职业完全在音乐方面。他1982推出的"她用科学照亮了我"是一部早期的MTV巨作。整个80年代,他都在不断地作曲和录音,使用一种非结构化音乐制作软件。但是在 1990,通过一次为Guggenheim博物馆演示虚拟现实的合作,他开始思考能否做一些提高音乐制作能力的工作。   "我当时正伏在 C程序员的肩上,并且我突然认识到为做记录做了大量的工作,可是没有为演奏时的交互做任何事情。"有了这样的想法,Robertson在1992年建立了Headspace,雇用月光作曲组来帮助实现他的观点。Headspace于1996年成为公司,现在被称为Beatnik。   JAVA声音音频引擎   JAVA声音引擎为多媒体创建,同时考虑了游戏设计和发布WEB内容。用标准的 MIDI文件、RMF文件、并且/或来自任何源的采样,该引擎将播放音乐或制造音响效果,同时尽可能少用CPU。它提供完全的播放控制,具有混合音响的能力并可实时地回应用户的输入。   JAVA声音引擎是软件 MIDI合成器,采样播放设备,以及16位立体混声器。它支持混合直到64位的立体MIDI声音和音频采样。它直接支持MIDI类型0和类型1文件以及从8位设备到16位乐器的波表合成。该引擎支持所有通用的 MIDI控制器并且包含象回声处理, LFO (控制过滤器或立体声设备)之类的特性,以及ADSR信封 (播放时整形采样)。   即使用上所有的功能,JAVA声音引擎在一个90Mhz的奔腾计算机上也占用不超过30%的CPU时间。它还能通过有选择地禁用不需要的特性,使其变得更加高效一些。另外,它发布了存储在压缩的RMF音乐文件中的丰富的内容。Thomas Dolby Robertson的"她用科学照亮了我",一首7分21秒的歌曲,如存储为CD音质的文件足足占用70M字节空间。如果以RMF格式存储只需大约636 KB,是120:1的减少,同时丝毫不减音质。   JAVA平台声音的简要历史   在JDK 1.0.x及JDK 1.1.x下, AudioClip接口提供下列机能:   l AudioClip接口   播放   循环   停止   恢复和播放声音最简单的方法是通过Applet类的play()方法。调用play()方法有如下二种方式:   play()-带有一个参数,一个 URL对象,装载并演奏储存在 URL处的声音片断。   play()-带有二个参数,基本 URL和文件夹路径名,装载并演奏声音文件。第一参数经常是对getCodeBase()或 getDocumentBase()的调用。   下列代码片断举例说明了直接播放 hello.au的方法。AU文件与小应用程序位于相同文件夹或目录。   play(getCodeBase(), "hello.au");   play()一旦被调用立刻开始恢复和播放声音。如果声音文件不能被查找,将不会有出错信息,仅仅是沉默。   启动和停止声音文件,或循环播放,你必须用 applet的 getAudioClip方法把它装载进入 AudioClip对象,类似上面play()方法的参数,getAudioClip方法要用一个或两个参数,当作播放的指示。 第一个或唯一的一个参数是 URL参数,用来指示声音文件的位置,第二参数是文件夹路径指针。   下列代码行举例说明加载声音文件进入剪贴对象:   AudioClip co = getAudioClip(getCodeBase(), "horns.wav");   getAudioClip()方法仅仅能被applet内调用。随着JAVA2的引入,应用程序也能用Applet类的newAudioClip方法装入声音文件。前一例子可以改写如下以用于Java应用程序:   AudioClip co = newAudioClip("horns.wav");   在你已创建 AudioClip对象之后,你能用该对象调用play()、loop()以及stop()方法。如果 getAudioClip或 newAudioClip方法不能找到指定的声音文件, AudioClip对象的值将是空的。试着播放空对象会导致出错,所以标准的过程首先是对该条件进行检测。   接下来是一个完整的程序设计示例,该程序将产生一个applet,当鼠标在该小应用程序applet范围内按下时会播放 flute hrn mrmba.au音乐样本。此AU示例文件与applet在相同目录或文件夹下的。 import java.applet.*; import java.awt.event.*; public class PlayAudio extends Applet implements MouseListener { AudioClip audio; public void init() { audio = getAudioClip(getDocumentBase(), "flute hrn mrmba.au"); addMouseListener(this); } public void mousePressed(MouseEvent evt) { if (audio != null) audio.play(); } public void mouseEntered (MouseEvent me) { } public void mouseExited (MouseEvent me) { } public void mouseClicked (MouseEvent me) { } public void mouseReleased(MouseEvent me) { } }   注意: 在许多JAVA2技术书籍中,mouseDown()方法确实是JAVA 1.0事件模型的一部分。使用该方法会有一定的危险,因为该方法在将来可能不会被支持。在JAVA2平台下将MouseListener与mousePressed结合使用是优先的选择。 API 1.0-质的飞跃   注意:下列备注是以JAVA API的早期版本0.86为基础的。虽然目前这里讨论的大多数对象和概念与过去保持一致,但由于该API版本已经终止,出现某些改变的可能是存在的。   JAVA声音 1.0 API为JAVA平台定义了一整套的基本的底层音频处理功能。它提供如下接口为: 音频捕获和播放 IDI合成及序列化   这两个主要的功能模块在各自的程序包中提供。   javax.media.sound.sampled-该程序包明确地说明了捕获、混合以及回播数字采样音频的界面。   javax.media.sound.MIDI-该程序包提供MIDI合成、序列化以及事件传送的界面。   JAVA 1.0 API具备如下特性:   数字音频 频捕获-从输入源例如麦克风进行数据捕获。 音和重播-将各种输入源的声音混合并重播。 制与编码-调整增益、定位、回音处理等等,以及进行格式转换。 态及其提示-当重播开始和结束、设备打开或关闭以及其他相关事件发生时接收事件。   对MIDI的支持 MIDI消息-交换消息(打开音符,关闭音符,诸如此类) 合成-从MIDI数据装入乐器并产生声音。 序列化-装入一个MIDI序列,开始和停止播放,以及调整节奏。   工具 件输入输出-读写通用音频文件例如WAV,AIFF及MIDI 置-查询系统来获得组件和设备的信息;安装或取消编码、文件分析器和设备等。   数字化音频   通道   Kara Kytle, JAVA声音 API主管工程师和系统设计师说:"Channel是音频管道中的基本功能部件"。实现Channel界面的类代表着该"管道"的一个元素,例如硬件设备,一个声音合成器,或者是一个单音频流。   InputChannel和 OutputChannel继承了Channel,分别用于读入被捕获的数据和为播放写数据。子界面Clip支持对预装入的音频数据循环播放和重新定位。Device表示任何用于捕获、播放或混和音频的硬件或软件设备。 当一个Channel打开时,它为自己保留了系统资源 ,并且当它结束时,这些资源被释放给其他的应用程序和对象使用。用isOpen()方法可以查询Channel是打开还是关闭的。数据的处理通常由子界面方法比如read()方法来启动,这部分在InputChannel界面说明描述 (请看JAVA声音 API的说明书)。   处理方法使Channel处于负责输入或输出音频数据的状态。用isActive方法可以识别Channel是否处于这种状态。通过调用pause()方法可以使通道处于暂停状态,此状态可以通过isPaused()方法判别。当通道被暂停时,有三种选择:保留数据(缺省),用flush()方法丢弃内部缓冲器中的数据,或用drain()方法使内部缓存中的数据被立即处理。   对象事先可以注册,这样每当通道状态改变时它都可以收到通告信息。该注册对象必须实现Channel.Listener界面,该界面仅包含一个方法update()。当Channel打开、结束、启动、及停止时,该方法都将被调用。当Channel开始或停止活动以及开始或停止捕获数据时,会产生start或stop事件。   输入通道   InputChannel是被捕获的音频数据的源头。该界面提供了方法,可从 InputChannel缓冲器读取被捕获的数据,并判断当前可读的数据量。如果应用程序试图读过多的数据,该读方法阻塞,直到所需读取数据达到为止。   输出通道   OutputChannel接收用于播放的音频数据。这接口提供方法,将要播放的数据写入OutputChannel的缓冲区,并能判断该通道不间断可接收的数据量。如果应用程序试图写过量的数据,该读方法阻塞,直到有足够数据为止。   剪贴   Clip接口表示一个特殊的通道,它可以在播放之前先装入音频数据。由于数据是预装入的,而不是流入的,所以clip可以支持持续查询、循环播放、以及重新定位播放。   设备   Device界面为表示音频设备的类提供方法。音频设备可以是共享的也可是独占的系统资源,它可以是基于硬件的,也可基于软件的,还可是同时基于两者的。它能被重复地打开和关闭,它能时常说明它的内在特性及支持的音频格式。同时,它也提供信息对象来描述设备。   JAVA声音 API进一步描述三种设备子界面:   InputDevice   InputDevice界面提供一个方法getInputChannel来获得一个InputChannel对象,从中捕获可读的音频数据。   OutputDevice   OutputDevice界面提供一个方法getOutputChannel来获得一个OutputChannel对象,音频数据可以写入该输出通道,并予播放。   Mixer   Mixer支持多个InputChannel和/或Clip。 另外,它提供了查询方法,从中可得到它所支持的通道数量,它也提供了支持同步暂停和唤醒多个通道播放的方法。   控件   通道和音频端口 (比如扬声器和麦克风)一般能支持一组控件比如增益和定位。通过将它的类作为参数传给getControl()方法,JAVA声音 API的通道对象和端口对象可以获得一个特别的控件。   编码器   Codecs可以对音频数据编码和解码,允许在不同格式和编码之间转换。JAVA声音 API通过AudioSystem类中的方法为这些转换提供了高级接口。如果给了一个特殊的音频流,应用程序会查询音频系统来找到相应的转换,从而得到指定格式的音频流。   文件和流   音频流是与音频数据格式和数据长度相关的输入流,文件流是与文件类型和数据长度相关的输入流。JAVA声音 API在AudioSystem类中为音频文件和音频流之间的转换提供了接口。   查询和访问安装组件   AudioSystem类充当到采样音频系统资源入口的角色。该类允许程序员查询和访问输入设备、输出设备以及安装好的混音设备。另外,AudioSystem包含许多在不同音频数据格式间转换的方法。它也提供一些方法,使得在不需要对设备直接操作的情况下,直接获得输入通道或输出通道。 系统配置-服务提供者界面(SPI)   对采样音频系统的配置是由javax.media.sound.sampled.spi包来完成的。通过 AudioConfig类的方法,可以在系统中安装或卸载设备,并且可以建立起缺省状态。服务提供者可以希望提供和安装他们自己的编码器和分析器。这个包提供了完成这种功能的机制。   MIDI   javax.media.sound.MIDI程序包描述了 MIDI事件传送、合成、以及序列化的界面。下面介绍该程序包中所用到的主要概念。   传送   基本的MIDI传送界面是 MidiDevice。所有设备为列出其所支持的模式和查询当前模式提供了方法。设备支持监听器,可以监听各种事件如打开和关闭事件,并且有一个信息对象来描述设备状态。   通常,设备是MIDI事件的传送器或接收器之一。传送器界面提供了一些方法来设置和查询接收器,该接收器接收由该传送器发送出的MIDI事件。接收器为接收MIDI事件提供方法。   基本的 MidiEvent对象是通过一个消息说明事件类型、数据长度、以及状态。它也为涉及MIDI计时的设备例如音序器提供准确的计时信号。   合成器   合成器界面是一种生成声音的特殊类型的接收器。它也提供一些方法来管理声音库和乐器。另外,合成器可以支持一组全局的非-MIDI控件例如增益和定位。它也提供对一组MIDI通道的访问,实际上,声音就是通过这些通道产生的。   MidiChannel界面提供一组方法来表达公用的MIDI声音消息例如 noteON, noteOff以及controlChange。还支持对当前通道状态的查询。   序列化   Sequencer界面继承了MidiDevice,它提供了完成基本MIDI序列化操作的方法。音序器可以装载和播放一个序列,查询和设置节奏,并且控制主从同步方式。一个应用程序还可以通过注册使得音序器在处理设备单元和控制器事件时通知自己。   文件和序列化   序列化对象代表一个来自一个或多个磁道的MIDI序列以及相关的计时信息。一个磁道对象包含一系列加上时间标记的MIDI事件。   JAVA声音 API在 MidiSystem类中为在MIDI文件和序列化对象之间转换提供了高级的接口。   查询和访问已经安装了的组件   MidiSystem类充当MIDI音乐系统入口的角色。它提供相关设备的信息并对之进行访问,这些设备包括传送器,接收器,合成器,以及音序器。它也提供了对SoundBank对象的访问。   系统配置-服务提供者接口(SPI)   MIDI系统的配置由javax.media.sound.midi.spi包来完成的。通过MidiConfig类的方法,设备可以安装到系统中或从中卸载,并且可以建立起缺省状态。服务提供者可以希望提供和安装他们自己的文件和声音库分析器。该SPI程序包中包括了完成这种功能的机制。 JAVA声音 API的市场目标   JAVA声音 API为各种各样的应用程序提供了声音支持。下面列举一些可能的应用。   通信框架   通过计算机召开远程会议   在计算机上实现电话功能   内容发布系统   音乐   信息流   媒体传播   交互式应用程序   游戏   WEB站点   产生动态内容   工具集   内容产生   各种工具   在此基础上我们能做什么?   JAVA 2通过 AudioClip界面来访问JAVA声音音频引擎。随着1.0 API的发布,我们所曾经探索的应用领域,就将提供给各地的开发人员使用。   "现在,我们通过在JAVA2平台中加入真实声音的支持,启动了计算机桌面多媒体市场。以后,我们将看见我们的JAVA声音API技术广泛应用于专业人员、普通用户以及国际互连网上的音频应用", Michael Bundschuh说。   电影和录音带公司通过使用JAVA声音 API技术可以获得专业质量音频效果。在JAVA声音引擎中实现支持24位音频和多通道配置将鼓励专业人员开发出高级的声音编辑和播放应用程序。   根据 Kara Kytle所说,对更多的音频数据类型例如MP3的支持已经被提到议事日程。"另一个议程是从外部设备对MIDI数据进行捕获。这将很快实现。"她说。   "JAVA声音 API技术已经可以很好地适用于通过WEB的音频播放。"Bundschuh说。"但是我们总是跟踪最新的技术,并且开发象MP3这样的技术,同时还要保护音乐文件的安全传送。我们计划在JAVA声音 API今后的版本中提供对上述技术的支持"。   随着最近市场的发展,象播放基于WEB音乐上的竞争策略一样,大家都已经把发展数字化声音放在中心的位置。新的媒体技术不断涌现,声音将扮演核心的角色。JAVA声音 1.0 API将适时地加入到新的关键应用程序开发行列中来。
29、Java中字体、颜色与声音处理的深入探索 本文详细介绍了Java中字体、颜色和声音处理的基础知识和应用实例。内容包括创建自定义面板应用程序、字体和颜色的使用要点、音频文件的加载与播放,以及通过MathMan小程序实现声音与图形界面结合的加法运算教学。此外,还讲解了Java存档(JAR)的创建与使用,以优化小程序的加载效率。适合有一定Java基础的开发者学习和实践。 阅读详情

相关推荐

17、Java 图像视觉效果与声音处理

本文详细介绍了使用Java进行图像视觉效果和声音处理的技术。内容涵盖图像像素操作、传送效果与闪烁效果的实现,以及将应用程序打包为JAR文件的方法。在声音处理方面,讨论了多种技术,包括Applet的play()方法、AudioClip类以及功能强大的Java Sound API,并对不同框架进行了比较。通过这些技术,开发者可以实现丰富的图形效果和音频功能,适用于游戏开发、多媒体应用等多个场景。

hill8的博客 72

java sound api_Java Sound API

Java Sound API是javaSE平台提供底层的(low-level)处理声音接口。例外,java也提供了简单的实用的高层媒体接口(higher-level) - JMF(Java Media Framework)。Java Sound API 将需要处理的数字音频分为:simpled-audio和midi,分别提供Package来处理它们:javax.sound.simpledjavax...

weixin_39973271的博客 1092

66、Java 中的图像与声音处理

本文详细介绍了在 Java 中如何处理图像和声音,包括支持的图像格式、使用 ImageIcon 和 Image 类加载和显示图像、图像缩放方法,以及使用 AudioClip 接口播放音频等内容。通过丰富的代码示例和说明,读者可以快速掌握 Java 多媒体处理的基本技能,适用于开发各种图像和音频交互的应用程序。

j7k8l的博客 60

java的声音处理方法

java的声音处理      数字音频格式有非常多种,其质量和采样频率和采样精度两个参数有关。频率的表示单位为赫兹〔hz〕,他表示每秒采样次数。采样频率越高,音质就越好。采样精度为每次采样所存储的数据数量,他决定每个数字信号所能够表示的离散振幅的数量。存储每个样本的数据越多,音质就越好。不过高品质的声音需要占用大量的内存和磁盘空间。考虑到网络带宽,在internet连接上传输就需要花费非常长的时间

望月思灵 2934

66、Java 中图像与声音的使用指南

本博客详细介绍了 Java 中图像和声音的使用方法,涵盖支持的图像和声音格式、ImageIcon 类与 Image 类的使用、声音播放的实现方式,以及常见问题的解决方案。同时提供了图像浏览应用和游戏音效应用的完整代码示例,帮助开发者更好地在 Java 应用程序中处理图像与声音。

9o8p7i6u5y的博客 131

20、Java 声音处理:加载与播放

本文详细介绍了Java中声音处理的基本原理和实现方式,包括音频资源的获取、加载与播放功能的具体实现。通过LoadersTests应用程序演示了使用ClipsLoader和MidisLoader类管理音频片段和MIDI序列的过程,并探讨了相关的优化建议、常见问题及扩展功能的实现思路。适合希望在Java应用中集成音频交互的开发者参考。

hill8的博客 58

java 发声_JAVA如何让扬声器发出声音啊?

如题。|----Java作为一种网络编程语言,在浏览器中即可以进行动画演示,也可以播放声音。在人机的交互过程中,为了加强效果或起到提示的作用,需要加入声音。----Java的包java.applet中有AudioClip接口,此接口封装有关声音片断的一些常用方法。用法如下:AudioClipaudio;audio=getAudioClip(getCodeBase(),"Hi.au");audio...

weixin_29781865的博客 1535

基于YOLOv8的多类别检测模型融合实战:从数据集重构到模型训练

本文详细介绍了如何将多个单一类别的YOLOv8检测模型融合为一个高效的多类别检测模型。通过重构数据集、利用预训练模型生成新标签,并重新训练,解决了多模型并行带来的速度慢、资源占用高和部署复杂等问题。实战流程涵盖数据准备、标签生成、模型训练与评估,旨在帮助开发者构建性能优异的YOLOv8多类别检测模型。

kmeans3miner的博客 229

Java Sound API 学习笔记

 Java Sound API是javaSE平台提供底层的(low-level)处理声音接口。 例外,java也提供了简单的实用的高层媒体接口(higher-level) - JMF(Java Media Framework)。 Java Sound API 将需要处理的数字音频分为:simpled-audio和midi,分别提供Package来处理它们: java

忘一 Blog 1万+

【JESD79-5之】8 AC & DC 输入测量标准(AC & DC Input Measurement Levels)

时钟被驱动到DRAM,可以通过L/RDIMM模块的RCD来实现,也可以通过U/SODIMM模块的主机来实现(图184)。接收机DQS(脉冲)输入电压灵敏度测试提供了在没有码间干扰(ISI),抖动(Rj, Dj, DCD)和串扰噪声的情况下测试接收机对不同输入电压的灵敏度的方法。接收机数据输入电压灵敏度测试提供了在没有符号间干扰(ISI),抖动(Rj, Dj, DCD)和串扰噪声的情况下测试接收机对不同输入电压的灵敏度的方法。

m0_61126667的博客 1707

GradNorm:Gradient Normalization for Adaptive Loss Balancing in Deep Multitask Networks,梯度归一化

文章目录引言gradnorm   gradnorm论文地址:https://arxiv.org/abs/1711.02257   gradnorm是一种优化方法,在多任务学习(Multi-Task Learning)中,解决 1. 不同任务loss梯度的量级(magnitude)不同,造成有的task在梯度反向传播中占主导地位,模型过分学习该任务而忽视其它任务;2. 不同任务收敛速度不一致;这两个...

Leon_winter的博客 2万+

JAVA的声音处理

JAVA的声音处理 数字音频格式有很多种,其质量与采样频率和采样精度两个参数有关。频率的表 示单位为赫兹〔Hz〕,它表示每秒采样次数。采样频率越高,音质就越好。采样 精度为每次采样所存储的数据数量,它决定每个数字信号所能够表示的离散振幅 的数量。存储每个样本的数据越多,音质就越好。但是高品质的声音需要占用大 量的内存和磁盘空间。考虑到网络带宽,在Internet连接上传输就需要花费很长 的时间。对

Eric.Jonah! 2981

识别产品外观的合格软件_工业视觉工业质检视觉识别机器视觉视觉检测智能制造工业检测缺陷...

随着工业物联网技术的迅猛发展,掀起了以云计算、大数据、以及人工智能 AI 等信息技术正与传统工业深入融合,由此衍生的 “智能制造4.0” 理念,正在为全球工业带来深远变革。中国的制造业巨头也纷纷借此发力,向智能化、数字化制造演进,实施战略转型。如何高效科学的管理和分析制造业务链上的生产价值,推进制造企业生产工艺优化与产品质量提升是每一个制造企业在数字化、智能化转型过程中的必经之路。业务发展带来的挑...

weixin_42502419的博客 754

JAVA的声音处理方法

JAVA的声音处理方法 (转自伊氏女人)<!--google_ad_client = "pub-1294368471619564";google_ad_width = 250;google_ad_height = 250;google_ad_format = "250x250_as";google_ad_type = "text";google_ad_channel =

来老师的专栏 2746

手把手教你用STM32CubeMX和HAL库驱动MT6835磁编码器(SPI读取21位角度)

本文详细介绍了如何使用STM32CubeMX和HAL库驱动MT6835磁编码器,通过SPI接口读取21位高精度角度数据。从硬件准备、CubeMX配置到HAL库驱动实现与优化,提供了完整的实战指南,帮助开发者快速掌握磁编码器的应用技巧,适用于机器人关节和精密仪器等高精度场景。

weixin_28716769的博客 439

24、流化催化裂化的分子建模

本文探讨了流化催化裂化(FCC)的分子建模方法,重点分析了如何通过机理建模和模型修剪策略(如反应规则和随机规则)来减少计算复杂度,同时保持化学意义。文章还介绍了定量结构反应性关联(QSRC)在动力学参数确定中的应用,以及结焦对催化剂活性的影响。通过这些方法,FCC反应模型能够在预测产物分布的同时,显著提高计算效率。

s8t9u0v1w的博客 142

JAVA声音技术

声音可以创造意境,触发遐想,当与虚拟图像相结合时,更加可以让整个世界充满幻觉。声音是多媒体技术的基础。这就是Sun公司的JAVA媒体技术开发小组忙于准备Java Sound 1.0 API并将其包含于下一版本的JAVA开发工具库中的原因。    在JAVA2平台出现之前,JAVA语言只能处理电话音质的声音,以单声道8KHZ的采样频率存储为μ-law AU文件。JAVA2平台增加了对AIFF,WAV

于洋的个人Blog 3441

基于Abaqus的横向各向同性线弹性理想塑性材料模型的umat子程序实现——以Fortran为例,带您揭秘弹性塑性模型编程之道

通过以上步骤,我们已经在Abaqus中使用Fortran实现了横向各向同性线弹性理想塑性材料模型的umat子程序。在实际应用中,我们需要根据具体的材料特性和加载条件来调整模型参数和计算过程。尽管我在这篇文章中尽力提供了详细的教程,但由于我自身的知识限制和经验不足,可能会有误解或错误。我希望大家在学习过程中能多思考,多实践,多交流,以更好地理解和掌握这个主题。

qq_38334677的博客 1691

java swing 播放声音

一 在Applet中播放声音 播放声音是java对多媒体的支持一个重要部分. 现今流行的声音格式有wav,mid,au为扩展名的声音文件。 而java现主要支持以au为名的声音。 在Applet中专门提供了类AudioClip来对声音的支持。 由于Applet的多媒体功能书上都有很清晰的介绍也很简单。 我们就以一个例子来结束这部分的说明。 1 import java.applet....

dengtiaolu0407的博客 738

【YOLOv8改进-注意力机制】BRA(bi-level routing attention ):双层路由注意力

【YOLOv8改进-注意力机制】BRA(bi-level routing attention ):双层路由注意力我们提出了一种新颖的动态稀疏注意力机制,通过双层路由实现更加灵活且具有内容感知的计算分配。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 3173

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

java加声音_java中怎么加入声音

先说一下在 applet 中播放声音文件的一般步骤:创建一个 AudioClip 对象装入 .au 或者wav的声音文件(或者后面所说的支持的类型)到 AudioClip 对象下面是相应的代码:import java.applet.*;AudioClip ac = getAudioClip(getCodeBase(), soundFile);ac.play(); //一次播放ac.stop(); ...

weixin_30229705的博客 1662

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: 用Socket类实现HTTP协议客户端应用
下一篇: 从网络数据库中下载数据,备份到文本文件中
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值